Open vs closed source software: The quest for balance (Voxeu.org)
Open vs closed source software: The quest for balance (Voxeu.org)
Posted Nov 2, 2010 17:59 UTC (Tue) by mti (subscriber, #5390)In reply to: Open vs closed source software: The quest for balance (Voxeu.org) by njs
Parent article: Open vs closed source software: The quest for balance (Voxeu.org)
Therefore I think it is fair to say that all open source DVCS are copies of BitKeeper. Or rather the idea of "lets write a DVCS" was inspired by the fact that BitKeeper already existed and was well known.
Would monotone or Arch have been implemented if BitKeeper hadn't existed? (It is an honest question. If the answer is "yes" my argument falls.)
Btw, was content-addressed snapshots + chained hashing a monotone invention or had it been used before in the context of [D]VCS.
I absolutely agree with your last paragraph.
Posted Nov 2, 2010 19:34 UTC (Tue)
by Trelane (subscriber, #56877)
[Link]
Posted Nov 3, 2010 0:51 UTC (Wed)
by njs (subscriber, #40338)
[Link] (1 responses)
Not to be contrary, but I'm not sure this is an "idea" in any meaningful sense. Whether or not a VCS system happens to be distributed (i.e., support some kind of disconnected operation) is much less important than its history representation, merge algorithms, branch tracking, storage mechanisms, UI, etc. And depending on what choices are made for these, the word "distributed" ends up meaning very different things.
BK is distributed because they make copies to do branching, and because the traditional kernel development model is distributed. Monotone was distributed because it was designed with integrity as a core goal and lots of copies keep stuff safe. (Note that in Monotone, branches themselves are distributed, while in the BK/git/hg/etc. approach each branch exists in only one place.) Codeville tried to copy the basic SVN workflow, while also supporting a disconnected commit mode. I'm not sure why Arch was distributed; maybe because Tom Lord places a high value on a system's ability to survive the collapse of civilization? I think it's mainly an accident of history (and the fact that the word "distributed" is very sexy to geeks!) that it became the generic tag for all modern VCS systems. It's like saying that Unix isn't innovative because there existed previous OS's that had things called "filesystems" in them.
I can't say what exactly was going through Graydon Hoare or David Roundy or Tom Lord's mind when they started sketching out system designs, though! I suppose you could ask them if you're curious.
> Btw, was content-addressed snapshots + chained hashing a monotone invention or had it been used before in the context of [D]VCS.
It was a monotone invention, but I'm not sure whether monotone was the *first* place it was invented :-). Codeville used a similar system (instead of hashing the snapshot + the history pointer, they hashed the *delta* + the history pointer, which is a bad idea because it bakes your delta algorithm into your history representation, but otherwise has similar properties). OpenCM may have had something isomorphic too, I'm not sure. (Unfortunately, while OpenCM was FOSS, it was developed as an academic project and never really influenced anyone else much, AFAIK.)
Posted Nov 3, 2010 7:37 UTC (Wed)
by mti (subscriber, #5390)
[Link]
Maybe my other examples are bad to;-)
Open vs closed source software: The quest for balance (Voxeu.org)
Would monotone or Arch have been implemented if BitKeeper hadn't existed?
The original author and maintainer of GNU arch was Thomas Lord who started the project in 2001.
The decision made in 2002 to use BitKeeper for Linux kernel development was a controversial one.
Open vs closed source software: The quest for balance (Voxeu.org)
Open vs closed source software: The quest for balance (Voxeu.org)
