Interview With BitKeeper Author Larry McVoy
Jeremy Andrews writes "KernelTrap has spoken with Larry McVoy, BitMover founder and primary BitKeeper author. BitKeeper, a distributed source control system, has been adopted by Linux kernel creator Linus Torvalds and condemned by free software icon Richard Stallman.
In this interview, Larry looks back through the years, describing his exposure to computers and Linux. He also discusses the history of BitKeeper, from writing NSElite for Sun (which turned into their still used SCM, Teamware), to his desire to keep Linus from burning out, to the present day solution. The choice to not license BitKeeper under the GPL is also explained.
Larry discusses much beyond Bitkeeper as well, exploring some of his other interests. Find the full interview on KernelTrap."
Stallman can't get over the fact that Bitkeeper is NOT licensed under the GPL, and that Linus chooses to use it anyway. Presumably Linus just likes it better, and he's free to do as he sees fit. Freedom, that's an interesting word, because the mere notion of it means it must apply equally and unilaterally to everyone, or it doesn't exist. Stallman has repeatedly tried to exert pressure on people including McVoy to license things under *his* GPL, and complaining loudly when it doesn't happen. In other words Stallman is making an effort to limit their freedom with their own product.
Freedom applies to everyone, or it applies to no one.
What RMS actually said was:
That's a very profound statement. It's easy to sneer at it, to dismiss it ad hominem. But he raises important points which deserve to be addressed in depth.
Sig: What Happened To The Censorware Project (censorware.org)
RMS is an extremist. Always has been. In that role, he has fought for the complete freedom of software. IMHO, it's an admirable, idealistic view of the world. Having said that, there are times when his extremism causes him to fall right off the deep end, for refusing to make the smallest compromise for the good of the movement.
McVoy is hardly anti-free-software. The very fact that he gives away *anything* for free symbolizes that. (He doesn't have to give anything away.) He makes the simple requirement that the free users use the newest versions for bug reporting reasons. Not a bad idea IMO.
But RMS bristles at even the association with a software product that is ever sold for money. That extreme view causes great debate in the community (this discussion for one) and that's a *good* thing! However, RMS needs to be less beligerent about this one. The kernel needs a stable base in terms of source control. If Linus determines that the best solution is BitKeeper, then that's his decision. RMS has the right to his opinion, but not to insult the intelligence of all of us by tring to tell us that we're all compromising our values by allowing this.
In a similar vein, am I the only one who is sick of RMS whining about the naming of Linux? The accepted name is Linux not GNU/Linux. It's out of your hands, RMS. Live with it.
Ben
Oh, bullshit. "Re-inventing the wheel" has obvious pejorative connotations.
RMS has never, ever, objected to any activity on the grounds that it is "tainted" by monetary objectives. (Though others nearby have - the Gnuart people, for example)
What RMS objects to about BitKeeper (and about acrobat reader, and latex column modes, and Netscape 4) is, as he says so many times it almost makes you want to beat your head into the wall, that BitKeeper is not "free as in freedom".
RMS has no problems with BitKeeper being sold - his problem is that the market for BitKeeper (and most other non-free software) is propped up by the restrictions placed on the buyer. In fact, RMS agrees with debian that software which contains a "don't sell this for more than the cost of the media" clause is not free. Part of the problem with BitKeeper is not that McVoy is selling it, but that I (or anyone else) can't.
If every person who received a copy of BitKeeper from McVoy were able to use it however they wanted, examine all the source, modify it as desired, and then copy and sell the result, then BitKeeper would be free software. (I'm sure someone could weasel in a non-free restriction somewhere into that statement, but basically that's it) Contrary to popular opinion, RMS does not insist that every piece of free software be licensed under the GPL.
Painting RMS as hostile to the pursuit of money, as though he were these guys is inaccurate. RMS is not actively hostile to the software market; he just doesn't view its continued existence as a sufficient reason for non-free software. If the commercial software market cannot survive without the restrictions on redistribution currently placed on buyers, then it cannot survive.
People who paint RMS as hostile to making money fail to see the difference between "I hate that" and "I care about something else more than I care about that". (Those who would paint free speech activists as being against national security often commit a very similar structural confusion.)
The system is no longer GNU + Linux kernel. If it's about giving credit in proportional amounts, then X, perl, Berkeley, Apache, Netscape, and many other major contributors should also be recognized.
I do understand that some of these can be stripped away without impairing the OS, but some of them cannot.
While calling the whole ball of wax "Linux" may be overstating the importance of the kernel, calling it GNU/Linux understates the importances of all the other contributions.
"Genius may have its limitations, but stupidity is not thus handicapped." --Elbert Hubbard (1856-1915)
So pay up and quit whining about it.
You're getting something for free, nothing, nada, zip that someone else has spent time and effort on, why are people not appreciative of this fact any more?
You don't go whinging about a free beer your mate gives you do you? And yes, even that beer will come with conditions (like you're supposed to drink it with him).
Avantslash - View Slashdot cleanly on your mobile phone.
The effectiveness of the source control system used to develop any non-trivial, multi-developer project is critical.
Creating a good one isn't trivial.
In my opinion, CVS and RCS are far from the best solutions available. CVS behaves like an automation layer on top of the single file version control of RCS, not a change management system for a whole project. It can do most things other systems can do, but you may have to waste effort working around its weaknesses.
I've not used BitKeeper but I have used Perforce, another commercial product which can be used for free on Free software projects, and found the benefits to the development process significant. Making simple things trivial and hard things quite easy helps developers to do the right thing without getting in their way.
Minimising the cost of using the source control system to its fullest effect leads to many improvements throughout the software development process. I'd argue it leads to better, more maintainable code.
As a Linux user and free software advocate I'm glad that Linus is using BitKeeper, rather than CVS. I'd love to see a better free software source control system, but until we've built one I'd rather not sacrifice quality and efficiency in other important projects.
"Every good boy deserves fudge"
GPG: 66F0 CD0A 9EC6 367F C3B4 7EB0 C76D CFBE 86CF 21E4
In reference to the FSF, RMS says:
We have no non-free systems or applications on them now, and our principles say we must keep it that way.
So is this to say that their motherboard BIOS and all supporting microcontroller code, EPROMs, firmware and controller code in their video cards, ethernet cards, etc. all comes with source code?! Impressive. Where do they shop?
On the contrary, I think the FSF explains the different types of free software very clearly. The common response to a question such as yours is: would you buy a car with the hood welded shut? You're not a mechanic, so what do you care?
Take, for example, Intel Solaris. It was distributed free of charge from its web site, ISOs and all. I download it, install it on my web server, happy as a clam that I have a free, enterprise O/S behind MyPuppySam.org. Oops, the web server crashed, and I have to reinstall. Hmm, the Solaris CD-R is scratched. "Hey, buddy, can I borrow your Solaris disk?" I ask my friend. "Sorry, dude, didn't you read the license agreement? I'm not allowed to lend you my copy. You'll have to go download it again," he replies. Oops, it's not available for download any more, because it's been "deferred," whatever that means. Guess I'll have to pay $50 and wait for the mail man. I guess I should count myself lucky that I can buy the media kit, at all.
Best has a context associated with it. RMS believes that best is always free as in GPL'd. Anything else, to him, is inferior.
Linus himself was quoted as saying "Making Linux GPL'd was definitely the best thing I ever did. "
I'm concerned about what I see as extreme pragmatism on Linus' part. Surely, better software, in terms of features and useability, isn't the only criteria for determining it's selection. Price is obviously a major criterion with such internet-developed projects as the Linux Kernel.
As far as I can tell, the BitKeeper license doesn't insure that future versions, perhaps even versions necessary to run on future OS releases, will still be free of charge and without source, we can't be sure that we could make it work on those releases.
Maybe this is just paranoia and there's really nothing to worry about, or maybe not.
RMS is insistent and consistent. Somebody has to be.
I like Barry Goldwater's statement "I would remind you that extremism in the defense of liberty is no vice." To RMS this is about liberty and he doesn't compromise.
It seems to me that there are two choices: The GPL is adopted for purely pragmatic reasons because we can outcompete closed source development. The other is that the GPL is adopted as a principled position.
If we take the first position, then will we stop using Linux the moment something better comes along in terms of features, useability and stability? After all, the existence of BitKeeper proves that, at least in some contexts, that closed source development is superior to Open Source Development models. Doesn't it?
Let me ask you. Should we adopt MicroSoft software if it offers better features and useability? Or... are there other concerns than the narrow "best tool for the job" consideration?
He isn't saying that the programmer shouldn't make a living, he said it is irrelevent how he does so. Of course Stallman believes everyone should be rich, so they could be happy and maybe even donate money to the FSF.
Here's an analogy: it is irrelevant how a cocaine pusher makes a living, he just shouldn't do it selling cocaine. It is irrelevent how Britney Spears makes living, she's still hot. It is irrelevent how my DJ neighbor makes a living, if he plays music that loud one more time I'm calling the police. Etc.
Back to your example of the programmer who slaves away making a big complecated piece of software and is finally done.
There are many ways to get paid. You can work for a company that wants that software, and doesn't care who else has it, and is willing to pay you to do it. You can make early versions with limited functionality and hope that people pay you do add the features they need after they start using it. All of these have the added advantage that they are more likely to succeed than your "hide in the garage" strategy.
But if you decide to invest years of your life on the promise of future income from selling a piece of software you are writing, you are fucked. You are fucked even if we ban the GPL and shoot all the GNU people; the software you describe is, like all software, infinitely copyable, and you'll get some money from some people, and large numbers of others will simply not pay. Go to gnutella and search on "*.iso" or the name of some really expensive package.
The truth is that even in the corporate world very few people do what you described. Some big hosues like Bell Labs will let you write shit for a decade in some basement in hopes it will be awesome when they finally see it. Most expect continual progress and feedback, and make you listen to the people who are using the early versions, to steer you in the right direction. They quit paying you if your shit doesn't look useful. Why do you think the independent world is different ? Hundreds of thousands of people are paid to write software, but actually very few make money selling software.
If you go hide in an ivory tower and write software for years, and it is awesome, well, you just did a lot of work for free. That's a feature of the digital age that exists no matter what, and the GPL just formalizes it.
If you want to survive in the digital age by writing useful software, you have to talk to people, convince them it is useful, convince them to believe you by having your previous predictions of useful products come out true, be attentive to their needs, etc.
The ivory tower theory here is yours. The idea that you can work for years and then expect me to pay you money is stupid. If you want me to pay you money, you better talk to me before you get to work. Or maybe you can find a patron like Michelangelo did for the Sistine Chapel; which, by the way, I can look at anytime I choose without paying, on the web.
The final analysis is this: society is under no obligation to subsidize your particular work-alone style of software production with a monopoly; society couldn't to that if they wanted to due to the nature of the digital medium; if society could and did want to, it's a bad way to make software so we shouldn't; and finally, it is your job to figure out how to make a living, just because you presented an implausible plan for it doesn't reflect any fault of the GNU project.
I sympathize with your sense of morality. The bible says "the laborer is worthy of his wage," and there is a natural sense of offense at someone working hard and productivly and not getting paid. But your efforts to ask society, and the mathematics of digital copying, to change so one particular strategy of hard work will be rewarded, are doomed. The universe is what it is, and it will not change so your hypothetical programmer makes money. But your hypothetical programmer can change, and do something different, and make money for writing software in some other way.
No you don't. You pay for it with the considerable hassle and expense of being forced to upgrade your basic infrastructure software whenever some company tells you to.
If you download Linux, that's free in every sense of the word. Bitkeeper is not free. Not even free as in beer.
Stallman verses the world? I can't believe it! You could knock me over with a feather.
I've heard from several leaders of many highly visible GPLed projects who have essentially said that the biggest problem with the GPL is Stallman. Not that that's not my personal opinion, so don't flame the messenger.
Slashdot gets worse every day... Pipedot: News for nerds, without the corporate slant