[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [xdi] CHANGE REQUEST: Uncomfortable with _ for relative, why not the tilde ~?
I’m in favor of this. ~ has traditionally been used in Unix for relative paths, so it seems natural.Now, praying this doesn’t bounce….On Aug 19, 2015, at 12:23 AM, =Drummond Reed <email@example.com> wrote:Christopher, thanks for this very well argued change request. Since you've joined the TC and boosted our attention to relative names, I've become even more passionate about them. I agree that they will likely play a very important role in XDI identifier architecture.Also, Markus pointed out to me that if we assign tilde as the relativity symbol, then we can reserve tilde for that purpose alone, just like we have reserved ! to be the immutability symbol. That would free up underscore to be used (along with dot and dash) within XDI name strings without confusion with it being an XDI syntax symbol.So I am in favor of this making this change. I also second Christopher's point that, since the relativity symbol is a core piece of the XDI Addressing section of XDI Core that I will be drafting next week, I'd very much like to see if we can reach consensus on this decision no later than next Monday's call.So please do weigh in on this thread with your views.On Tue, Aug 18, 2015 at 10:59 PM, Christopher Allen <firstname.lastname@example.org> wrote:Before I joined the TC this summer, a decision was made to use the underscore symbol for relative names in XDI. From the wiki https://wiki.oasis-open.org/xdi/NamespaceArchitecture :
Relative XDI Identifier
A relative XDI identifier identifies an XDI resource only relative to the context in which it appears. A relative identifier MUST NOT be used as a top-level XDI context.
For example, the XDI identifier =_foo MUST NOT be assumed to identify the same person in any of the following contexts (it may identify the same person, but that inference cannot be made from the following identifier sequences alone):+bar.company=_foo+baz-club=_foo+bar.company#employee=_foo+bar.company#treasurer=_fooI am uncomfortable with using underscores for relative names for a number of reasons:A. UNDERSCORES SHOULD NOT BE USED FOR FUNCTIONALITYI do not believe that the underscore symbol is appropriate for functional use. The underline and hyphen are used extensively by most ever system (URI, usernames, etc.) as part of name space, not functional space like the @ typical is. Underlines are regularly used in names for readability, for differentiation, etc.An argument has been made that it is only the first underline that is significant, i.e. in =_foo_bar it is only the =_ that is functional, but this would be the only character of the set =#$*@+ that are legal INSIDE of name, for instance =_foo*bar is not legal name.FYI, you can use underscores in domain names http://networkadminkb.com/KB/a156/windows-2003-dns-and-the-underscore.aspx and there are a number of reasonably common host names that begin with _, most typically for services, i.e. _jabber.company.com.B. IMPORTANCE OF RELATIVE NAMESI believe that when we move to a possible decentralized rootless future, relative names will be much more important then they were originally thought. I envision a cryptographic XDI future where relative names may be the norm for nyms.For instance when Drummond introduces me to the group, I am =Drummond=_ChristopherA as "ChristopherA" is the nym he knows me by. If I introduce my writing partner Shannon Appelcline, he might be =Drummond=_ChristopherA=_Shannon. If you decide to have establish a trust relationship directly with Shannon, but you already have a Shannon in your relative name space, Shannon could become "=_me=_Shannon_Appelcline".As you can see from the examples above, the _underlines are confusing. Is Shannon's nym "_Shannon_Appelcline" or "Shannon_Appelcline"?I don't believe that these uses were under consideration when the original character set for relative names was defined.C. USING TILDE FOR RELATIVE NAMESI would like to suggest using tilde ~ for relative names, and I am curious why it was not considered before.In math, the ~ means "approximately" or "equivalent to".Also in math, "x ~ y" means "x is equivalent to y", but is a weaker statement than stating that "x equals y."I am approximately =~ChristopherA which is equivalent to, but not the same as who I am. That is semantically close to what I feel a relative name means.The tilde is already used as a nym marker on the web in many places. In a unix based systems, and many unix based http servers, tilde denotes a personal folder or website, for instance http://www.example.com/~johndoe/Note that you can't reserve a domain name with a tilde in it, but you can reserve a domain name with an underscore.In the above example, the longer relative name is still quite easy to read:=Drummond=~ChristopherA=~Shannon_AppelclineIt is easy to see that =Drummond is a unique fixed identity, whereas =~ChristopherA and =~Shannon_Appelcline are only approximately equal to an identity — they both rely on =Drummond.REVIEW?I have shared this request with Drummond and Markus, and they don't know of any other reasons why we can't change from underline to tilde.As Drummond is working on the docs next week, is this a reasonable change request to the spec?Any reasonable objections or concerns?-- Christopher Allen