Michael G Schwern writes:

> David E. Wheeler wrote:
> 
> > On Apr 18, 2008, at 10:50, chromatic wrote:
> >
> > > My argument was complex: solve the real problem or don't solve it.
> > > The in between position is silly and won't make anyone happy.
> >
> > Yes. The choices, as I see them, are:
> >
> > 1. Do we start out conservative, and loosen things up as the cow
> > paths  indicate (Ovid's position)?

An example of this would be saying:

  We promise that all future 'official' keys will start with a
  lower-case letter.  It is prohibited for you to start an in-house key
  you create with a lower-case letter.

> > 2. Do we start out liberal, allowing anything, and formalize
> > whatever  turns up in the cow paths (what I'm now suggesting)?

An example of this could be saying:

  All current 'official' keys are lower-case (and start with a letter)
  and we expect future ones will be as well.  If you choose to create an
  in-house key which starts with a lower-case letter then you risk a
  clash in future should we happen to introduce a key with that name.

In practice, what's the difference between those two?

The first is apparently stricter, but the prohibition can't actually be
inforced: if a user chooses to ignore it then we can't send him to
prison or anything; it's just that there's a (small) chance of his
system later failing.

Similarly if the future Tap maintainers bizarrely do create a key named
in some other way, whether they are breaking a promise or a mere
expectation doesn't make any difference: it isn't like users can sue
over a broken promise.

So since choice 1 can't be enforced, it seems to behave exactly like
choice 2 anyway.

> The prefixing solution sucks, but it's all we have... and that's a bad
> place to be.  Rather than arguing about a sucky solution, does anyone
> have another solution to offer?

In practice users can name keys however they want.  Namespace clashes
will be a bigger issue for some users than others.  Issue advice on how
to mitigate the problem and let users choose whether to follow it:

  It's possible that a key you pick will also be used by somebody else
  for a different purpose, which could cause problems if your systems
  later get used together.  You can reduce the risk of name clashes by
  starting all your keys with a standard prefix or your organization or
  project name (or something else likely to be unique).

Smylers

Reply via email to