[Date Prev][Date Next][Thread Prev][Thread Next][Author Index][Date Index][Thread Index]

"Version" Aversion



In writing about "documents" I've come across an annoying realization: 
people use the terms "version" and "document" to mean many different 
things. I know that you're all saying "gee, bob, you're only 
now realizing this??" Well, I've known about it for some time, 
I just hadn't realized what a bitch it would be to
try and write intelligent, consistent prose on the subject while 
trying to live with the ambiguities.

For example, imagine the document "Xanadu Glossary". We all know 
of this "document" as a discrete work that mostly helps people 
outside of Xanadu understand our language. Suppose that marcs 
and bobp each have copies of the file on their individual computers.

Most people would agree that "Xanadu Glossary" is the name of 
"a document" whose identity is the conceptual work embodied in 
the 2 individual copies owned by marcs and bobp. But most people 
would also agree that the 2 copies are each separate documents, 
and might even refer to them as "2 versions of the same document".

Now suppose that marcs and bobp each start editing their copies 
and wind up saving several new representations of their work 
in progress. Again, most people would refer to each successive 
state during their respective editing as "different versions 
of the same document" (and if they saved each of these successive 
"versions", each such saved file would be called a separate "document"). 
And so on...arrrrggghhh.

Unfortunately, our technology focuses new spotlights on the problem 
and will undoubtedly cause our markets some degree of confusion 
as well. Because of this I believe that Xanadu should lead the 
way in resolving the ambiguities, if possible.

There are at least two different notions being confused here. 
First, there's the distinction between horizontal versioning 
(the 2 copies held by marcs and bobp) and vertical versioning 
(represented by the successive states visited by marcs and bobp 
in their respective work). Second, there's the distinction between 
global document identity (i.e., the conceptual "Xanadu Glossary") 
and local document identity (e.g., bobp's "version" of "Xanadu 
Glossary").

I've adopted the convention of using "global identity" to refer 
to the conceptual work and "local identity" to refer to the identity 
of a specific instance (the Bert).

It might make sense to propose new terminology for horizontal 
versioning. For example, one might refer to different "prongs" 
(to use a "forking" metaphor) or, if you prefer to think in terms 
of trees, different "branches". Successive vertical states within 
a prong/branch can probably continue to be thought of as different 
"versions" (at least, that's the way I think of them).

I know that there are version control systems (e.g., PVCS) that 
use the term "branch" to refer to horizontal versioning. Are 
there standards I should consult that I'm just unaware of, or 
are the remaining ambiguities as bad as I think they are? Comments?

-- bobp