Friday, March 20, 2009

Twentyfive Years of Software Freedom

An Interview with Richard Stallman
(This interview appeared in Frontline, Volume 26 - Issue 04 :: Feb. 14-27, 2009 under the title "Liberating Cyberspace")

Richard Mathew Stallman needs no introduction to the reading public in India. He has visited India several times during the last eight years or so, and has given lectures in many parts of the country. He started the GNU\footnote{GNU stands for GNU is Not Unix, a recursive acronym.} project in September 1983 to create software that gives users the freedom to use, share, modify and redistribute. Though he was alone in this task at the beginning, today there are tens of thousands of programmers world-wide helping to create such software. The GNU project has inspired a large number of projects for creating Free Software, and has led to the development of a wide variety of applications from text editors to office suites, browsers, email clients, audio and video editors and even 3D animation tools. And this is beginning to challenge large companies that create proprietary software. GNU/Linux, formed from the kernel (core) Linux developed initially by Linus Torvalds and tools like compilers, editors, etc.~developed under the GNU project, is the most popular Free Operating System and this is being increasingly adopted by governmental and other agencies in many developed and developing countries. In India, Free Software has been mandated for government purposes by the Government of Kerala in its ICT policy, and has become part of the syllabus of state schools. Several organisations in the country use Free Software, including LIC and Tamil Nadu's ELCOT.

