10.4 Is the Free Software Foundation Anti-Freedom?

Free For All. Go to the Table of Contents. Vist the Gifcom.


Still, these concessions aren't enough for some people. Many continue to rail against Stallman's definition of freedom and characterize the GPL as a fascist document that steals the rights of any programmer who comes along afterward. Being free means having the right to do anything you want with the code, including keeping all your modifications private.


To be fair, the GPL never forces you to give away your changes to the source code. It just forces you to release your modifications if you redistribute it. If you just run your own version in your home, then you don't need to share anything. When you start sharing binary versions of the software, however, you need to ship the source code, too.


Some argue that corporations have the potential to work around this loophole because they act like one person. A company could revise software and "ship it" by simply hiring anyone who wanted to buy it. The new employees or members of the corporation would get access to the software without shipping the source. The source code would never be distributed because it was not publicly shipped. No one seriously believes that anyone would try to exploit this provision with such an extreme interpretation, but it does open the question of whether an airtight license can ever be created.


These fine distinctions didn't satisfy many programmers who weren't so taken with Stallman's doctrinaire version of freedom. They wanted to create free software and have the freedom to make some money off of it. This tradition dates back many years before Stallman and is a firm part of academic life. Many professors and students developed software and published a free version before starting up a company that would commercialize the work. They used their professor's salary or student stipend to support the work, and the free software they contributed to the world was meant as an exchange. In many cases, the U.S. government paid for the creation of the software through a grant, and the free release was a gift to the taxpayers who ultimately funded it. In other cases, corporations paid for parts of the research and the free release was seen as a way to give something back to the sponsoring corporation without turning the university into a home for the corporation's lowpaid slave programmers who were students in name only.
In many cases, the free distribution was an honest gift made by researchers who wanted to give their work the greatest possible distribution. They would be repaid in fame and academic prestige, which can be more lucrative than everything but a good start-up's IPO. Sharing knowledge and creating more of it was what universities were all about. Stallman tapped into that tradition.


But many others were fairly cynical. They would work long enough to generate a version that worked well enough to convince people of its value. Then, when the funding showed up, they would release this buggy version into the "public domain," move across the street into their own new start-up, and resume development. The public domain version satisfied the university's rules and placated any granting agencies, but it was often close to unusable. The bugs were too numerous and too hidden in the cruft to make it worth someone's time. Of course, the original authors knew where the problems lurked, and they would fix them before releasing the commercial version.


The leader of this academic branch of the free software world became the Computer Systems Research Group at the University of California at Berkeley. The published Berkeley Software Distribution (BSD) versions of UNIX started emerging from Berkeley in the late 1970s. Their work emerged with a free license that gave everyone the right to do what they wanted with the software, including start up a company, add some neat features, and start reselling the whole package. The only catch was that the user must keep the copyright message intact and give the university some credit in the manual and in advertisements. This requirement was loosened in 1999 when the list of people who needed credit on software projects grew too long. Many groups were taking the BSD license and simply replacing the words "University of California" with their name. The list of people who needed to be publicly acknowledged grew with each new project. As the distributions grew larger to include all of these new projects, the process of listing all the names and projects became onerous. The University of California struck the clause requiring advertising credit in the hopes of setting an example that others would follow.


Today, many free software projects begin with a debate of "GNU versus BSD" as the initial founders argue whether it is a good idea to restrict what users can do with the code. The GNU side always believes that programmers should be forced to donate the code they develop back to the world, while the BSD side pushes for practically unlimited freedom.


Rick Rashid is one of the major forces behind the development of Microsoft's Windows NT and also a major contributor to our knowledge of how to build a computer operating system. Before he went to Microsoft, he was a professor at Carnegie-Mellon. While he was there, he spearheaded the team responsible for developing Mach, an operating system that offered relatively easy-to-use multitasking built upon a very tiny kernel. Mach let programmers break their software into multiple "threads" that could run independently of each other while sharing the same access to data.


When asked recently about Mach and the Mach license, he explained that he deliberately wrote the license to be as free as possible.


The GNU GPL, he felt, wasn't appropriate for technology that was developed largely with government grants. The work should be as free as possible and shouldn't force "other people to do things (e.g., give away their personal work) in order to get access to what you had done."


He said, in an e-mail interview, "It was my intent to encourage use of the system both for academic and commercial use and it was used heavily in both environments. Accent, the predecessor to Mach, had already been commercialized and used by a variety of companies. Mach continues to be heavily used today--both as the basis for Apple's new MacOS and as the basis for variants of Unix in the marketplace (e.g., Compaq's 64-bit Unix for the Alpha)."