[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Gnu-arch-users] tla tag
Re: [Gnu-arch-users] tla tag
Fri, 17 Sep 2004 09:02:04 -0700 (PDT)
> From: Zenaan Harkness <address@hidden>
> --seal create a version-0 revision
> --fix create a versionfix revision
> These don't mean a lot to me. Is there any doco on this yet? Is
> it just a labelling/convention thing, or functionally
> Seems suspiciously similar to the "base-0" patch thing.
The naming phases are arbitrary but not accidental, like pretty much
all of the structure of the arch namespace.
I arrived at the namespace by looking at the development practices of
a number popular free software projects and then designing a namespace
in which one could organize development in isomorphic ways (though not
necessarily with trivial mappings from the ad hoc namespaces those
projects use to the mappings in arch).
Every normally-published book in the U.S., just inside the end papers,
has some cryptic text that looks like this example:
Library of Congress Cataloging-in-Publication Data
Burroughs, William S.
The place of dead roads.
PS3552.U75P54 1983 813'.54 83-8498
That asserts (an authoratative) "coordinate" for the book in a global
namespace of books maintained by the Library of Congress (a federal
institution in the US).
As with all cataloging systems, the Library of Congress (aka "LC")
system is arbitrary and inherently, unavoidably political. It groups
books into "categories" of various sorts. It defines and limits the
kinds of distinctions that are possible between editions of books. In
some libraries, these decisions determine where the book goes on a
shelf or in a database -- hence, how likely someone who is browsing
generally or looking for this specific title is likely to find the
book. The categories essentially refer to an implicit "metaphysics"
of "which categories make the most sense".
Yet in spite of all the ultimately unresolvable political questions
about the cataloging system, it's incredibly useful. Without it, or
a few other systems roughly like it, every library would have its own
system. It would be much harder to find _anything_.
Arch's namespace is an interesting anarchic alternative intended to
solve roughly the same problem as the LC system, but at the same time,
to avoid some of the problems.
Arch's namespace has an abstract structure, for example, patch-1 is
followed by either patch-2 or version-0. Another example: it's easy
to ask for all the version names in an archive that differ from
"tla--devo--1.3" only in the middle ("branch") component. That kind
Arch's namespace _lacks_ (deliberately) a "semantics" for (most of)
that structure. For example, there is no official explanation for the
relationship (if any) between "tla--devo--1.3" and "tla--stable--1.3".
Additionally, arch's namespace _has_ an infinite capacity to interact
with self imposed authorities who _do_ impose a semantics. For
example: *I* can assert some definate meaning to the difference
between "--devo--" and "--stable--". If you agree with me, then you
can register and use my archives. If you don't, you can ignore my
In terms of the LC analogy: The LC is the sole authority for the
semantics of the LC namespace. The LC namespace _also_ has an
abstract structure (e.g., call numbers are well ordered) -- but it is
a single political entity which actually assigns those numbers.
With arch, I reasoned that the internet already has an Internet
Assigned Names and Numbers Authority and doesn't need another one.
And so the arch namespace is (roughly speaking) divided up into
territories, where the ownership of the territories is (roughly
speaking, it's easy to hack around in a pinch) the province of IANA.
IANA doesn't give a crap about revision control and that's good. The
two games (territory possession and revision control namespace
definition) are nearly independent, yet it behooves all good citizen
arch players to keep the two cleanly and simply consistent.
To the extent that groups of arch users can get along: they get all
the benefits of an LC-like system, but do not have to bow to a central
authority for the political question of assigning semantics to the