|
FREE SOFTWARE MOVEMENT and the GNU/Linux Operating System BY RICHARD STALLMAN on 13th, March, 2002 |
After
the Welcome Address (which was unfortunately not recorded on the tape)
the Chief Guest, Mr.Richard M. Stallman took his hands off his laptop and
came forward to deliver his speech. Here is the transcript:
So I guess I have to stand exactly here inorder for it to work right. please raise your hands if you cannot hear me. oh oh, nobody is laughing I guess that means the sound system is not working. [Laughter] now what is *this* microphone for? oic. so I can use *this* instead. there's only one. this is not *stereo*. well, ok. we'll see what happens. If i hunt around enough I should be able to play music with this. [Laughter] well, The subject of this talk is the free software movement. but really this subject is an ethical, political question. the question is "what rules should society have for using software?". But now well it sounds like its still working. alright. I'm hoping to find a place where we won't have the feedback going on. I'm going to get feedback from you at the end of the speech but I don't want feedback from the speakers. I don't think their opinion is very thoughtful and I don't think they have much useful to add to what I'm saying. [Laughter] So the question is "what rules should the society have for using software?". Now most of the time when people consider this question they work for software companies and they address it from a self serving point of view. they ask "what rules can we impose on every one else to make them pay or sell their money?". Now I'm sure you are familiar with the answers that they come up with. Now, I had the good fortune in the 1970s to be part of a community of programmers who shared software. and because of that I was led to address that question from a different direction to ask "What rules make for a good society for the people who use software?" and so I reached completely different answers. let me tell you a little bit about what life in that community was like. The community included programmers at some of the best universities. even programmers of computer companies sometimes participated. and in this community if you wrote a program, you shared it. that was our way of life. nobody forced this. nobody demanded this. but it was our way of life and so everybody did it. The lab where I worked, the AI lab at the other MIT, was perhaps the... in a way the deepest part of this community because there, all the software we used was the community software. it was all free software. we had an entire Operating System. the Incompatible Time Sharing system or ITS for short was developed by the community and mostly by us and therefore all the software that we used, we could and would share with anybody we wanted. so if you walked past another hackers console and you saw something interesting you'd say "hey what is that?" and he'd say "oh this is the new foobar program that we just got from stanford and its in the foobar directory." so you'd look in that directory and you'd find the executable you could run with also the source code. which you could study to learn how they solved those problems. and if you ran the program you might... [interrupts] To the MIC-TESTER: can you do anything about this feedback. there's so much. there's got to be a way to solve this problem. maybe if you turn of those microphones?. he should be able to turn them off... ok we'll see if this helps. ..so in running the program you might encounter bugs or you might have ideas for new features. so you could go to the source code and fix the bugs and add more features. you could even cut out a piece of that program and put it into someother program that you were writing. we used to call this "cannibalising" the old program which was a joke because it doesn't destroy the old program when you do this. so you could use the program not just by running it but in all the various ways it could be useful. The software we developed was available to everyone. It was part of human knowledge and because of that I could feel that I was on humanity's team. I was not working against other people, trying to beat them or stop them. I was working for the good of everyone. and that enabled me to feel good about my work. and so.. over the years the system grew the way a city grows. you know, you see somelines of code and say "oh by their style I can tell these were written in the 1960s". well, in other areas you see whole neighbourhoods that've been built recently and a program would be passed from one person to another to another they would keep on improving it over the years. but then we got a taste of what life was like for most computer users. the people who did not belong to a community like ours. that happens when XEROX gave MIT a laser printer. now this was a very handsome gift. it was the first time anybody outside XEROX had a laser printer. it was actually a high speed copier that had been turned into a laser printer by adding a laser attachment. now this was a very fast printer and it printed a page a second and it had high resolution and straight lines came out nice and straight. but it had a flaw. it frequently got a paper jam. now then if it was a copier maybe that was okay cause there would have been somebody to fix it when it jammed. so it wouldn't have been jammed for long. but as a printer it was off by itself and often no body would pass by and fix it for a long time. so it would stay jammed for maybe an hour. it was a real problem. now when we discovered, when we recognised that this problem existed we knew a solution. because our previous printer which was slow and low resolution and tended to make straight lines come out crooked also got paper jams. and since we couldn't improve the printer itself, we being programmers not printer enggrs, we added features to the software to compensate for the problems. for instance there was a feature that everytime a file finished printing the system would display a message on that user's screen saying "your file foo has been printed". so you had to wait because the printer was slow but you didn't have to wait extra just because you didn't know that your job was finished. and there was the second feature that I recall adding which was: anytime the printer got in trouble the system would search the print queue and make a list of people waiting for printing and it would display a message to each one of them saying "The printer is in trouble. go fix it." now if you got that message you were not going to ignore it because you would know that only a few people are going to get that message and you didn't to want to take the risk that the printer would stay jammed. so you would go straight to the printer. the printer is still jammed. but a minute later 2 or 3 people would arrive. one of them atleast would know how to fix the problem and would teach the others. so essentially the system became self-correcting. we treated the user as a part of the system. and we added end-to-end feedback and we obtained reliable operation for the entire system even though the printer components were still unreliable. after all thats what feedback is for. so we solved the problem and when we saw that the new printer had a similar problem we thought of using a similar solution. but there we ran into a stone wall. because we were able to add these features to the old printer because the old printer was controlled by a free program. we had the source code. we could make any changes at all limited by our skill as programmers. but the new printer was controlled by a proprietary xerox program. we couldn't add any features. we were stuck completely. we were prisoners of our software. so we just had to suffer with it. so you'd type the command to print a file and you'd go back to work cause you know its going to take a long time. a while later you'd notice the time oh its been half-an-hour... well, I don't desperately need it yet and its probably not printed yet so I'd go back to work. a while later you'd notice the time. oh its been a whole hour. Maybe its printed now. so you walk upstairs. you go to the printer and see its been jammed the whole time. so at that point you fix the jam and you go back to work. and a while later you'd notice the time oh its been half-an-hour and now I really need the print-out. I'd better go and see. so you go upstairs to the printer and see it printed 200 pages of other people's stuff which was about 3 minutes of printing for this fast printer and then it jammed again. and at that point you'd say "I'm going to stand here and fix it everytime it jams and so I'd get my output". constant frustration. but what made it even more boring was to realise that we could have fixed the problem except that XEROX was not letting us fix the problem because they wouldn't let us have the source code. then I heard that somebody at Carnegie Mellon had a copy of that source code. eventually I was visiting Carnegie Mellon for someother reason. so I went to his office and said "Hi, I'm from MIT. could I have a copy of the printer's source code". and he said "No. I promised not to give you a copy". [Laughter]. I was so stunned as well as angry that I couldn't think of a way to express it and do justice to my anger. all I could think of was to walk out of his office without another word. but I thought of that afterwards. you see... his refusal to help us. essentially his denial of co-operation with his colleagues was very bad for us at the AI lab at the other MIT. because we never got that source code, we were never able to solve this problem and the printer just was frustrating to use for several more years until we replaced it. but it was very good for me
in a paradoxical way because it taught me an important lesson. A lesson
which is important because most programmers
Now I was lucky to learn this
lesson. most programmers first encounter a non-disclosure agreement when
they are invited to sign one. and there's
Now there are other kinds of information which raise different ethical issues. for instance there is personal information. a totally different subject. you know if you wanted to talk with me about what was happenning between you and your girlfriend and you ask me would I please not tell it to anybody That I could agree to. because that is not generally useful technical information. atleast it probably isn't. now I could imagine that you might reveal to me some wonderful new sex technique [Laughter] and then I might feel a moral duty to pass it on to the rest of humanity so that somebody could make use of it. but if you just wanted to talk with me about the usual soap opera stuff.. you know... who hurt, who's feeling how and how the the other one responded and who's angry and things like that those details that your life are those are not something that other people need to know to inorder to see how to live their lives better. so its okay for me to keep those secret for you. but when it comes to generally useful technical information. the stuff of science and engineering. the mission of these fields is to develop that information for humanity. if we conceal it we are betraying that information of our field. this after a few years of thought I came to the conclusion that this was wrong and that I decided that I would not do it. but during the same period of time a serious of calamities fell on my community and ultimately wiped it out. my community was destroyed. perhaps the final blow was when digital discontinued the PDP-10 computer. because the entire time sharing system was written in assembler language for the PDP-10. so when the PDP-10 was discontinued our 15 years of work turned into dust and blew away. now thats a pretty bad blow in itself but the consequences were even worse. because the only operating systems of any kind from modern computers were proprietary. to get a copy you had to sign a non-disclosure agreement. so the only way you could get a modern computer and use it was to betray every one else in the field. to do exactly what I had concluded people shouldn't do. so that put me in a moral dilema. I could not go on working on my field the way I had been doing it before because that path had been blocked off. it was no longer being available. it depended on being a part of a community that had its own body of software that it could share. so what was I going to do? the
most obvious option was to accept that the world had changed. To adapt
myself to it. To start signing
The moral dilema existed for
me and any other computer user because all the other existing operating
systems were proprietary. if an Operating
and further more I decided to make the system upward compatible with unix. why? because users don't like incompatible changes. I knew that if I took all the best ideas seen in various system and added my own favourite ideas I could have developed my dream operating system. but that would have been incompatible with other systems. I knew what users would say. They would have said "well this is very nice but it would be too much work to switch over and we can't afford. so we are not going to use your system." now at that point I could have made an excuse and I could have said "Well I offerred them freedom and they didn't take it so its their fault". That would have been sufficient as an excuse. But I wanted more than an excuse. I wanted to start a community where people would actually come and enjoy the benefits of living in liberty and having a community. so to do that I had to make a system that people would decide to use. Compatibility with a popular system was a good way to make it easy for people to switch to this system once it was done. Now UNIX consists of many components which communicate through documented interfaces or more or less document. so to be compatible with UNIX you had to replace each component one by one. which means that the initial design decisions were all made. except for one: What range of target machines would we aim for?. Now UNIX was designed to run on 16 bit machines. but that the small address space of those machines made it extra hardwork to get all the programs to run in that small address space. well I realised this was going to be a big job and we have to make it try to make it easier. One way to make it easier was not to support 16 bit machines. I figured that by the time this is done 32 bit machines would be the norm and so it would be okay if we didn't support 16 bit machines. and indeed thats what ultimately happened. by the time we had a GNU system that could run every body was getting 32 bit machines. so the design decisions were
made so all that we needed was a name. well, we hackers, generally look
for funny or mischievous names because
So I decided to look for a recursive for 'Something Is Not Unix'.because I didn't have any cleverer idea. so I tried the obvious four letter approach and I discovered that none of them was a word. They didn't seem funny. so I tried a contraction so I could make a three letter acronym. I started substituting letters. ANU, BNU, CNU, DNU, ENU, FNU, GNU!. well GNU is the funniest word in the english language... so that had to be it. Now why is the word GNU used for so many jokes? The Reason is according to the dictionary the 'G' is silent. so its sounds like 'New'. so infact when people were asking the question "whats GNU?" long before there was a GNU system. But now it has a new answer when someone asks you "Whats GNU?" you can answer 'GNUs Not Unix'. And look at this you see it sounds like you are being obnoxious telling the person what it is not instead of what it is. But infact you are giving the one and only correct answer [Laughter] . Anyway when its the name of our Operating System please pronounce a hard 'G' pronounce it 'gah-nu'. If you talk operating the 'new' operating system you would get people very confused. You see we've working on it for 18 years now so its not new anymore! [Laughter] but its still is and always will be 'Gah-NU' no matter how many call it Linux by mistake. So we had a name. we could start work. In january 1984 I quit my job at the other MIT. and started working on pieces of GNU. Now I had to quit my job because if I'd kept work at MIT, the MIT administration could have said they owned everything I wrote and I would have had to beg and plead with them about precisely how to release the software. I wouldn't want that to happen. I didn't want to take any risk that my software would not be free. so I took them out of the equation by quitting my job. and I've never had a job since then. but the head of the AI lab was nice enough to let me keep using the facilities. so I began using the one and only Unix machine at the AI lab to start developing GNU. now at the time I thought we would develop all of these pieces and only then would people start to use it. Thats not how it happenned. In september 1984, I started working on GNU Emacs. which was my second implementation of the programmable text editor. by early 85 it working well enough that I could use it for all my editing and that was very convenient you see I had no intentions of learning to use 'vi'. so until that point I did my editing on other computers and transferred the files through the network to the UNIX machines to test them. once GNU Emacs was running I could actually do my editing on the Unix machine. and so infact had been other people. other people who had been emacs users wanted to have an emacs to run on their unix machines started asking me for copies. so I had to work out the full details of how to do distribution. well, Of Course I put a copy
in the FTP server directory and that way people on the net could get copies
but in 1985 most programmers were not
Now part of the reason I could have lived on that is that I have always made a practice of living cheaply. Most americans if they start making 'this' much money they immediately look for how they can spend 'this' much money. [Laughter] so they start buying houses and cars and boats and airplanes and rare stamps and art work and adventure travel and... children... [Laughter] all sorts of expensive luxury and of course once they get them they dont think they can live without them anymore. so the result is they become puppets of money. whoever has the money they have to obey. They've lost the freedom in their lives. but if you resist getting accustommed to these expensive habbits then you can decide what you want to do with your life. you can do what you think is important. you can make a contribution to the world. instead of just struggling all the time for money. But people sometimes used to
ask me before I started forestalling them: "What do you mean its free software
if it costs 150 dollars". Well, the
because all of them had certain crucial freedoms which makes the definition of free software. so let me now infact get to the hard issue and give you the detailed definition of Free software. because its after all its easy to say I believe in freedom but you are not addressing the hard issue that way. the hard issue is which are the freedoms that are important - the freedoms that we should safeguard and which are the secondary freedoms which have to give way when they conflict with the primary ones. because different ideas of freedom _can_ conflict. you know your freedom to swing your fist ends ends where my nose begins. because thats the matter of which freedoms are primary and which are secondary. so the definition of free software represents a conclusion about which freedoms are primary. let me give it to you now. a program is free software for you a particular user if you have all of the following freedoms. Freedom#0 is the freedom to run the program for any purpose in any way. Freedom#1 is the freedom to help yourself by studying the code to see what it does and then changing to suit your needs as you wish. Freedom#2 is the freedom to help your neighbour by distributing copies to others. Freedom#3 is the freedom to help build your community by publishing improved versions so others can get the benefits of your improvements. If you have all of these freedoms
the program is free software for you. Now freedom#0 doesn't require
much comment. Its pretty clear that if you
Freedom#1 is the freedom to help yourself by studying the code to see what the program really does and then changing it if you like to suit your needs. to make this freedom feasible you have to be able to get the source code. yes its true its possible to study the binary by disassembling but thats terribly hard and people only do it as a last resort of desperation. so For this freedom to be really be meaningful you must have access to the source code. so access to the source code is a free condition of FreeSoftware. Now who can make use of this freedom? Well first of all, what changes
do I need? well you could fix bugs, you could add new features. you could
translate all the error messages and output into tamil. you could port
it to a different computer system. anychange you want to make, you should
be free to make. who can take advantage of this freedom. clearly any skilled
programmer can make use of this freedom. But not only they. Any business
that uses software can directly take advantage of this freedom. Now maybe
there are no programmers in the company because what they do is make clothing.
That doesn't matter if they want the program changed they can go to a programming
company and say "How much will you charge for these changes and when can
I have it done?" and if they don't like the answer they get over there
they can go ask another company and say "When can you have it done?". because
one of the consequences of FreeSoftware is that there is a free market
for all kinds of supports and services. and the result is you can expect
better support and service for free software. for a proprietary program,
support is a monopoly. because only the company that owns the program in
general can give you any support. except for the most superficial kinds.
so the result they don't have to care and they know it. they'll tell you
"Pay us and we'll let you report a bug". and if you do that they'll tell
you "in six months there will be an upgrade. Buy the upgrade and you'll
see if we've fixed this bug and
so the support for proprietary software is typically lousy and its interesting to note that even if there's a choice of several different proprietary programs to do the job, once you've chosen a program the support for that program is always a monopoly. so you are choosing between several monopolies. well, with Free Softwares you'll get a free market for support. Of Course, in general you have to pay for it. Free software doesn't mean zero price. thats not the issue at all. were not to eliminate paying for things and we think its fine when programmers get paid to provide support for programs. infact thats the kind of free software business that I did for the second half of 80s. But the important thing is that every body has got the freedom the use the program, to get support from wherever they like, to offer support when they wish. people can also benefit from this freedom if they value security and privacy on their computer systems. because when you have the freedom to check what the program does you can see if it has a Trojan Horse. you can see if it has a surveilance feature, now if you don't have the time to check every program you use, but there's a community of users and people are checking various parts at various times. the result is if there's a malicious feature, it might get caught. and if there are accidental bugs because most programmers wont put in malicious features but we all make mistakes. so bugs are always to be expected. If there's a bug, people can catch that too and fix it.so the result is that you can trust the software better because it is not blind trust. with a proprietary program all you can do is put blind faith in the developer and often they don't deserve it. Microsoft put a surveilance in some version of Windows. It would report what was on your harddisk. and I think people got very angry and they took it out. and I heard there are other proprietary programs that are popular which has surveilance features in them too. There's also suspicion that there's a back door in windows because there are symbols called NSAKEY1 and NSAKEY2. People suspect that, maybe, these have to do with a backdoor that was provided for the NSA. No one knows and there's no way to find out either. and finally any intelligent person can take advantage of this freedom. now most people are not going to learn to be skilled programmers but anybody can learn a little programming which is enough to make simple changes. and thats useful by itself. and if you are the kind of person whose strength is getting along with people you are not a technical person well then you probably have a lot of friends. and some of those friends are programmers so when you want a change made in your program you can convince one of your friends to do it. so everybody can take advantage of the freedom to change programs. Now if you don't have this freedom that causes practical material harm to the society. because people are stuck using software that doesn't do what they want and maybe even snoops on them. and they cant fix it. They are prisoners of their software. but it also causes Psycho-Social harm. that affects people's morale, their enthusiasm for their work. you see, if you have to use a program thats painful to use its not good. and you are not allowed to improve it, its going to be frustrating. its going to be frustrating over and over. well people who've experience this repeated frustration they tend to learn to stop caring thats the way you can protect yourself from feeling frustrated. If you don't care whether you don't get any work done or not then you are not going to get frustrated when you can't get any work done. but when ... [audio tape flipped over.. a few minutes of speech is lost] for beings that can think and learn sharing useful knowledge is the fundamental act of friendship, when these beings use computers these acts take the form of sharing software. if you don't have this freedom, if a program has a owner and this owner and this owner by whatever method has setup a situation that every user has to pay to use the program [someone leaves] RMS: leaving so soon? I hope it wasn't something I said Audience: [Laughter] well, if the program has an
owner who has established a situation where every user must pay to use
the program then this creates a financial disincentive, discouraging the
user of the program. because some users will say "Alright, I'll pay" and
they will use the program and the others will say, "Its too much I'll never
mind. I'll do without it". and everytime somebody says "Never Mind, I'll
do without it", the program is going partly to waste. but the work it takes
to write the program to any given level of power and quality is the same
regardless of the no. of users. Infact it might be even harder if you have
fewer users helping you by reporting bugs. so, the same work is done. but
only a part of the potential benefit is achieved. The rest is deliberately
inflicted waste which is practical material harm to the society. but because
its inflicted by forbidding people to help each other it causes a psycho
social harm which affects the spirit of co-operation, the spirit of good-will,
benevolence, the willingness to help other people, just because you see
that they could use your help. This spirit of good will is society's most
important resource. we depend on this so that we can have a liveable society
instead of a doggy-dog jungle. and because this resource is so important
the world's major religions all talk about the
Freedom3 - is the freedom to
help build your community by publishing an improved version so others can
benefit from your work. now people used to tell me if the software is free
that means no body will get paid to work on it, so nobody will work on
it. they were confused by the two meanings of the word 'free'. because
they thought it meant gratis which is not the case but none the less that
was their theory. Today we can compare that theory with observed fact.
and we see that hundreds of people or maybe thousands are being paid to
develop free software and tens of thousands are developing free softwares
as volunteers. and in fact we are developing large amounts of free softwares.
What could possibly motivate these people? well, I tell you I'll tell you
some of the motivations that I've heard people tell me. One of them is
political idealism. and the desire to contribute to a good decent society
where people can help each other instead of to divide people and to keep
them helpless. Thats the important motivation for me but not everybody
in our community has that motivation. second - Another motivation is fun.
programming is great fun. not for everybody. but for some people and especially
for some of the best programmers, programming is fun. thats why so many
people after they do their job, which is software development want
to develop some free software in their spare time. because its especially
fun, where you are your own master and no one can tell you what to
do. another reason is to get appreciation. if you develop a free program
that a hundred thousand people use you can feel really good. a lot of people
will be appreciating you. Another is profession reputation. if a hundred
thousand people are using your free program thats gonna impress anybody
who might want to hire you another reason is gratitude. if you've been
using the community's free software for years and appreciating how useful
it is, then when you write a program, that could be an opportunity for
you to contribute something back to that community to express your appreciation.
and there may be other motivations that I haven't thought of and don't
know about. Any given person might feel a combination of several other
motivations. Because human nature and human motivation are complex and
money can also be a part of the motivation for some people those who are
getting paid. When I released GNU Emacs after I while I got a message saying
"I think I found a bug and here's a fix". and then I got a msg saying "
I thought this feature was missing so I wrote it and here it is" and then
I got another bug fix and another new feature and another and another and
another until they were pouring in on me so fast that just using all of
this help was a big job. MicroSoft doesn't have this problem. [Laughter]
[Applause]. You know I've never understood why that is so funny but people
always do find it funny. So, after a while people began noting the phenomenon
that when a free program becomes so popular you often get a community of
developers helping to improve it and free software started to get a reputation
for being powerful, reliable software from the reports of the people who
used it. and this was both good and bad. it led a lot more people to start
using the free software especially in the 1990s. but at the same time we
got lots of people coming into our
If you have all of these freedoms
and the program is free software for you now why do I formulate the definition
in this complicated way? Why do I not just say the program is freesoftware
if it comes with all these freedoms? The reason is that sometimes the same
code can be free for some people and non-free for others. Now that might
seem strange so let me give an example to explain how that happens. The
biggest example of this that I know of is the X Window System which was
developed at the MIT in, the Other MIT, in the 1980s and released as Free
Software. so if you got their version you had all these freedoms. it was
free software for you. but among those who got copies were various computer
manufacturers who distributed Unix systems. So they took X Windows and
they made the necessary changes to get X to run on their platform and then
they compiled it. They made binaries and they put the binaries in their
Unix systems and distributed just the binaries under the same non-disclosure
agreement as all the rest of Unix. and then millions of users got copies
of these binaries with no freedom at all. This created a paradoxical situation.
If you asked "Is X Windows Free Software or Not?" the answer depended on
where you made the measurement. If you made the measurement coming out
of the developer's group, you'd say "Here I observe all these freedoms.
Its a free Software" If you made the measurement among the users you'd
say "umm...most of these users donot have these freedoms. Its _not_
free software.". Well, the developers of X Windows did _not_ consider this
a problem. because they were not aiming to give the users freedom. they
were aiming to have a big professional success. It was a big success. It
set the de-facto standard. but in the GNU project. Our goal was to give
users freedom. To give you freedom. If the same thing that happened to
X had happened to GNU, GNU would be a failure. so I looked for a way to
stop that from happening and the method that I developed was called "copyleft".
You can think of this a taking copyright and flipping it over. Opposite
results. you see, copy left is based on copyright. we use copyright
law in order
So I have a different term,
I call them freedom subtracted packages. because if you have installed
a free GNU/Linux system if you are enjoying the benefits of freedom that
we've worked so many years to give you, those packages give you the opportunity
to buckle on a chain. and what about the trade shows about the GNU/Linux
system, they typically call themselves Linux-something or the other and
they host companies advertising non-free software so when in effect the
trade show gives a seal of approval to non-free software. and what about
the user groups for the use of the GNU/Linux system most of them call themselves
linux user groups and they typically invite salesmen to come in and present
non-free software in effect giving the group's seal of approval to the
use of the non-free software. Now I would like any linux user groups to
become GNU/Linux user groups and to take a stand on freedom. to stand up
for freedom and give GNU the credit for launching this system. Now I believe
that there's a Linux users group here in chennai and I hope that you will
become a GNU/Linux User group. Please tell me if you do. we have a page
where we list GNU users groups and GNU/Linux user groups. So if you become
a GNU/Linux User group, we will list you there. but in any case in our
community therefore most of the institutions are talking about Linux and
they are not standing up for the philosophy of the GNU. so the only place
you see this free software philosophy generally is in association with
the GNU name. this is why it makes a difference when you call the system
GNU/Linux because it shows people a connect between them and their system
and GNU and the Free software philosophy. it wil help people lead people
to this philosophy so that they can think about it and maybe get motivated
to get help work for freedom. and we're gonna need a lot of work.in the
US today there are too different kinds of laws prohibiting free software.
one is the Digital Millenium Copyright Act, which has been used to prohibit
free software for jobs like playing a DVD, listening to an audio stream,
reading an e-book. Its a narrow range of jobs but they are very important
jobs. if users can't do that with free software, free software is in danger.
and the other problem the even bigger problem comes when patents are applied
to software ideas. when software ideas can be patented and this is
dangerous for free software development because its dangerous for all software
developments. program tend to be complicated these days. one program will
have a hundred ideas in it. well, if ideas can be patented if software
ideas can be patented then any one of those hundred ideas might be patented
by somebody. so even then you get sued if you wrote the program yourself.
without software patents you can be confident. if you wrote the software
program yourself, if you didn't copy the code then its legal and you're
not gonna get sued for writing it. but with software patents you are quite
likely to get sued for writing it or atleast get threatened. you can't
do this. you can't write such a program. and the worst thing is if there
are a 100 ideas 5 or 10 of them might be patented by 5 or 10 different
companies. so you get one of them and when you're finished with doing it
one another comes along. so its constant trouble for any software developer
and even for software users. so all the companies in india that use software
have to recognise that software patents are a danger. all the companies
in India that develop custom software, bcos its typically custom software
thats developed by indian companies they have to fear software patents
because those custom programs sometimes use many ideas too. and they could
get sued for writing those programs. so software patents are a danger.
fortunately the Indian govt seems to be aware of this. so there's a good
chance that India will resist the danger of software patents. but don't
leave it to chance. Make sure to spread the word, especially if you know
companies that develop software or companies that use computers and software.
Make sure they understand how dangerous software patents can be. now why
do we in the free software movement particularly pay attention to this
goal? to this issue? bcos we want to write a full range of software to
do all the jobs that published software does. custom softwares are a different
area. we talking about published software. but we want to do all
the jobs that published software does. so that means we gotta be
I bless your computer my child [Laughter] I'm saint iGNUtius of the church of Emacs. Emacs started out as a text editor but it became a way of life for many computer users and then a religion. infact there was an alt.religion.emacs newsgroup back around 1990. I don't know what it was used for because I never read net news. but so,emacs became a religion. we even have a great sism[?] between two different versions of emacs. and now we have saints. fortunately no gods yet.[Laughter] To join the church of emacs you must repeat the confession of the faith three times. you must say, "There's no system other than the GNU. and Linux is one of its kernels." [Laughter] The church of Emacs has some advantages compared with some other churches because to be a saint in the church of Emacs does not require celibacy [Laughter] however it does require making a moral commitment to live a life of purity and then living by it. You must Exorcise the evil proprietary operating systems from all the computers you control. and then install a wholly free operating system instead. because wholly can be spelled in more than one ways. and then only install free software on top of that. if you make this commitments and live by it, then you too would be a saint and you too may eventually have a halo, if you can find one because we don't make them anymore [Laughter] Now sometimes people ask me
"In the Church of Emacs, is it a sin to use vi?" The
answer is that "Using a free version of vi is not a sin its a
and people sometimes ask me if my halo is really an old computer disk. [Laughter] this is no computer disk. this is my halo. But it was a computer disk in a previous life. [Laughter] so, 'happy hacking' every one,
and now I'll answer, oh btw, I have some stickers here to give out. so
let me put the stickers somewhere over at
basically go stand somewhere in the back and as people are leaving, if you have to leave now, you can get some stickers. There are a few different kinds. The best use of them is to put them in a place where they will stay permanently, so people will keep on seeing them and keep on doing some good. so lets see if this will reach here. so how are we going to do this? is there are spare microphone for the audience? What we should do is everybody
should come down and stand here. get in a line to ask questions. in that
way whenever we're done with one question
Or you can leave. you're free. and please speak as loud and as clear as you can. looks like we're having technical difficulties. [Laughter] . lets see if he can fix them. [rms yawns] MIC-TESTER: Hello... testing... testing... questioner: RMS, I'm just curious to know what is powering your laptop? RMS: I'm sorry I couldn't understand what you said. please try to speak as clearly and slowly as you can. try to make every sound be heard. questioner: I was just curious to know right now what is powering your laptop. RMS: What is running on my laptop? questioner: exactly. RMS: I'm running Debian GNU/Linux questioner: Thats great! audience: Applause. whistles. questioner: I sometimes wonder
whether these strong division between GNU on one hand as a philosophy,
moral standing and Linux on the other hand really lets say puts the whole
community thinking forward or whether it hinders it on the other hand.
See I give you a question: We had right,
RMS: I'm having trouble understanding, could you speak a bit slower and try to make sounds clear? questioner: Okay. I wonder whether the attempt to show the strong differences from your view point between GNU on one hand and the [inaudible] Linux and the Open Source movement on the other hand whether this way of seperation helps the community at all in the moral standing you are trying to promote? We had in germany for example, the last week the problem that our govt had to go for new operation system for its complete setup and it was something MicroSoft versus the open source linux community. the...the... moral undertuned[?] [inaudible] between the whole thing ... uh... sounded almost the way like you tried to explain... GNU here. so is it really fair to try to seperate these so strongly or wouldn't it be better to try to work on the similarities between both ideas. RMS: oh. I'll tell you why its vital to express the differences. the reason is that we who talk about freedom as a goal are a minority. and we're easily forgotten we could be completely ignored if we don't work to spread these ideas. and you can see that happenning constantly. there are constantly articles being published in the press about the use of this version of the GNU system. which treated just as a commercial alternative and never mention freedom at all. there are many people talking about it that way. and those people generally use the term opensource thats the term they chose for their , for what they choose to say. well, we who want to work towards the goal of freedom, we have to make our ideas heard. if we use the term open source. if we call the system linux, we're going to be confused with every body else. I've seen this happen many many times. questioner: You mentioned Freedom 0. Which is the right to use... RMS: Right to run it. questioner: <shakes head> run for whatever you wish to. now we have something called the SCCA. I could be wrong with the number of 'C's in there. Which makes it mandatory for any program to build copy protection... RMS: [interrupts] basically the SSSCA is a proposed law in the US which has a substantial amount of opposition and which we think will not pass. but we're working on opposing it. Some big companies are also trying to oppose it. we'll see what happens. But indeed that law would be an... a vicious offense and it would prohibit free operating systems. yeah, basically there's no limit to how bad a law can be. questioner: ok, I have this [inaudible] [...] freedom zero. RMS: I'm having trouble hearing you at all because the sounds are not clear. try to ennunciate the sounds clearly. questioner: Again in conjunction with Freedom 0, there is for example, we know about... the ASP hole in the GPL as of now. RMS: We don't have a what? questioner: The ASP. RMS: you are talking about the
ASP issue. let me explain what that is... The issue is the GPL says that
you can release the modified version to the public but you are not required
to. you can make a version and use it privately yourself. and thats important.
thats an important freedom. but there are come programs which are designed
[coughs] to provide network services to the public. and there, [coughs]
the original developer can feel very bad if somebody else gets a copy modifies
and improves and sets up a network service himself. and then you see he's
never releasing his improved version. so the result is that his improvements
never become available to the initial developer. so we are about to try
out a clause that can help with this problem. which says that if you are
using the program to provide network services to the public, then you must
have a command in the server which allows the user to download the source
code from your server, because you see, we believe that you have the right
to make modifications for your private use, but setting up a public network
server is not really private use. its a different kind of a publication.
you can think of it as being
questioner: my... RMS: [interrupts] so this were thinking of putting this version into GPL version 3, and when we do it not change anything for any existing software. But it would mean people can develop programs that activate this clause and then it would apply, but only in that narrow situation. questioner: my question was actually analogous to the ASP situation. Actually what can you do... what can the... uhh... FSF do if somebody takes a version of the GNU/Linux kernel and puts it in an embedded system and adds various copy protection routines to that system and distributed as... you know... effectively as ICs or even as devices which people can buy like the playstation or [inaudible] RMS: well, they are allowed to do that. and if you can't, you know the hardware doesn't give you a way to install software well we don't insist it has to give you a way to install a software. on the other hand they will be required to publish a modified version of their source code. so people could use it in making someother kind of device. I think its time now to give the next person a chance to ask questions. questioner: umm...It is public information... RMS: [interrupts] I'm sorry I cannot understand you. please try to make every sounds clear. I'm hard of hearing and there's a lot of noise here... questioner: ok. I'm sorry... RMS: [interrupts] and [...][inaudible] accent is very strange to me. with all those three things together it is almost impossible for me to understand anyword you say. questioner: It is public information that you favour the Debian Project. RMS: I'm sorry I can't understand. Can you enunciate each sound clearly. questioner: It is public information that you favour the Debian project and you also run the Debian GNU/Linux operating system on your laptop and so it is... it... the Debian project has been happening for a very long time now. why is it that you filed for a develop... developer so late in november last year as opposed to earlier say... RMS: [interrupts] I'm having trouble. I heard the first half, but when you started saying the actual question 'why is' I couldn't hear it. could any one.. can you repeat to me what he asked [pointing to Dr.P.Sriram] DPS: [inaudible].. his question is basically why did wait so long to become a debian developer. RMS: It didn't occur to me that it was a good thing to do [Laughter] unfortunately it looks like my application has been put on hold because I have not had the time to package a program and two overwhelmed with works so I can't do it. Its unfortunate, I hope I'll be able to get to it sometime soon. questioner: What do you think has been the impact of the Free software movement in India as such. What do you think needs to be addressed? RMS: Did you say, what is the impact of free software movement in India? questioner: yeah RMS: well, some Indian govts
are now starting to actively sponsor free software use and development.
In... for instance govt departments in
questioner: therewasthisarticleyesterdayonslashdot... RMS: Slow down please... questioner: There was this article
yesterday on slashdot where you were quoted as saying that the HURD is
of age. in the sense that the HURD is
RMS: [interrupts] not that its going to be available, its likely to be available. that it... it... its a... its a.. an estimate, not a promise. I see so many people getting that wrong. the article said it right but various people repeated to me leaving out that crucial point. I don't know. But what I'm saying is ... its close.. its so close now already. but there's not much further to go, the GNU/Hurd system which is the GNU system using the GNU Hurd as its kernel, its basically working now... and Anand Babu one of the main Hurd Developers, he is in Bangalore, his name is Anand Babu, he showed me his laptop with GNU/Hurd running on it. There were a couple of missing features that I think are pretty important but they... they... they wont be too hard. they should get done this year I expect. questioner: assumingthatthehurdsystemisready... RMS: S L O W E R ! P L E A S E... questioner: Assuming that thehurdsystemisreadysoon... RMS: I'm sorry could you repeat what he said? [pointing to Dr.P.Sriram] questioner explains to DPS and the first few words are heard... "Assuming that the hurd system is ready soon [inaudible]" DPS: Assuming the Hurd system is ready soon do you see it competing with the Linux? RMS: Well, the Hurd is not a
_system_. the hurd is a _kernel_. The Hurd and Mach together are a kernel.
and linux is also a kernel and yes, they
questioner: ah, good evening Mr.Stallman. My question to you is, How do I build a successful software model, business model based on free software because it has become increasingly difficult to convince the PC community about... because the first quote [...][inaudible] is do you have a software which is proprietary, which is close so that it can cause entry barriers for other people. so what would be your advise to people like us who can convince the PC community. RMS: can you repeat it for me? [pointing to Dr.P.Sriram] DPS: What would be your advise to developers who are looking for funding... who are looking for the... the... funding people... the.. the... venture capitalists. RMS: oh, give up on venture capitalists... thats the wrong approach... [Laughter] RMS: But you don't want to start a company funded by a venture capitalist anyway, because in a year or two they would take it away from you and kick you out. I mean its really a stupid way to do anything. the only reason anybody would do that, is money is the most important thing to that person and he's desperate to get rich. which is stupid. questioner: thanks RMS: Now there are people who have found ways to make a living doing free software for instance there are companies that configure and setup machines for clients using free software and then writing additional stuff to do what the client wants. and thats the way people can make a living. and they support people developing free software so thats.. you know, thats something to consider. it doesn't lead to getting rich. but ofcourse most companies that people start are not successful anyway, they may think I'm going to get this venture capital and I'm going to make a big splash and I'd get very rich. and chances are it just goes broke in a few years. you know, over 90% of the time it fails within a few years, the cases that are successful are very few. so really, if you think of that as a way to succeed you are deluding yourself anyway. questioner: The
RMS: Okay could you please repeat the question? I didn't hear anything. same questioner: The [inaudible]...[inaudible]...[inaudible] RMS: No. Please, you repeat the quetion because you heard it. I know I can hear you. DPS: The GNU Hurd and GNU linux. They share a lot of things. Why don't they work together? including ideas. they share a lot of ideas. why don't you work together closely? RMS: Now this time I couldn't really hear _you_. Its really hard... MIC-MAN: check...check... DPS: I'll try...one more try. The GNU Hurd system and the GNU Linux system share many things. including ideals. why aren't they working closer together. RMS: well, they are basically working pretty closer together. most of them is the same. its just the kernel thats different. well the... well the C library has to be fairly different as well. questioner: [inaudible]... the kernel groups to join together. RMS: You know the... the user space programs are basically the same. The same source typically run with both kernels. questioner: [inaudible].. the kernels... the kernel groups to join together. RMS: I can't hear you at all. I'm sorry. questioner: The KERNEL GROUPS to join together. RMS: oh that wouldn't work at all. and the reason is that the two kernels are totally different. they have so little in common its just not useful for these kernel groups to join together. The design is totally different. you know, ones a monolithic kernel and the other is a micro kernel design. which linus torvalds doesn't like. also... [Laughter] so you can be sure he's not going to wanna work on the Hurd. questioner: You were talking about patents for software ideas. which you wanted to prevent. are such patents currently in force in the US? RMS: Yes. Software patents are... exists. they're more than a hundred thousand in the US. there may be several hundred thousand by now. and its a big problem.there are a number of free programs that we don't have. more atleast in the US you can't find them. because they've been driven underground. questioner: What do you exactly mean by patents for software ideas? ideas in the sense algorithms? data structures? and such things.. RMS: [inaudible] yes. an algorithm
could be patented, or something more general than an algorithm could be
patented. or a feature could be patented. or an idea for data format can
be patented. or an idea for a protocol can be patented. uh... for instance
the LZW data compression
questioner: When there are too many things to keep track of, naturally there's a possibility that somebody develops something on his own which by mistake, maybe similar to a patented thing, so how do I resolve such issues? RMS: how would what? how... I didn't hear the very end. I heard most of it. the last sentence I didn't hear. questioner: How do you resolve? like accidentally... because the ideas... RMS: [interrupts] ok. ok. now I heard you. What happens is the patent holder will threaten you and either say, you just have to stop or he'll say I'll let you continue if you pay me a lot of money. and at that point you can either 'give in' you can either...[interrupts] when he just says stop, you have two choices. you either stop or you either go to court. if he says in order to do this you have to pay me a lot of money, you have three choices. you can stop. you can pay him they money or you can go to court. now if you are doing this in a company then maybe you can afford to pay. but if you are doing this as a volunteer, you'll probably don't have the money to pay. and usually they demand a price per copy. well, with free software its impossible to collect a price per copy bcos we can't count the copies. Its literally impossible, even if it were one thousand of a rupee per copy, we couldn't pay it because we can't count the no. of copies. questioner: I have two questions. the first one ... RMS: [interrupts] Please speak loud and clear! questioner: I have two questions
with me. the first one is whenever I go in for a new system why is
it that it always carries the tag "Microsoft
RMS: Could you repeat... I couldn't understand that. so could you repeat it? DPS: Its really a hardware question.. When you buy a new PC, why does it say Microsoft Software Loaded. RMS: Well, I mean... I don't know. I mean... you know much about this as I do. I think the reason is that Microsoft effectively has a near monopoly and because of that the PC companies think that all the users are going to want Microsoft. I think its unfortunate, but I can't tell them what to do. Your second question? questioner: Take for example IBM, ok? he says that some of his models are lienux compatible. but why is it that he does not favour a system which is shipped with Lienux? RMS: oh, they are equipped with GNU/Linux. But IBM calls it Linux which is not right but I didn't hear the other word so maybe you could repeat the question to me so I can answer that. DPS: you know... IBM has both... Microsoft loaded and GNU Linux compatible. Why aren't they loading their machines as loaded with GNU Linux. RMS: Why aren't they whatting their machines? DPS: Labelling. putting a tag. RMS: Labelling them. I don't know you have to ask them. But... you know... I know that they wouldn't label them as GNU/Linux because they don't call it that. They might label them as Linux if you ask them to but they might have some reason why they don't. Who cares. I don't know. you have to ask them. questioner: Many people argue that ... the... the philosophy of the free software can be arbitrarily applied to any other areas as well. like production of music... writing books... or even digital logic circuit design... so... RMS: Oh I couldn't hear that... questioner: Chip design. chip design for example. RMS: chip... oh Chip design. oh well, yes and no. Basically you could try to apply it to any kind of information but its not equally important for all kinds of information basically the area for which its important is functional information. Information typic...basically that ordinary people could use to get something done. so that includes programs and recipes for cooking and dictionaries and encyclopedias and manuals and text books... Chip designs because they can only be used by Chip fabrication plants, I think they are a less important issue. but yeah they could be free... and there are people starting to work to some extent on free chip designs and on free hardware designs. I don't think that free hardware designs are vital. However its nice. so we do say its a good thing when people work on free hardware designs. because its a lot of work to build hardware from a design. You can't just type 'build' and has something build the hardware for you. well it doesn't raise the same important ethical issue that the issue of free software raises. its just nice if the hardware design is free. questioner: and does that have anything to do with the fact that its a lot of money to develop hardware. RMS: I didn't hear any of that could you repeat it for me? questioner: Is it also because one has to spend a lot of money to develop hardware? to develop chips? RMS: Not really. In that... that would not be a primary issue if that were the only one I don't think it would convince me. but the fact that you need a lot of money to _build_ the hardware that its not the kind of things individuals typically can build. and if you do its a lot of work anyway. because of that I think its a less important issue ethically. questioner: thank you very much. questioner: I have a question in the subject of kernels. The Linux kernel is a monolithic kernel. on the other hand the Hurd for example is a Micro Kernel. Now linux grew out of the Minix project. In 1991 when Torvalds posted to comp.Operating System.minix newgroup about linux, he was very severely criticised by Andrew Tanenbaum because he believed that Monolithic kernels... they are technically inferior... RMS: I... I have a trou... I think I know what you are talking about but I can't hear you most of the words. If you could make it brief and then he could repeat it then I could try to answer you. questioner: I'll make it brief. A monolithic style was considered technically inferior, but it has proved to be a more practical style for kernels. Why is this so? RMS: Could you repeat it now? DPS: umm... Monolithic vs. Microkernels... the success points to you know that Monolithic kernel can work. RMS: And therefore... whats the question? questioner: A monolithic kernel style was considered to be technically far less inferior as early as 1991 but yet even 10 years later the most practical kernel that we have today is a monolithic kernel. Why is it that even inspite of being technically inferior it has proved to be practically more feasible alternative. RMS: k, I didn't hear it so you could ...[inaudible] DPS: The monolithic kernel would be considered technically inferior. Yet it is so popular why? RMS: Well, I don't have any
...[inaudible] which one is superior. What I see is that the micro kernel
design with multiple servers offers some
questioner: I have one more
question. You have said that people calling the GNU/Linux system as a Linux
System and forgetting about the GNU
RMS: [interrputs]... very serious.
and most of the users have heard of the philosophy of the GNU and most
of them have barely heard the name of
questioner: thank you questioner: yeah...ahh... There was a mention in the Linux Gazette of this month saying that the G N U... GNU will be stopping the manuals... the publishing of manuals in the distributions... it basically said something like... RMS: we'll be doing what?... [tape exhausts] This Documentation is released
under the GNU Free Documentation license. Please take a look at http://www.gnu.org/licenses/fdl-1.2-draft.txt
for
|