The politics of the command line
Free software has lead to communities of diverse individuals forming to fight for a common cause.
Richard Stallman, the one true begetter of GNU, the free software movement and the General Public License, (or GPL, the most popular licensing framework for free and open source software), once told an audience: "Unlike some of you, I am not an open source developer, I am an activist in the free software movement."
It is an important distinction, and one that Stallman has always been keen to make. Free software has a very different set of values to open source. Yet all free software can be described as "open source", and most open source software can be described as "free software" - which is why the two movements are often treated as one.
The free software movement came into being in September 1983, although Stallman didn't announce the GNU project on Usenet until January 1984, with the words: "Starting this Thanksgiving I am going to write a complete Unix-compatible software system called GNU (for Gnu's Not Unix), and give it away free to everyone who can use it. Contributions of time, money, programs and equipment are greatly needed."
Nine years later, Linus Torvalds announced to comp.os.minix: "I'm doing a (free) operating system (just a hobby, won't be big and professional like GNU) for 386(486) AT clones."
The Linux kernel, initiated by Torvalds and licensed under the GPL, became the kernel of the GNU operating system, or as Stallman defines it: "There is no operating system called Linux. The OS called Linux is GNU. Linux is a program - a kernel. A kernel is one part of an OS, the lowest level program in the OS that keeps track of other programs running, and apportions memory and processor time among them."
Free Software, Free Society
In the introduction to 'Free Software, Free Society', a collection of Stallman's essays and lectures, Lawrence Lessig - professor of law at Stanford University, political activist, and co-creator of the concept of Creative Commons - declares: "Every generation has its philosopher - a writer or artist who captures the imagination of a time. Sometimes these philosophers are recognized as such; often it takes generations before the connection is made real.
Get the ITPro. daily newsletter
Receive our latest news, industry updates, featured resources and more. Sign up today to receive our FREE report on AI cyber crime & security - newly updated for 2024.
"But recognized or not, a time gets marked by the people who speak its ideals, whether in the whisper of a poem, or the blast of a political movement. Our generation has a philosopher. He is not an artist, or a professional writer. He is a programmer."
He later adds: "The aim of Stallman's 'free software movement' is to make as much code as it can transparent, and subject to change, by rendering it free. The mechanism of this rendering is an extraordinarily clever device called 'copyleft' implemented through a license called GPL. Using the power of copyright law, 'free software' not only assures that it remains open, and subject to change, but that other software that takes and uses 'free software' (and that technically counts as a 'derivative work') must also itself be free.
"If you use and adapt a free software program, and then release that adapted version to the public, the released version must be as free as the version it was adapted from. It must, or the law of copyright will be violated."
The meaning and definition of free software was refined over a number of years, culminating in the creation of the second version of the GPL in June 1991, which represented a synthesis of Stallman's philosophy. Free software "refers to four kinds of freedom for the users of the software", perhaps echoing the four freedoms Franklin D. Roosevelt defined as the requisite for a free society in 1941.
The four kinds of freedom were:
- The freedom to run the program, for any purpose.
- The freedom to study how the program works, and adapt it to your needs.
- The freedom to redistribute copies so you can help your neighbor.
- The freedom to improve the program, and release your improvements (and modified versions in general) to the public, so that the whole community benefits."
Free software became defined as a movement with an ethic and a social purpose, and embodies many of the characteristics that might typify a social or political movement.