11 Years After Git, BitKeeper Is Open-Sourced (phoronix.com)
An anonymous reader writes: Eleven years after Linus Torvalds developed Git after a falling out with BitKeeper for managing the Linux kernel source code, BitMover Inc has finally decided to open-source the BitKeeper VCS. The latest BitKeeper release has made the code open-source under the terms of the Apache 2.0 license. The community edition code is available from BitKeeper.org. Does BitKeeper now stand a chance against free software systems like Git and SVN?To offer some context, Larry McVoy, the CEO of BitMover -- the company that makes BitKeeper -- offered free BitKeeper licenses to various open source projects -- Linux kernel utilized it as well. However, later, Australian computer programmer Andrew Tridgell reverse engineered BitKeeper protocol in an attempt to make his own client. Torvalds didn't like this practice, and accused Tridgell of "playing dirty tricks with his proprietary source code tool of choice," and as a result, he wrote Git.
If BitKeeper had done that in the first place they'd still be relevant, possibly even the market leader.
Do they stand a chance now? Not without some killer new features that can't trivially be copied and pasted into Git.
Andrew did not reverse-engineer the Bitkeeper transfer protocol. What Andrew did was to telnet to the Bitkeeper's server port, and type "HELP". Bitkeeper then obligingly told Andrew what its commands were, in the exact style used by all early TCP daemons like FTP, SMTP, etc.
The problem was that Larry and Linus were good friends, and Larry had convinced Linus to use Bitkeeper even though Bitkeeper was under something less than an Open Source license. Larry had this odd license requirement that if you wanted to use Bitkeeper for free, you had to tolerate it making its logs public, and at some time added a requirement that you not use it to develop competing software. Larry promoted these requirements as a means to make money with Open Source, but his license wasn't really compliant with the Open Source Definition.
Larry also got really nonlinear and pissed off a lot of the kernel developers. Which was probably the fatal step. Linus got tired of trying to hold two things together that did not want to stay together, and wrote git. This eventually destroyed Larry's company.
It remains a lesson regarding how not to work with the community.
Bruce Perens.
11 years too late.
Anons need not reply. Questions end with a question mark.
Torvalds claims, somewhat exaggeratedly, that he did write the core of git in two weeks, and, for any software developer, it's easy to see that git is a far more valuable tool to developers than any of its predecessors. After initial issues with bad command-line tools and crappy mswin compatibility, I think there are few reasons to complain about git nowadays.
It's a perfect *NIX source control system, doing one thing and doing it well.
To those who don't mind Linus's typical arrogance and want to see his side of the whole story, I recommend the following talk he gave at Google: https://m.youtube.com/watch?v=...
"I decided I could write something better than everything out there in two weeks. And I was right." - Linus Torvalds
Yup. Now I get it. You meant Torvalds had to find out the hard way wasting his time using a closed source solution for the kernel source in the first place.
You can tell how powerful someone is by the magnitude of the crime they can commit and be able to get away with.
The infrastructure around Git is just too large and has too many large adopters. And it's not like there aren't open source alternatives (Mercurial) that people would shift in the unlikely case that Git imploded. Also, I doubt any remember, but SourceGear tried to make it's own open source DVCS (darcs) that is still going on too.
But, you never can tell who will be at the top of the hill. I remember when ClearCase was considered to be the top notch VCS, and it did have some very nice features in the day. But, things change.
The only game changer I can see is tools that know what it is tracking has structure beyond files. For example, it'd be nice to track changes to the level of a block in a function in a class in a project, not just file changes. And tools that allow for queries on that structure (show me every class method you can find with more than six parameters on it, for example). But, code repositories are hard to do in the general case.
I remember when ClearCase was considered to be the top notch VCS, and it did have some very nice features in the day.
It was a top-notch VCS. It would still be a top-notch VCS (in an environment where you have continuous access to the repository).
In particular, the ability to construct "views" of the code base with a simple language, specifying, in a few lines, what versions of things you wanted, was invaluable for diverge-converge development in an environment that had to maintain several production threads concurrently.
But at $three grand per seat it was not suitable for hobbyist development and was a hard sell to startups and PHBs everywhere.
Sorry, guys. Loved the product. Couldn't use it outside a couple big houses - that were dinosaurs in other ways and went belly up on schedule.
Bantam Dominique roosters crow a four-note song. Once you've heard it as "Happy BIRTHday" you can't NOT hear it that way
Since this is Larry McVoy I wouldn't be surprised if it is true. A different story, but related:
http://article.gmane.org/gmane.comp.version-control.mercurial.devel/3481
I have seen and accepted many non-free licenses over the years and I'm fine with most of of them. But Larry McVoy and BitKeeper stepped over the line. I will never under any circumstance defend him or his work, his actions have been downright harmful to creation of free software at a lever which is simply unacceptable.
I remember this saga pretty well. McVoy was pissed that Tridgell wrote an interoperability tool, so he pulled the license for all open source use including the Linux Kernel. This is the type of thing that RMS often warns us about. Don't use closed-source software to build open-source software. And don't use closed-source software in mission-critical applications. I don't think you can get a better example than this.
The O'Reilly book, Version Control with Git, for me provided the "ah-ha!" explanation of git's internals that made things made sense.
Those who advocate genocide deserve every protection afforded by law, and none afforded by common human decency.
Like he said, it's the perfect *NIX source control system...
Those who advocate genocide deserve every protection afforded by law, and none afforded by common human decency.
People were upset it was not OSS and it got replaced mostly because that was preventing people from contributing to Linux and making the management processes harder.
Not even. According to several of Linus' keynote/speeches (to lazy to google them, but it should be trivial to look for them on Youtube), bitkeeper was maybe available for free for Linux kernel development, but the license came with a clause forbidding reverse engineering/rewriting a clone of bitkeeper.
Nonetheless, several hacker started building their own tools interacting with the various bitkeeper databases.
Apparently at that point, Linus decided it would be better to drop bitkeeper before it becomes too hairy.
In fact nobody was angry at anyone.
Implementing GIT was simpler for Linus than sorting the mess about reverse engineering/reimplementations (as he's always explained, he's a filesystem guy, and GIT is fundamentally a content-adressable filesystem - with a VCS interface slapped on top of it. For a brillant hacker like Linus, creating GIT *WAS* simpler than to try herding the "legal-problem" cats).
BK would be today's Git, pretty clearly if it had been open sourced at the time. What isn't clear is if it could have been monetized effectively.
Maybe an opensource bitkeeper would have been today's git, but without the company also being today's github, it would have been difficult for them to monetize it. And back then, it would have been difficult to convince people that a "source repository combined with a *social* hub for coding geeks" would become a thing.
"Sufficiently advanced satire is indistinguishable from reality." - [Tips: 1DrYakQDKCQ6y52z6QbnkxHXAocMZJE61o ]
The wars between git and perforce are eternal. But I haven't seen SVN come up in a while.
I migrated the company I work for to SVN just a few years back now. Some of the programmers expressed worry that we were jumping on "the latest bandwagon", but I reassured them that if Subversion was a bandwagon, it was a bandwagon abandoned in a ghost town. Change-adverse as engineers are, they found that reassuring. And I mean hey, at least it isn't CVS anymore!
When I first came in as the sysadmin I found out the company was using CVS (specifically cvsnt running on an old CentOS box), which the lead programmer had been administering. First time the cvs lockdaemon went down, I tried restarting the service . . . and it didn't work. I tried again, didn't work. Eventually it came back up after 7 tries, writing nothing at all helpful to the log file in the meantime. I asked the lead programmer if he had any idea what was going on, and he just said "oh, it does that some times, once took me 11 tries!".
So, you can imagine that I was able to convince the herd of cats (ie. the dev team) to adopt any other version control scheme was a huge relief. I had been kindof hoping for Git, but the new guy replacing the older lead programmer hated Git with a burning passion (he's a hardcore Windows fan and hadn't used Git for many years at the time, but that didn't stop him from holding unwavering opinions on it). And, frankly, the "CVS done right" tagline may have been rightfully mocked by Linus Torvalds, but SVN as a version of CVS that works 450% more reliably and has quasi-modern tools associated with it was exactly what the doctor ordered in our case.
We'll migrate to Git in 2024.
I remember sigs. Oh, a simpler time!