RFC 3613
Definition of a Uniform Resource Name (URN) Namespace for the Middleware Architecture Committee for Education (MACE)
1. Introduction and Community Considerations β¨
The Internet2 Middleware Architecture Committee for Education (MACE) makes SO many kinds of documents: specifications, working drafts, object classes, schemas, stylesheets, etc. π They also define directory attributes and controlled vocabularies for the values of some of those attributes.
MACE wants global, distributed, persistent, location-independent names for all of this stuff π and the Uniform Resource Name (URN) flavour of URIs checks every one of those boxes.
MACE working groups and other MACE-affiliated groups get to benefit from the MACE URN namespace too. They get an easy, efficient way to assign globally unique, persistent identifiers to the things they make π The nature of MACE work is that it serves one or more communities of interest. A namespace managed so it's easy to create, register and resolve unique, persistent identifiers would be a huge win for MACE, its affiliates, and the higher education community generally π
This URN namespace specification is for a formal namespace. Very official, very serious, very iconic π
2. Specification Template π¦
Namespace ID:
"mace"
Registration Information:
Registration Version Number 1
Registration Date: 2003-08-01
Registrant of the namespace:
Middleware Architecture Committee for Education (MACE)
ATTN: Lisa Hogeboom
Internet2
3025 Boardwalk Suite 200
Ann Arbor, MI 48108
Phone: +1 734 913 4250
Contact: Keith Hazelton
Affiliation: Univ. of Wisconsin-Madison
1210 W. Dayton St.
Madison, WI 53706
Phone: +1 608 262 0771
hazelton@doit.wisc.edu
Syntactic structure:
Okay so the Namespace Specific Strings (NSS) of all URNs assigned by MACE have to conform to the syntax in section 2.2 of RFC 2141, "URN Syntax" [1]. On top of that, every MACE URN NSS is a left-to-right series of tokens separated by colons π§ That sequence lines up with descending nodes in a tree. To the right of the lowest naming authority node there can be zero, one or more levels of hierarchical naming nodes, ending in a rightmost leaf node. Check the section called "Identifier assignment" below for more on what NSSs actually mean. This syntax convention is captured in the following normative ABNF rules for MACE NSSs (see RFC 2234) [2]:
MACE-NSS = 1*(subStChar) 0*(":" 1*(subStChar))
subStChar = trans / "%" HEXDIG HEXDIG
trans = ALPHA / DIGIT / other / reserved
other = "(" / ")" / "+" / "," / "-" / "." /
"=" / "@" / ";" / "$" /
"_" / "!" / "*" / "'"
reserved = "%" / "/" / "?" / "#"
The colon is left OUT of the "other" list on purpose, so it can only show up as a delimiter between string tokens. This ABNF rule set guarantees that any valid MACE NSS is also a valid RFC 2141 NSS π«Ά
Relevant ancillary documentation:
None. π
Identifier uniqueness:
It is the responsibility of MACE directors to guarantee uniqueness of the names of immediately subordinate naming authorities. Each lower-level naming authority then inherits the responsibility of guaranteeing uniqueness of names in its branch of the naming tree πΈ
Identifier persistence:
MACE directors bear ultimate responsibility for keeping MACE URNs usable over time π That responsibility can be delegated to subordinate naming authorities, per the discussion in the section below on identifier assignment. That section also has a mechanism for revoking the delegation if a subordinate naming authority stops functioning.
Identifier assignment:
MACE directors will create an initial series of immediately subordinate naming authorities, and will define a process for adding to that list π Each top-level working group of MACE gets invited to designate a naming authority and suggest one or more candidate names for it. For example, the MACE-Shibboleth group might propose a naming authority under "urn:mace:shib," "urn:mace:shibboleth" or some other name.
Institutions and communities affiliated with MACE can request, through their designated MACE liaison, that they be granted MACE-subordinate naming authority status. They can propose candidate names too. One way for them to guarantee uniqueness of a proposed name is to base it on a DNS name. For instance, if Georgetown University wanted to be a subordinate naming authority under MACE, the institutional MACE liaison could propose to MACE directors that they get control over names beginning with "urn:mace:georgetown.edu" π Institutions seeking affiliation with MACE should email mace-submit@internet2.edu, nominating an institutional liaison and providing contact info for that person.
On at least an annual basis, MACE directors will contact the liaisons or directors of each immediately subordinate naming authority. If there's no response, or if the respondent says they want to give up naming authority, the authority over that branch of the tree goes back to MACE. This process gets enforced recursively by each naming authority on its subordinates. The process guarantees that responsibility for each branch of the tree lapses for less than one year at worst before a superior authority reclaims it. Honestly iconic, the accountability is real β³
Lexical equivalence of two MACE namespace specific strings (NSSs) is defined below as an exact, case-sensitive string match. MACE will assign names of immediately subordinate naming authorities case-insensitively, so there won't be two MACE-subordinate naming authorities whose names differ only in case π
Identifier resolution:
MACE directors will maintain an index of all MACE and MACE workgroup assigned URNs at the website http://middleware.internet2.edu/urn-mace/urn-mace.html. That index maps URNs to resource identifiers or resource specifications (e.g., protocol parameters). MACE-affiliated naming authorities will specify how to resolve the URNs they assign, if those URNs are resolvable π₯
Lexical equivalence:
Lexical equivalence of two MACE namespace specific strings (NSSs) is defined as an exact, case-sensitive string match. Same energy as before, just restated, periodt β¨
Conformance with URN syntax:
All MACE NSSs fully conform to RFC 2141 syntax rules for NSSs. π
Validation mechanism:
As specified in the "Identifier resolution" section above, MACE directors will maintain an index of all MACE and MACE workgroup assigned URNs on its website, http://middleware.internet2.edu/urn-mace/urn-mace.html. Being in that index implies that a given URN is valid. MACE-affiliated naming authorities will specify how to validate the URNs they assign π§
Scope:
Global. π
Part 1 of 2 is done bestie π Part 2 brings the security considerations, namespace considerations, IANA stuff, references and author info, so stay tuned π
8. Full Copyright Statement π
Okay so the legal bit, but make it cute π Copyright (C) The Internet Society (2003). All Rights Reserved. πΈ
So basically, this document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. β¨ Lowkey generous, right? π«Ά
BUT, and this is a big but π, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English. π§ So you can't edit the original and pretend it's yours, bestie. Not meβ¦ π
The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assignees. π Forever and ever, no cap. π
This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. π¦ Translation: they're not promising it's perfect, it's giving "use at your own risk" energy π
Acknowledgement π
Funding for the RFC Editor function is currently provided by the Internet Society. π The people who keep the RFC Editor running get a shoutout, iykyk. β
π¦ where this page comes from
- ietf: rfc3613 2003-11
- π girlified by claude-haiku-5-5 on : a language model's rewrite of the original, under its terms