Timothy R. Butler, editor-in-chief of “Open for Business” offers his take on businesses running proprietary software starting with how Linus Torvalds blew it when picking a proprietary program (BitKeeper) to manage the source code for his fork of the Linux kernel. RMS, the founder of the free software movement, and virtually everyone else in the free software movement saw this coming years ago when they first learned of Torvalds’ decision. But Torvalds’ hypocrisy has gone unmentioned and it’s important that it be challenged because Torvalds is looked to as a hero of the free software movement.
For those not in the know, in 1992 Torvalds decided to BitKeeper to track the various files that constitute the Linux kernel (roughly, a part of an operating system that manages hardware resources and allows programs to use them harmoniously). BitKeeper offers attractive technical features Torvalds couldn’t get elsewhere. Instead of improving a comparable extant program, or asking the community to improve something for him (he has the celebrity and the following to be able to get some things he wants by asking), his poor example essentially asked fellow kernel hackers to also install and run BitKeeper. Some time later, BitMover (BitKeeper’s copyright holder) distributed a proprietary but zero-cost version of BitKeeper that was limited in its capabilities, but enough to tempt some hackers into buying a BitKeeper license.
BitMover learned that Andrew “Tridge” Tridgell, one of the authors of Samba (a program which lets Microsoft Windows and free software OSes share printers and files), was reverse-engineering BitKeeper’s network protocols to make a drop-in free software replacement for BitKeeper. Larry McVoy (head of BitMover) knew that the Samba team had the skill needed to get this job done because much of the work in Samba had been done the same way by examining how Microsoft Windows systems interacted when authenticating, sharing files, and printing. McVoy decided to not sell Torvalds or anyone else at OSDN any more BitKeeper licenses. OSDN’s current BitMover licenses are now void and McVoy doesn’t even want them running the program any more (although how McVoy will enforce this, I don’t know).
Larry [McVoy] is perfectly fine with somebody writing a free replacement. He’s told me so, and I believe him, because I actually do believe that he has a strong moral back-bone.
What Larry is _not_ fine with, is somebody writing a free replacement by just reverse-engineering what _he_ did.
Larry has a very clear moral standpoint: “You can compete with me, but you can’t do so by riding on my coat-tails. Solve the problems on your own, and compete _honestly_. Don’t compete by looking at my solution.”
And that is what the BK license boils down to. It says: “Get off my coat-tails, you free-loader”. And I can’t really argue against that.
But that’s not what the BitKeeper license says because copyright law doesn’t let them have that power. Also, Torvalds didn’t mention the part of the BitKeeper license that says the licensee isn’t allowed to use it to develop competitive programs. Compatibility and software freedom be damned, if you do something like what BitKeeper does, don’t think it’s okay to allow BitKeeper users to move to something they can inspect, share, and modify!
If the free software movement held Torvalds’ ridiculous opinion, Torvalds’ own desire for popularity would be squelched. A GNU/Linux system is currently the most popular way to run Samba or OpenOffice.org, both programs built on reverse engineering proprietary protocols and file formats. Nobody would care about a GNU/Linux system if it had absolutely no compatibility with what is already in use. As you’ll see if you read the next link, doing one better than UNIX systems was a design decision for GNU which RMS two decades ago. GNU programs are widely known for doing the same jobs UNIX programs do but handling junk data better than they do. Should we look at RMS’ effort and persuade him to stop because it might draw sales away from proprietary UNIX systems?
I see nothing wrong with reverse-engineering the software to achieve freedom. Even the Free Software Foundation says they would run the non-free software to achieve this end, then when the free program was far enough along, they would stop running the non-free program and delete it from their system.