McVoy on BitKeeper, Linus, and Perens
Joe Barr writes "The story of how BitKeeper has come to be Linus Torvalds' (and many other kernel hackers) tool of choice in maintaining the Linux development tree is worthy of a book. Here's the Cliff Note's version of McVoy's contribution to Linux kernel development, BitKeeper, and countless hours of flaming on the role of open source and proprietary software."
1) It doesn't matter what soource control system you use, you still own your own code. If the company making the source control product goes nuts, then you just have to abandon them.
2) The best tool for the job mentality comes from long experience with inadequate tools. All too often people come along saying "Here use the screwdriver. I know you need a hammer, but at least my screwdriver is ethically pure." Open Source tools are a good thing. They are not always the best fit.
3) Free software is NOT always the best option. Especially for large businesses which are concerned about the potential license taint and support issues. I love Free Software, but it's not always the right fit.
4) There are 2 free alternatives to bitkeeper: CVS and Subversion. Learn them, use them.
-
Proprietary vs Open
-
Cost vs Free
-
Freedom vs Artificial Restrictions
-
'Best Tool for the Job vs Ideal Choice
-
Long Term Investment vs Rapid Development
And that's just scratching the surface. There are valid reasons for choosing one path or another. This article is enlightening in that we now have a face and series of reasons as to why McVoy chose to implement Bitkeeper as a company with a business plan that closely resembles common closed source companies.We also have some enlightenment as to how and why Linus chose to move to bitkeeper.
McVoy said, "Hey, Linus, let's work out the system for the 'best tool' to help you do your work." They came up with a rough specification, and McVoy has used that data specifically to create a profitable product, which (he claims) Linus started using spontaneously. The fact that it's almost exactly what Linus needs is by design from the start.
People who are up in arms about it being developed as proprietary software are complaining about the wrong thing. McVoy used his connections to gather information for a product which turned out to be a killer app in the area of source management. The fact that he's letting open source people use it for free is no more philanthropic than Microsoft donating software to universities at a reduced rate - it's another business decision.
What open source advocates ought to be up in arms about is, "Why don't we have an open source product that rivals bitkeeper in its scalability?" The answer is that we've long had tools that were 'good enough', and we've never had a project nearly as large and complex with so many developers and scalability issues as Linux itself has that has justified 3 years of its own development.
We've just added another crutch to the tired old horse that is source management, and said, "We'll get around to replacing the horse someday, but right now I only need feature X so I can complete feature Y on the real project - I'm not going to waste my time building tools."
As far as the constant 'best tool' vs 'ideal world' choice goes, the idea that one should use the best tool for the job regardless of ideology is the same argument that says, "It's ok that my t-shirt was made by a 12 year old in malaysia, who works for 12 hours a day and barely gets enough to eat for the pay." There are good reasons for voting with your money, and voting with your use and advocacy of obviously inferior and possibly more expensive (in time, materials, money, etc) tools and products.
However, a good tool can make one significantly more productive, especially if there's no learning curve associated with the use of that tool. I'd have no problem learning that, say, Red Hat uses MS Windows and Office inhouse for its sales force and secratarial staff. They probably don't, but if they did they'd have to give little or no training to new hires, increasing their immediate productivity.
The reverse is also true, in many circumstances though. Investing time and money in training those employees can have long term payoffs - such as increasing the number of people in the world who can use such systems. It took Linus quite some time to come back up to his normal slow speed when he started trying out bitkeeper - but reports indicate that the investment has paid off, and he is now much more able to handle the load at a faster rate.
Remember - this is just a scratch of the surface, and the fact is that these discussions are largely subjective and ideological. First be true to yourself. If you can't, in good conscience, use bitkeeper, then good for you. If you find you're more productive, and that's worth the ideological tradeoff, then congradulations on making that choice, knowing why you made that choice, and defending your choice as right for you. If you don't see it as a good tradeoff, then good for you for sticking to your guns - but don't gun down others because of your beliefs. They are not inferior - they simply have different values and priorities, and if you don't think they have the right to choose, then your closed mind is doing the worst damage to open source that can be done today.
-Adam
"potential license taint"? What are you talking about? There is no potential license taint with free software. It is distributed under certain terms, if you want to incorporate the software in your own, then you have to either accept those terms or license a proprietary version of said software, if possible. With proprietary software, the only option you have is the latter.
Stop spreading this bullshit FUD about license tainting; it's absolutely ridiculous.
You say you love free software, if so, then please understand what you are saying about it.
Sticking feathers up your butt does not make you a chicken - Tyler Durden
For those of you keeping score, that's an overage of 48 TIMES the initial estimate. Even the NASA didn't do that bad with the ISS.