Stallman also developed the GNU General Public Licence (GPL), under which most Free Software is published, the Free Documentation
Licence for software documentation and the Lesser GPL for certain types of software. In 1984, he left his job in the Artificial Intelligence Lab of the Massachusetts Institute of Technology fearing that the Institute may demand the copyright for his work. In 1985, he started the Free Software Foundation in Boston, USA, to promote Free Software. Today, it has its sister organisations in India, Europe and Latin America. The philosophy of Free Software has led to movements to free various kinds of information from the severe restrictions imposed by copyright laws. These include Wikipedia (http://wikipedia.org), Creative Commons (http://www.creativecommons.org) and the Open Access movement in scientific publication (http://soros.org/openaccess). The new culture of co-operative production of goods of value, though the goods are virtual, is leading people to explore the possibility of an economy where production will increasingly become `peer-to-peer' and could take over completely from the capitalist mode of production eventually.

Stallman was in India recently to participate in the International Free Software Free Society conference at Thiruvananthapuram in December 2008. This interview was done through email after his return.

Question: Twenty five years after you launched the GNU project, how do you see the progress it has made? What do you feel about its achievements and failures?

Stallman: The GNU Project has succeeded -- we developed the free GNU operating system and made it work well enough for millions to use. Of course, not every specific programming project that we undertook was a success, but the overall project succeeded. It succeeded so well
that it has inspired thousands of other projects to develop and release free software, which is why a GNU/Linux system distro today usually contains thousands of application programs.

However, the GNU Project was just the beginning of the free software movement's mission. Our mission is the liberation of cyberspace. That won't be finished until proprietary software disappears and all computer users are free.

The free software movement has a long way to go. Most computer users do not use GNU/Linux or any free operating system. And most GNU/Linux users have installed some non-free software, often drivers or applications. And even those that have not knowingly installed any non-free software may run it unknowingly through their browsers. To change all this, we have a lot of work to do, and we need your help.

Question: What do you think are the major threats today to the freedom that you have been working for?

Stallman: One threat is that of hardware whose specifications are secret. It is hard to write free software to talk with a device if the manufacturer won't tell you how to use it.

Another threat comes from laws that forbid some free programs. Software patents are an example of such a law. India is currently trying to allow software patents through a sneaky route.

Another threat comes from the way some proprietary software companies put their software into schools where they are taught to students, thus leading students and society down the path of dependency.

Question: Lack of drivers for some of the hardware like some display cards and printers has been one of the problems when we try to use Free Software. How do you see this problem? Is there any change in the situation during the last few years?

Stallman: We have made substantial progress in the last several years. Around three years ago there were no WiFi devices in production that worked without non-free software. Now there are several; see the FSF hardware resource pages for the list of them.

None of the best 3d graphics accelerators worked with free software; now only nVidia refuses to cooperate with our community. So spread the word: don't buy nVidia graphics accelerators.

We have also made progress removing the firmware blobs from Linux; the result is Linux Libre\footnote{Libre is French for freedom.}, a branch of Linux which is once again free software.

Question: We are now on version 3 of the GPL (The main licence used for publishing Free Software.). What were the main reasons for introducing a new version now?

Stallman: Version 3 of the GNU General Public License has around ten major changes and dozens of minor ones. See the Rationale document in gplv3.fsf.org for explanations of every change.

The most controversial change in GNU GPL version 3 is to protect the users' freedom against tivoization. This is the practice of building a physical product so that it refuses to run modified versions of the program. GPL version 3 blocks tivoization by requiring the product's distributor to offer you whatever information you need to install your modified versions and make them run.

Torvalds said he rejects GNU GPL version 3 because he approves of tivoization, because he does not agree that users deserve the freedom to change their own copies of software.

Question: Can you tell us something about the history of the GPL, how it came to be written originally and how it has evolved.

Stallman: In the early 80s I came across the peculiar license of TeX [Added explanation: A program for typesetting documents developed by the famous computer scientist Donald Knuth (author of the 4-volume classic The Art of Computer Programming)], which permitted modified executable versions to be distributed without requiring the accompanying source to be made available. As a result, some modified versions of TeX were available only as executables.

Thinking about this led me to look for a way to require that redistributors make source code available with the binaries. I came up with the basic idea that you can trace through various versions of the GNU GPL.

Since Emacs was the only GNU code that was worth releasing at the time, I wrote this up as the GNU Emacs General Public License and released GNU Emacs that way. Later on I copied the license into GCC as the GCC General Public License, and so on into other programs.

Then I realized that since the license of Emacs and the license of GCC were not identical (one said "I'm the license of GNU Emacs" and the
other said "I'm the license of GCC"), perhaps they did not permit merging code between these programs. That was supposed to be permitted. So I developed the GNU General Public License, which did not mention the program by name, and would apply to whatever code was released under it. Version 1 of the GNU GPL appeared in 1989.

Question: Some of our readers must have heard about your hack of the printer driver in MIT and how you came to a decision to create software that gave users freedom, but many haven't heard the story. If you don't mind, could you please repeat it once again?

Stallman: During the 1970s, at the AI lab at MIT, we used a free operating system that had been developed by the lab's system hackers. When I was hired in 1971, my job was to improve the system. At that time, all the software we used on our computer was free.

In the mid 70s, Xerox gave us the Xerographic Printer or XGP. This was like a laser printer except that instead of a laser it used a one-dimensional CRT\footnote{Cathode Ray Tube.}. It often got a paper jam. It was not very fast but its paper rolls were small, so it ran out often too. To make operation smooth, I added two features. First, the system displayed a message on your screen whenever the printer finished your print job. Second, whenever the printer ran out of paper or got jammed, the system displayed a message on the screen of each user who was waiting for printing.

Both features involved communication between the dedicated PDP-11 computer that ran the printer and the main PDP-10 computer. Both were possible because we had the source code of the printer control program that ran on the PDP-10.

In 1978 or so, Xerox gave the AI lab a newer printer, the Dover. It was the first model of laser printer, actually a modified copier.

We soon noticed that it was very fast and printed with very high quality, but often got paper jams. Its paper magazine was large, but with such fast printing it could run out of paper often too. So I thought of adding features similar to the ones I had implemented before. However, there was no way to do this because we had not been given the source code for the printer control software, which ran in an unusual computer called the Alto. Since the road was obviously blocked, I abandoned the idea.

Then I heard that someone at CMU\footnote{Carnegie Mellon University} had the source code for this printer control software. Later I was visiting Pittsburgh for some other reason (I don't recall why), so I took advantage of the opportunity to go to that person's office and ask for a copy of the source code. According to the customs of our community, he should have shared it.

He refused to give me a copy, saying he had signed a nondisclosure agreement. This made me angry, and since there was no way I could change his mind or punish him, it rankled. The anger made me reflect at length about the ethics of what he had done.

I concluded that when he signed that agreement he committed the inexcusable wrong of betraying the rest of our community. I vowed that I would never sign a nondisclosure agreement for generally useful technical information, such as software.

This one series of experiences was not the sole and whole basis of my views about free software. It combined with a number of other experiences, both in our free software community and with the proprietary software that we saw around us increasingly as the 70s went on.

Question: You stated that all the software you were using in MIT in the 1970s was free. What licence were they under? Or were they in the public domain?

Stallman: They were in the public domain. Back then, people who wanted to share did not think about licenses. Also, at that time, in the US, anything that was published without a copyright notice was automatically in the public domain.

Question: We understand that you are a graduate in Physics. How did you then come into software? Would you mind telling us that story?

Stallman: As a student, I was interested in many subjects but there was a limit to how many courses I could take. So I decided to take classes to learn math and physics, while learning programming by doing it. (I chose to officially major in physics rather than math only for reasons of specific university requirements -- this did not affect what classes I took.) In my first year of college I was hired by MIT as a programmer, giving me a great opportunity to learn.

Over the years I found that doing real, useful work in programming was more fascinating that merely studying physics. After graduation, I did one year of graduate school in physics, then dropped it and focused solely on programming.

Question: You have been coming to India for several years now. How do you see the progress of Free Software in the country?

Stallman: I see substantial progress in some government agencies, and in the schools in some states. But, despite this progress, most Indian computer users have no ides of what free software is or what the GNU/Linux system is. There is a lot of work for Indian free software activists to do.

Question: The Free Software movement has seeded freedom movements in other areas, such as Wikipedia, Creative Commons, etc. How do you see these movements? What is the stand of FSF on them?

Stallman: The FSF is concerned with the useful works that you need in order to use a computer: software, documentation for software, and text fonts for display and printing. Beyond that, the FSF does not have a stand, but I do: I believe all information works whose social purpose is to do a specific functional job should be free (in the sense of freedom). So I am a strong supporter of Wikipedia, and of free dictionary projects. I support projects to develop free textbooks.

Regarding art and entertainment works, works whose social purpose is simply to make an impact on the user, I think the user is entitled to one essential freedom: the non-commercial redistribution of exact copies. To this extent, I am in favor of releasing art and entertainment works under any of the current Creative Commons licenses, since all of them give this freedom. But Creative Commons fails to advocate this freedom: it does not say that users deserve this freedom, only that it provides licenses by which developers can do what they wish. At the level of philosophy, I think Creative Commons falls short.

Question: How well has FSF been able to stop GPL violation? Do you see this as a problem?

Stallman: We have been pretty effective at ending known violations: over 20 years we have cleared up hundreds of them, and only this month have we encountered a violator (Linksys) that made it necessary to actually sue.

Interviewer: Thank you Richard, for spending so much time with us and answering our questions.

Stallman: It is my pleasure to help the cause.

(This work is published under the Creative Commons Attribution No Derivatives (by-nd) 2.5 India licence. It may be published without changes in any media provided this note is also included. Details of the licence may be seen at http://creativecommons.org/licenses/by-nd/2.5/in)