Open Source: Free Speech or Free Beer?
In response to my previous article on Open Source I received a letter which contended two things:
What's interesting about this is that both contentions are wrong. While it is true that you cannot steal free beer, you can steal free speech. That's because free speech is covered by copyright. The speaker owns his words and writings, and they may not be reproduced without his permission.
This web page is my personal forum. Within certain well-defined limits (libel laws and government secrets, for instance) I can say whatever I want here. Nonetheless, what I write here is my property and it cannot be duplicated and distributed without my permission. Anyone doing so would be guilty of violating my copyright, and I could sue in civil court. Depending on the circumstances, criminal charges might also be preferred.
Recently one of my essays caught the interest of webmasters at two different sites. Both wanted to reproduce that essay on their sites. Both asked my permission (which I granted) before doing so, which was exactly right. They both understood what my correspondent apparently doesn't: that free speech is not free beer.
Let's take a hypothetical case of open source which maximizes free speech but minimizes free beer. Suppose that I write some whizbang software package and further suppose I decide to post the source for it on my web page. But suppose I post with it the following restrictions:
Now never mind why I might do such a twisted thing. The point is that under the copyright laws, I have the privilege of doing so. Every one of those restrictions is perfectly legal and binding. You do not have any choice; you would be legally obligated to abide by those restrictions. If you did not, I could sue.
The obvious response would be: what good does this do anyone else? Exactly so: it does virtually no good at all. But I have no legal responsibility to do anyone else any good. If I choose to do something obnoxious like this, the law would be on my side.
If all open source were published under these restrictions, there would be no open source "movement".
My writings are my property, and as long as the copyright lasts, I (or my heirs or assignees) may do anything with my writings that we desire. We are answerable to no-one.
That's free speech (my freedom to express myself) without free beer (permission for anyone else to use my expression).
What this demonstrates is that the primary utility of "free software" is that other people can make copies of it, compile it for themselves, and use the resulting code. It is precisely the fact that everyone can use what anyone contributes to the pool which makes the open source movement work.
In other words, it is precisely free beer freedom that makes it useful. All the platitudes to the contrary, the spirit of the open source movement is free beer, not free speech.
The Linux effort has probably been the single most effective open source project in history, and certainly it is the largest. But it is far from the first, and there have been some quite large ones in the past. A very large one from about 35 years ago was DECUS, for instance, which at various times included compilers and other quite complex applications. At one time I used an open source implementation of the TECO text editor on UNIX.
In the 1980's, there was a very healthy open source collection for the Amiga, collected by the legendary Fred Fish, which were known as the "Fish disks". I was one of many who contributed to them. Before that effort ended, the total size of that collection totaled well over seven hundred megabytes.
In many ways I think the open source movement is a fine thing. I just wish its proponents would be more honest about it, especially to themselves.
The Achilles heel of Open Source is that the majority of its "participants" consume without contributing. Within certain limits the movement can tolerate a high level of that, as long as the core group of contributors remains large enough in absolute numbers, since a user doesn't use it up. Software is unlike any other form of engineering in as much as its results can be infinitely duplicated at negligible cost.
But if the pool of contributors dries up, no matter why, then the movement will die irrespective of how many consumers there are in it.
The pathological example of this is the OS/2 open source "movement" (such as it is). At this point, it appears that the number of significant contributors numbers less than a hundred (the largest concentration of which are associated with Netlabs). That is not sufficient, and their few successes have primarily been ports of Linux programs such as GIMP. Unfortunately, the OS/2 developers are essentially parasitic on Linux; they use the Linux sources (as they are permitted to do) but don't give much of anything back to the Linux open source community.
The modal OS/2 open source "advocate" spends all his time drooling over the linux success and thinks that the same thing should be possible for OS/2. "If only someone else spent a lot of time writing OS/2 software and giving it away, look at all the neat stuff there would be for me to use for free."
Only there isn't anyone else. The OS/2 open source "movement" is made up almost exclusively of consumers, who have been reduced to browbeating such few commercial developers as are left to get them to release the source for their commercial software so that "someone else" can enhance it.
So far that hasn't happened to Linux. There's no sign that it will happen any time soon.
The other major problem with open source has to do with the fact that there is no central/planning or control, because there's no reward process. People work on what interests them -- which is reasonable, since the work is, for the most part, its own reward.
But this means that entire categories of software will be neglected: software which is useful but uninteresting. In particular, software which is extremely specialized, which might be vital to half a percent of the user base but totally useless to everyone else, and which is technically unchallenging and uninteresting to write.
A good example of that would be a point-of-sale system. This doesn't have the sex appeal of a compiler or a graphics editor, since it's not the kind of software that the contributors to the open source movement would themselves use.
Another category of program which possibly will never be open source is software which is intimately associated with proprietary custom hardware. A good example of that would be the software which runs the Video Toaster from NewTek. Too much of that software requires detailed knowledge of exactly how that hardware works, which NewTek is unlikely to reveal since it has significant commercial value.
There is also software whose functions are well understood, but whose algorithms are covered by patents. Several of the most common and widely used kinds of encryption are patented. Any attempt to code those algorithms, even if done clean-room-styled from scratch, would still violate the patent. That's because the patent covers the algorithm itself, unlike a copyright, which would cover a particular implementation of the algorithm.
It remains to bee seen whether UCITA is ever passed and goes into implementation. If it does, and if it survives the inevitable court test, it means big trouble for the Open Source movement (among others), because it gives software publishers the right to forbid reverse engineering. This would mean that any attempt to determine the save-file format of a major package would be against the law, which would make it impossible to make a compatible open source program.
There are also packages whose primary value is in the data files they come with, rather than in the software itself. Totally Mad is on seven CDs; the actual program is hardly more than a few hundred K, and the rest is mostly files containing high resolution images of thousands of pages of various issues of Mad Magazine. Even if someone managed to duplicate the function of the program, it would be useless without the data files, which are themselves covered by copyright.
Some programs have widespread but ephemeral appeal. Entertainment software is particularly prone to this. By the time someone duplicates the function of "Unreal Tournament, the game will be passť, because the next big thing will have come out.
In some areas the state of the art in commercial software is moving so fast that open source software inevitably has a significant time lag. Linux has had a serious problem in driver support for the newest hardware because of this. (In this particular case the problem is easing; as Linux becomes more widely used, the hardware companies are beginning to write their own drivers for Linux.)
There are software tasks which are simply so gargantuan that it is unlikely that a sufficiently large team of open source implementers could be formed, or that even if they were that they would stick with it long enough to finish. A good example of that would be a mechanical CAD package like AutoCAD or a high quality 3D animation package like Lightwave.
So the dreams that some members of the movement have of eventually completely supplanting commercially developed software are a bit unrealistic (if not even a bit megalomanic).
Update: More than two years after this was written, I had the pleasure of meeting Eric Raymond and having breakfast with him. Inevitably we discussed this, given that he had read this and other things I have written expressing my skepticism about some aspects of open source. In response to that, I wrote a multi-part essay about open source and limits of its applicability as a development process, to which he responded. This article is an index to those posts, and this links to Eric's reply and responds to it.
This page has been viewed 2181 times since 20010726.