GNU/Linux Desktop Survival Guide
by Graham Williams
Copyright, which comes into existence whenever anything is written, is about the word for word copying of someone else's words. Copyright protects the original author from others passing the authors work of as their own. On the other hand, a patent provides a monopoly on an idea. If you can describe an idea in words, you can patent it, and thereby prohibit anyone else from using that idea, whether they came up with the idea independently or not.
Richard Stallman likes to analogise with mythical Musical Patents. Beethoven would not have been able to write his symphonies if musical patents existed. “The idea of four note motifs, particular groupings of chords, the idea of having certain instruments playing on their own for a little while, the idea of music getting quieter then returning wth a boom, the crescendo, the string quartet, or the idea of adding a certain instrument to the orchestra could be patented.” Other composers would then be required to pay a royalty to use any of these ideas or else write music that did not infringe these patents. Imagine the task of writing a symphony and attempting to ensure you did not infringe on any music patents. This is the situation software writers face today.
There is much confusion over the terms free software and open source. They are generally not the same thing, and we need to be clear what is meant by free. The issue is not whether one needs to pay for the software, but whether the software has onerous restrictions on what you can do with it. Software that you can download for free may not be free in the sense of free speech. It may be encumbered with restrictions and limitations that inhibit your freedom to make use of that software. Similarly, software that you purchase may in fact place no restrictions or limitations on what you can do with it, and this is indeed then free in the sense of free speech. The issues are most sharply highlighted by the software patents debate of the early 21st Century which puts at risk the free expression of new ideas that build on those that went before.
Open source software is thus not necessarily free software. Indeed, some open source software places considerable restrictions on what you can do with the source code, thus rendering it non-free. GNU software is open source software that is also free in the sense of free speech. This software allows everyone to redistribute and modify the software, without restriction.
We contrast open and free software with proprietary software that we have become familiar with—the software that we buy on trust from a vendor, trust that it will work, trust that it does only what it should do without back doors that allows the vendor or others to break in, and trust that you will be allowed to use the software for your purposes. But the vendor disowns any responsibility if the software fails in any way. When you find it has bugs and is not fit for your purposes you must buy the next version to get something that works for you. You become bound to that vendor and, with proprietary ways of storing your data (as in MSWord), your freedom to choose vendors is very limited. We have become locked in a cycle of secret codes that require us to pay regular dues to some of the riches organisations in the world.
Free and open source software can make development cheaper through sharing of ideas and building on the pool of ideas that become available. Through free software development practises, more people can get involved and work loads can be shared, and people with very different skill levels can collaborate and help increase the overall skill level of the whole community. Bugs are caught quicker because there are more people looking over the source and bugs are fixed quicker because of this. Security flaws will be found sooner, because there are many more eyes looking over the code, and organisations are welcome to themselves review the code they use to become confident in the code.
Free software demands that the user be granted four kinds of freedom: freedom to run the program, for any purpose; freedom to study how the program works, and adapt it to your own needs; freedom to redistribute copies so you can help your neighbour; and freedom to improve the program, and release your improvements to the public, so that the whole community benefits. A pre-condition for this is the availability of the entire source code, so that along with the freedom comes the responsibility to share your “discoveries” with others. From http://www.gnu.org/philosophy/free-sw.html.
Free software projects still need to be structured. Usually they are conducted under the watchful eye of a project leader, commonly referred to as the maintainer. Anyone can contribute to the project and decisions are often discussed openly and decided by consensus after discussion of the technical merits. Sometimes the project leader will need to cast the `deciding vote'. Sometimes, the merits of alternative approaches can not be reconciled, and we then have the freedom to branch the software into two alternative, even competing, ideas.
In addition to founding the GNU Project, Richard Stallman founded the Free Software Foundation to pioneer the cause of free software—free software that gives individuals the opportunity to share their innovations and through this to allow others to learn and to contribute their discoveries. The GNU project publishes the philosophy of free software at https://www.gnu.org/philosophy/free-sw.html.
The free software world aims to share their knowledge and software in order for all to gain towards a common goal. The proprietary software world aims to hoard their software, to hide their discoveries, to let others go through the discovery process themselves rather than to innovate from the shoulders of those who went before them.
Stallman characterises the view of the proprietary vendors as: “If you share with your neighbour, you are a pirate. If you want any changes, beg us to make them.”. If I enjoyed a piece of music or a novel, should I be inhibited from lending the CD or the book to my neighbour?
Eric Raymond, in his “Musings on Linux and Open Source” in the book “The Cathedral and the Bazaar” makes compelling arguments for Free and Open Source Software development. Some of his points, paraphrased, are:
A review of Richard Stallman's speech on Software Patents is available from http://www.ariel.com.au/essays/rms-unsw-2004-10-14.html.
In March 2000 Richard Stallman (with Eben Moglen, a professor at Columbia Law School) introduced the GNU Free Documentation License (GFDL). Stallman identifies the GFDL as a means to enlist commercial publishers to fund free document writing without surrendering any vital liberty.
The GFDL identifies the conditions relating to the copying and revision of documents. Documents are more complicated than simply placing source code on the Internet. The GFDL is consequently more complex, covering the mass copying of the document, inclusion in collections, and specific issues relating to the covers.
Two important concepts relating to the availability of the document are introduced: transparent copies of the document and opaque copies of the document. A GFDL document must be transparent—that is, available in a format whose specification is available to the general public and which can be read using free software. Formats such as LATEX (used for this book) and XML (using publicly available DTDs) are fine. But making your document available only in PostScript or PDF or Microsoft Word is not transparent. These are opaque documents that might suffer the same old problems of document rot—after a few years the documents may no longer be accessible because the proprietor of the proprietary format might have gone out of business and the knowledge of the format has been lost.
The license also identifies invariant sections of a document that must not contain anything that could fall directly within the document's overall subject, and cannot be modified or removed from the document. In addition, technical measures that obstruct or control the reading and copying of the document can not be used (and hence access to the document can not be restricted).