Publishing an interview with the Free Software Foundation's Richard M. Stallman like we recently did, or discussing the FSF's philosophy in general, is usually a polarizing event. Anyone who has participated in discussions on such topics probably also knows that few things can cause a more heated discussion than considering whether the operating system that runs the Linux kernel is simply “Linux” or should be known as “GNU/Linux.” As an ardent supporter of the latter name, I thought it was long overdue for me to explain why I support the FSF on this matter.
The argument that is most often used, and indeed is true, is that the more of the operating system is part of the GNU System than the Linux kernel. It is also quite true that for the Linux kernel to come in to being it needed certain tools and the GNU System fulfilled those needs.
In essence, before combining the two projects' software to create the GNU/Linux system, GNU was an almost complete operating system lacking only a finished kernel. Linux was the puzzle piece that completed the GNU System, allowing it to run without any non-Free software. This is the reason why the argument is that the system should be GNU/Linux and not some name derived from other important but non-essential software such as Apache or XFree86. To illustrate the point, a system running the Linux kernel without X11, for example a Sharp Zaurus PDA using the Qtopia Palmtop Environment (QPE) instead, is no less a GNU/Linux system than one running X11. However, if that system somehow was made free of GNU tools, it would no longer act and work the way we expect the system often called just “Linux” to work. As far as I am aware, no attempt to place the Linux kernel within a different system, such as a BSD, has ever been made.
“The availability of the GNU System was vastly important to the Linux kernel's eventual popularity.”
At the same time, it should be made clear that this lawsuit probably did more to level the playing field than to give GNU/Linux a clear advantage. Linux hit 1.0 in March of 1994 and the UNIX lawsuit was settled just a few months later. While BSD undoubtedly had lost some momentum during the lawsuit, it still was a much more robust and mature operating system than Linux in 1994. In some ways, it really still had the upper hand, I would assert.
Yet, thousands of developers and millions of users would choose GNU/Linux despite BSD's rich history and familiarity. Why? I think for the developer, the assurance that their code will continue to be free, as in freedom, is much more attractive than the alternative that the BSD license provides in that the latter allows the Microsofts and Apples of the world to take off with the code and never return anything. With the BSD license, a Free Software program could quickly be surpassed by a non-Free variant of the same program.
How frustrating it would be for the person who invested blood, sweat, and tears into that program! Do I want to have to compete with my own program in a situation where I keep all of my code open while my competition, using my code, can keep their enhancements proprietary and continue to consume my enhancements? That is clearly an unbalanced playing field and significantly lowers the advantages of Free Software for the individual developer and doubly so for the corporation considering releasing Free Software.
In short, the difference between BSD and GPL licensed software is like the difference between a Democracy and a Republic. A Democracy may provide more “freedom” at onset, but is largely unsustainable. A Republican form of government, however, reduces — very slightly — the freedom at onset but is more sustainable. I won't argue that it is impossible to have successful BSD-based projects, the fact is that you can, however I cannot think of very many successful BSD projects that have not suffered proprietary forking one or more times during their life. If the project had been under the GPL, it is quite possible that same code that went into the proprietary version would have been developed anyway as part of the existing GPL-licensed project.
“The GPL encourages me to adopt a policy of Free Software within my business.”
Returning to the issue at hand, since the licensing of Linux insures that one's work remains free, more developers contribute to the GNU/Linux system and thus the system has many drivers and tools that the BSD systems must play catch up on. While not everyone who contributes to the kernel today does so because of licensing, if they choose to work on the Linux kernel because of all the functionality that is already in it, they can partially thank the GPL for insuring that the said functionality was added to the kernel and not into some proprietary fork. Thus, it is likely that a developer will be encouraged either directly or indirectly to support the Linux kernel in part due to the GPL.
To summarize what we have considered, the FSF provided three essential contributions to the foundation below the Linux kernel. (1) A complete operating system lacking only that which Linux provides — a kernel. (2) Code free of the legal problems that the BSD variants suffered in the early nineties. (3) Finally, the FSF provided a license that ensured new code for the Linux kernel was made Free Software and thus able to continue to be part of the official kernel. While the GNU System is a relatively small part of a large distribution like Red Hat, it is a very large part of the “bare essentials” one needs.
Because of this, I have made a conscious effort to use the term “GNU/Linux” in both personal and professional communication. Without GNU I doubt we would have a free operating system that would have attracted enough investment and talented developers to create a true Windows replacement. However, because GNU allowed Linux to mature without the threat of an AT&T lawsuit, and more importantly, its license insured that developers would contribute back enhancements to the existing code rather than hording them, GNU/Linux today is a system ready to handle many tasks on both the desktop and the server.
And that is why I call it GNU/Linux.