On 18 June Richard Stallman gave a talk at CERN on the ethics and practice of free software. Earlier in the day he had given the keynote speech at the AIM 2007 (Association Information and Management) conference in Lausanne.

It was a great pleasure to receive Stallman at the CERN Council Chamber, which, unsurprisingly, was not big enough for the large audience that came to listen to him. This article attempts to give a flavour of his talk, but it goes without saying that we cannot reproduce the show that was given by this well known speaker.

About Stallman

As most people know, Stallman is a software freedom activist, hacker (in the positive, original sense) and software developer (he wrote the first version of the Emacs editor in 1975). In September 1983 he launched the GNU Project to create a free Unix-like operating system (OS), and he has been the project's lead architect and organizer. The GNU Project is regarded as the start of the free-software movement. In October 1985 Stallman set up the Free Software Foundation to support the movement. In 1989 he co-founded the League for Programming Freedom to fight against software patents and the extension of the scope of copyright. Stallman pioneered the concept of copyleft and is the main author of several copyleft licences, including the GNU General Public Licence, the most widely used free software licence.

Freedom in computing

Stallman started his talk in an unusual way, by asking for all computers and video-projectors to be switched off; in fact he only used a microphone and did not show any slides or transparencies. When asked by the chair how long his talk would be, given that the average is an hour plus 30 minutes for questions, he seemed to think it was not enough, and indeed he talked for more than an hour.

The first part of the talk was related to the concept of "freedom", and it was a personal attack on all the people in the computing world who break this freedom for computer users by imposing on them what they must do and what they need. Microsoft is obviously Stallman's biggest enemy, with all its licensed products, imposed updates and upgrades, and intrusions in your computer.

For Stallman "freedom" is the key concept that users should strive for in computing: the freedom to take what you need, to modify the code according to your needs, to distribute the code with or without these modifications, to make updates when you like and only if you need them, and so on. When using Microsoft products or other widely used commercial software, even if available at no cost, users lose this freedom and are forced later on to accept what is decided by the providers. To access audio and video media, Stallman insisted that users should resist using RealPlayer and instead employ the free formats provided by Helix, for example.

Stallman prefers the term "Free" software to "open source" software, which is used today by commercial companies that distribute free software that is often mixed with other components that are not free. "Free" means that the software can be used, studied and modified without restriction, and it can be copied and redistributed in modified or unmodified form, either without restriction or with certain restrictions to ensure that end-users have the same freedoms as the original authors. "Most computer customers have never heard this idea of FREEDOM!" said Stallman.

The Free Software Foundation and GNU

Stallman continued his talk by describing the Free Software Foundation (FSF), the non-profit organization that he founded to support the free-software movement and the GNU Project.

"We need your help! If you know devices that do not work with free software, then please tell us!" said Stallman.

The original purpose of the FSF was to promote the idea of free software ("free" as in "freedom"). The organization developed the GNU OS as a first example of this concept. The GNU General Public Licence (GPL) is the most widely used licence for free-software projects. The most current version (GPL v.3) has just been released after a long period of deliberation; it is meant to address various new issues (such as new distribution technologies) and threats (e.g. patents, digital rights management, locked hardware and the DMCA). The FSF has also published the GNU Lesser General Public Licence (LGPL) and the GNU Free Documentation Licence (GFDL).

The GPL is the most popular and well known example of the type of strong copyleft licence that requires derived works to be made available under the same conditions. Under this philosophy, the GPL is said to grant the recipients of a computer program the rights of the "free software" definition, and it uses "copyleft" to ensure the freedoms are preserved, even when the work is changed or added to. This contradicts the "permissive free software licences" that include a set of "exclusive rights", often of limited duration, which regulate the use of some parts of this software.

GNU Linux

Linux is a typical example of these concepts and of the difficulty of identifying real "free software". Many users are not fully aware of the distinction between the kernel, which is Linux, and the whole system, which they also call "Linux". These users often think that Linus Torvalds developed the whole OS in 1991. However, according to Stallman's definition of the OS, Linux is only the kernel: i.e. the program in the system that allocates the machine's resources to the other programs that you run. The kernel is an essential part of the OS but is useless by itself; it can only function in the context of a complete OS. Linux is normally used in combination with the GNU OS: the whole system is basically GNU with Linux functioning as its kernel. This is why Stallman invited us to be careful and to speak about "GNU/Linux" for the fully free OS. "Please attach GNU to Linux, and use either GNU+Linux or GNU/Linux!" said Stallman.

You will find more details on this subject on the GNU website (www.gnu.org/gnu), including several articles written by Stallman himself: for instance "GNU's not Unix! What's in a name?" or "Linux and the GNU Project". There you will read: "Our community's strength rests on commitment to freedom and co-operation. Using the name GNU/Linux is a way for people to remind themselves and inform others of these goals…"

A great challenge to the future of free software comes from the tendency of the Linux distribution companies to add non-free software to GNU/Linux in the name of convenience and power. All the major commercial distribution developers do this; none produces a distribution that is entirely free. Most of them do not clearly identify the non-free packages in their distributions. Many even develop non-free software and add it to the system. Some outrageously advertise Linux systems that are "licensed per seat", which gives the user as much freedom as Microsoft Windows.

In conclusion, programmers should be be very careful when choosing software components. According to Stallman, programmers should not develop free software that depends on non-free packages or libraries; this problem has been demonstrated with software like Motif and Qt, and now also with Java since Sun has added non-free Java implementations to the package.

"We have to teach the rest of our community about freedom," said Stallman.