Transcripts from the Speech of 13th, March, 2002
Richard M. Stallman
at the
Madras Institute of Technology,
Chromepet, Chennai
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
fail to learn it. you see.. he had promised to refuse to co-operate with
us, his colleagues at MIT but he didn't just refuse to co-operate with
us. chances are he refused he refused to co-operate with you too. and
chances are he did the same thing to you as well. and I'd expect he also
refused to cooperate with you. infact he prolly refused to co-operate
with most of you here today. the exceptions being some of you who
weren't born yet. because that was in 1980 or so. because he had
promised to refuse to co-operate with just about everybody alive on
earth at that time, he had signed a non-disclosure agreement. now this
was my first direct encounter with a non-disclosure agreement. I was the
victim. I and my Whole lab were the victims. and the lesson I learnt was
that non-disclosure agreements have victims. they are not innocent. they
are not harmless. they are hurting somebody.
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
always some kind of goodies, some temptation ... something they are
going to get when they sign. so they make up excuses to ignore the
ethical issue of what they are doing. they say "He'll never get a copy
anyway so who shouldn't I join a conspiracy to deprive him". they say
"this is the way its always done. who am I to question it?" they say "If
I don't sign this. somebody else will". various excuses to gag their
consciences. but when somebody invited me to sign a non-disclosure
agreement my conscience was already sensitised. because it couldn't
forget how angry I was when somebody had refused to share with _me_ the
source code the source code that my lab needed. and I couldn't turn
around and do the same thing to somebody else who didn't deserve it
anymore than we did. so I said. thank you very much for offerring me
this nice piece of software. But I cannot accept it in good conscience
on the conditions that you have set. so I'm going to do without it. no
thank you. and so I have never knowingly signed a non-disclosure
agreement for generally useful technical information such as software.
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
non-disclosure agreement and start using these non-free operating
systems. and I'm sure MIT would have had me developing non-free
softwares as well. I thought about that and I realised in that way I
could have fun programming and I could make money but at the end and I
had to look back at my career and say "I've spent my life building life
to divide people". and I would have been ashamed of everything I had
achieved. So I looked for another option. and it was easy to find one. I
could leave the software field and do something else. to many
programmers that seems to be unthinkable. they say "THe people who hire
programmers demand this, this and this. If I don't do it I'll starve."
thats literally the word they use. "starve". Well I had no other special
skills. but I'm sure I could have become a waiter. not at a fancy
restaurant but I could have been a waiter somewhere. There are two
things to know about being a waiter. one is as a waiter you are not
doing anything wrong. there's nothing evil about being a waiter. well at
most restaurants. [Laughter] and the second thing to know is as a
waiter you are not going to starve. but I realised that for me being a
waiter would be no fun. and it would be wasting my skills as an
operating system developer. It avoid misusing the skills. Developing a
non-free software would be misusing my skills. its better to waste them
than to misuse them. but still its not the best thing. so I decided to
look around for someother option. what could an Operating System
developer do that would be ethical? that would make the world a better
place? And I realised that an Operating System developer was what we
exactly needed.
The moral dilema existed for me and any other computer user because all
the other existing operating systems were proprietary. if an Operating
System developer were to write another Operating System, this is your
free to share. this would give everybody a way out of the moral dilema.
I concluded that I had been elected by circumstances to do this job. the
job had to be done. I knew that. nobody else was paying attention.
nobody was going to do the job if I did not. and I had the skills
necessary to do the job. so I realised I had to do it. I decided I would
develop a free Operating System or die trying. presumably of old age. so
this led to a bunch of technical design decisions. what kind of system
should it be? well I had seen one entire Operating System turn into dust
and blow away because it was written for a particular kind of computer
that got discontinued. I didn't know what kind of computers would be
popular in 5 years or 10 years. I knew it would take years to get this
job done. and I didn't want to take the risk that the same thing would
happen again. clearly the system had to be portable. well, I knew of
portable Operating System that was a success and that was UNIX. so I
decided to follow the design of UNIX. that way there would be a good
chance. I could write a system that could work and be portable.
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
think of people being amused by the name is half the fun of writing the
program. so we also had a hacker tradition when you are writing a
program thats similar to some existing program which is something we
often had to do back before the days of portable programming. you know
there was an existing program for some other computer system and you
wanted something like it you had to write another one. so when you were
doing that, writing a program similar to an existing one, you could give
it a name that was a "recursive acronym". which said "This program is
not that one". so there were many TECO text editors. and they were
generally called something or the other TECO. but one hacker called his
program TINT for TINT Is Not TECO. The first recursive acronym. well, we
thought that was so much fun, we started making more. In 1975 I
developed the first EMACS text editor. The programmable, extensible
display editor. and there were many imitations of EMACS and some were
called something or the other EMACS. but one was called FINE. for FINE
Is Not EMACS. and there was SINE for SINE Is Not EMACS. and EINE for
EINE Is Not EMACS. and MINCE for Mince Is Not Complete Emacs. and then
EINE was almost completely rewritten by not quite and the new version
was called SWEI for Swie Was EINE Initially. [Laughter].
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
on the Internet. so they were asking me how could they get copies. I
could have said "I want to spend my time writing more pieces of GNU. Not
writing Mag Tapes. so please find a friend who is on the Internet who
will download it and put it on tape for you." And they would have found
somebody sooner or later. Every programmer knows every other
programmers. but I had no job. and I was looking for someway I could
make money through my work on Free softwares. So I announced "Send me a
150 Dollars. and I'll mail you a copy of GNU Emacs". And the orders
began dribbling in. by the middle of the year they were trickling in. I
was beginning to get 8 to 10 orders a month. which if necessary I could
have lived on. So I had a free software business that was successful
enough for me.
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
english word free has multiple meanings. One meaning refers to price and
another meaning refers to "freedom". When I speak of Free Software I'm
referring to freedom not price. so think of free speech, not free beer.
[Laughter] . when you start talking about free software to people it
doesn't hurt the first time to explain that I mean 'free as in freedom'.
to help prevent any confusion. so some people got their copies of GNU
emacs and they didn't pay me because there was nothing on the FTP server
to collect any money from anyone anybody could download it. some got
their copies on a tape from me and they paid me. and some got their
copies indirectly from somebody else who had a copy and maybe they paid
that somebody else I dont know but they didn't pay me. whether they paid
the somebody else that was between them and it was not in my business.
so GNU Emacs was gratis for some users and paid for for some users. but
for all of the users it was free as in freedom.
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
are not even allowed to run the program anyway you like thats a rather
restriced program. even most most software will let you run it anyway
you like, even though its restriced in other ways. and also the way the
law is setup, if you have freedoms 1, 2 and 3 then freedom 0 follows as
a consequence. so the freedoms that really distinguish Free Softwares
from typical softwares are Freedoms 1, 2 and 3. so I'll go into more
depth explaining why those freedoms are more important and what they
need:
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
you'll see what new bugs we gave you" [Laughter] .
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
importance of this spirit of good will of helping other people. for
thousands of years moral leaders have encouraged the spirit of
benevolence. so what does it mean when we see major social institutions
telling you that you are not supposed to help your neighbour. they are
polluting the society's most important resource which is something that
society cannot afford. what does it mean when they say that if you share
knowledge with your neighbour you are a "pirate". They are saying that
helping your neighbour is the moral equivalent of attacking a ship. if
you don't believe that, reject that word. its a propaganda word. and
what does it mean when they start making harsh punishments for anyone
who shares with his neighbour how much fear is it going to take to get
people to stop helping their neighbours. do you want your country to be
pervaded by that level of fear? I certainly don't. I hope you dont
either. this i think is the most important reason why software should be
free. because we must encourage people to help their neighbours, not
discourage them. When I was a child going to school, the teachers were
trying to teach us to share. they said, If you bring candy to school you
can't keep it all for yourself, you have to share with the other kids.
they were trying to teach us to share with other people. now the US
today is the world leader in trying to stop people from sharing useful
information with their neighbours. [Applause]. but the US is not the
first country to make an effort to stop sharing. The soviet union did
that too. Trying to crush the forbidden copying and sharing which was
known as "Samisda"[?] You know dissidence did the same. you get a copy
you put six carbons in your typewriter and you a copy and then you hand
out those six copies to other people and they would type up more copies.
The soviet union despite all its vicious repression was never able to
completely stop the undergroud sharing that their people did. But they
tried hard and they used several different methods. First guards
checking all copying equipment, thats why people had to it with carbon
papers with typewriters because for every piece of copying equipment
there was a guard check what you copied. Second : harsh punishments.
Those who were caught doing forbidden copying could be sent to siberia
for years, were put in prison. Third: To help catch people they ask for
informers, They ask everyone to wrap on their co-worker's and their
neighbours to the information police. Fourth to help catch people
collective responsibility. "You. You are going to watch that group. If
I catch any of them doing forbidden copying, you are going to prison. so
watch them carefully." and fifth, Propaganda starting in Childhood: To
teach everyone that only a vicious enemy of the people would do this
forbidden copying. The US today is using all five of these methods to
crush forbidden copying and sharing. First: Guards checking copying
equipment. Well in copy store they have guards checking what you copy,
to make sure you don't do forbidden copying. But to have human labour
checking what you are copying would be too expensive in the US. I guess
they didn't think of hiring people from India to do it. [Laughter] . so
they are using robot guards. Programs that go in your computer and are
designed to check what you are going to copy and stop you. Its a crime
to bypass these robot guards. Second, Harsh Punisments: Well, ten years
ago if you made copies of something and handed out them to your friends
just to be nice, that was not a crime in the US. it had never been a
crime. and then they made it a felony. You could be put in prison for
years for helping your neighbours. In britain now they are proposing a
'10 year' punishment. 10 year prison for sharing with your neighbours.
That shows how far the repression can go when you try to stop people
from sharing with their neighbours. When you try to prohibit their
natural tendency. And Third: Asking for Informers, In the US, there
have been Ads on Television there were ads in the subways in Boston
asking people to ??? on their co-workers to the information police.
which there is called the "Business Software alliance". A Terror
Organisation. and I say that after careful thought. in Argentina the
business software organisation sent people letters threatening them with
being raped in prison, if they shared with their neighbours. Fourth -
Collective Responsibilty: In the US this was done by Constricting
Internet Service Providers to keep track of, they've been made legally
responsible for everything their customers post. and the onlyway they
can escape being punished is if they have an automatic procedure of
taking down anything within two weeks of a complaint. so nowadays if
somebody accuses, you don't even get your day in court. your psych just
gets unplugged. and thats it.
Fifth - propaganda starting in childhood: Thats what the word Pirate is
for. When I went to school, the teachers tried to teach us the habbit of
sharing. Today according to the US govt, teachers are supposed to teach,
quote, Say Yes to Licensing, Unquote. So instead of saying "Oh you
brought candy to school, well you have to share it with the other kids".
they say, "Oh you brought software to school, well, don't share it. oh
no! sharing is wrong. sharing means you are a pirate." the US laws don't
apply in other countries. But the US is trying to push the same kind of
laws in every other country. I hope you will spread the word that the
India should _not_ adopt a law like the DMCA in the US. Thats a
Tyrannical law. Its an Oppressive law and _you_ should save yourselves.
Even if you can't save us. So that is freedom 2: The Freedom to help
your neighbour by distributing copies of the program.
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
community purely because the software was practically advantageous. it
was expedient.and they didn't appreciate the freedom. They didn't care.
and when they talked about the software to other people they didn't even
mention freedom as an advantage. they didn't say the fact that you are
free to co-operate with other people is an advantage. they just
mentioned that it was powerful, reliable software and you could get it
cheap. so then we got millions of more people coming into our community
who never even heard anyone say that there is an ethical issue here. and
eventually they formed a different movement called the "open source
movement". Now I've been telling you the phil of the free software
movement and as you can hear we sight both practical benefits and
ethical benefits of having these freedoms in your use of software. the
open source movement has practices close to ours, not identical. But the
big difference is that they only sight the practical benefits. They
don't say that morally speaking this is the way it should be. They go to
companies and say we think it would be advantageous for you if you do
things this way. well that is useful, they've persuaded some companies
to release important pieces of software as free software. so practically
speaking they contribute to our community but at the same time in the
fundamental questions of the community we disagree completely. what your
views are thats for you to decide. You might agree with the FSF, you
might agree with the open source movement. you might disagree with us
both. its up to you. but I'd like to invite you to support the Free
software movement. After you've had a chance to think about the issues.
and if you _do_ support us, please wave our banner. our banner is the
term "free software" if you support the movement free software, say so
by using the term free software. Its one of the ways to keep us in the
public awareness so that our views and principles will be visible to
people and they will have the chance to think whether they agree or not.
because the open source movement tends to get more support and
businesses. and those businesses tend to use their terminology and bcos
they don't criticise the practice of proprietary software their views
are easier. They are less challenging ethically. So they get a lot of
supporters who are not prepared to consider the ethical issues that we
in the free software movement raise. so the result is that their name is
heard more and we often get forgotten. If we were to raise this ethical
issues so that people can think about it we need to get heard and you
can help us with that by raising our banner the term "Free software". so
if you don't have this freedom, the Freedom 3, the freedom to publish an
improved version. that causes practical material harm because this
phenomenon of community improvement if we don't get powerful, reliable
software. but it also causes psycho-social harm. which affects the
spirit of scientific co-operation. the idea that we have to work
together to advance human knowledge if we are going to do it
effectively. so that is freedom 3. the freedom to help build a community
by publishing an improved version so that others can benefit from your
work.
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
to get these opposite results. bcos normally copyright is used to stop
people from sharing. to deny them the freedom to share. whereas we when
we use copyleft, we guarantee everybody the freedom to share in order to
make sure that all of you get the freedom to share we have to make sure
that those middle men cannot strip the freedom away. so here's how we do
it. First we put on a Copyright notice which says "This program is
copyrighted" and then and by default you are not allowed to change or
share the program. But then we say you are explicitly authorised to
modify this program. You are explicitly authorised to redistribute
copies of this program. You are explicitly authorised to publish a
modified or extended version. But there is a condition. This condition
is the reason why we go to all this trouble. The condition says: "Any
modified or extended version or any version of this program you
distribute must as a whole carry with it the same freedom that you got
from us". and so the result is that everywhere the code goes the freedom
goes with it. Even if the program changes it still carries with it the
freedom. so all the users get the freedom. The X Windows Problem did not
happen for us. In effect these crucial freedoms that I explained to you
becomes inalienable rights of users of our software. so copyleft is a
general idea. You can't use copyleft. Like you can't use the concept of
a text editor. you have that specific text editor, then you can run it.
and likewise to use the idea of a copyleft you have to have a specific
license that you use. The license we use for most GNU software is called
the GNU General Public License or the GNU GPL for short. Note that the
'G' in 'GPL' stands for General. Not GNU. we also have a couple of
other copyleft licenses that are other more permissive in special
situations. But mostly we use the GNU GPL. and infact about 2/3rd of all
free softwares use the GNU GPL. We also have a kind of copyleft license
for manuals and text books called the GNU Free Documentation License. So
if are writing a text book on any subject at all, I hope you'll release
it as Free Documentation under the GNU Free Documentation license. This
license was designed to make it possible for commercial publishers to
profitably publish free manuals and infact there are some six free books
that have been published commercially under this license. Thats not
counting the manuals that we publish in the free software foundation. so
there is copylefted free software and there is non-copylefted free
software. Both of them are free . The developers of the non copylefted
free softwares like the X windows have respected your freedom. they are
not trying to deny you any important freedom. The difference is with
copyleft we go even further and we actively try and stop anybody from
taking away your freedom. with a non-copylefted free software they are
not actively defending you your freedom but they donot attack your
freedom. so they are respecting your freedom. They are not doing
anything wrong. they are just not doing as much right as they could do.
its a very big difference. We don't say that they are doing wrong. but
we just say that they could do better. so that non-copylefted
freesoftware can be used in a free operating system like GNU and infact
I did decide to use X Windows in the late 1980s. I felt we should have a
window system in GNU but before we wrote one there was one X. it was
becoming popular, it did the job, it was technically suitable. so I said
alright we'll save trouble. We won't write a window system of our own.
we use X. so we started the other making the other pieces of the GNU
system work together with X. and we put into the coding standards that
if your program is graphical it should work with X. Through out the
1980s our mission was to come up with all the pieces we needed to make a
complete Operating System. now sometimes we were lucky and somebody else
wrote the piece we needed or something that could do the job like X
Windows. and when that happened we said good we don't have to write this
piece. We'd just use the piece that we found. but that happenned or
didn't happen by chance. bcos those other projects, they were not aiming
to make a free Operating System. They had various different goals of
their own. so it was just accident whether their software was useful for
us and whether they made it free. well, we were looking for
opportunities to save the effort by using some existing software that we
could find. because the job of developing a whole unix like system was
very big. many people said it was so big we'd never finish it. well, I
thought we'd finish it but clearly we had to look for shortcuts. But
when we didn't find this existing software to use then we had to develop
those programs or recruit people to develop them. And thats what we did
during the 1980s. In october 1985 we founded the Free software
foundation. which is a charity whose purpose is to raise money to
promote Free software and in the 80s a lots of its activity was hiring
people to work on developing GNU. some important pieces of this system
like the Shell and the C library were by the staff of the Free software
foundation. but most of the work was done by volunteers. For instance
I'm a full time volunteer for the free software foundation. bcoz the
foundation doesn't pay me. now there's a reason for that when the
foundation first had enough money to hire one person I as the president
had to decide who to hire. and it was my responsibility to spend the
money effectively. So I realised that paying st(.*)nous[?] salary would
be like throwing the money away bcos we could get st\\1n to work for
nothing. So I decided to hire someone else instead. and now a days
though there are many full time volunteers for the GNU project, most of
them are getting paid by somebody else. so for the FSF they are
volunteers. There are also thousands of part time volunteers who are
contributing their spare time and don't get paid for it but they still
get a large amount of work done. In the 80s and in the early 90s it was
possible to doubt whether free software could actually develop the full
spectrum of software to fill the public's needs. but nowadays we are
pretty close to doing the whole thing already. so there's no long any
possible doubt that we can't do the job. the only question is whether we
will be allowed to do the job. but thats getting ahead of things. by
1991 the job was almost done. we had almost all the pieces necessary but
there was one major gap still. The Kernel. Now we started developing our
kernel in 1990. Again we were looking for a way to save time by finding
something we could start with that was already working and we found an
already working micro kernel called 'MACH'. developed at Carnegie Mellon
University. so mach did the lower level part of the Unix kernel's job.
So we had to write the upper half and we were going to do that by
writing a collection of servers that communicate through message
passing. and this provides all sorts of technical advantages, greater
power. And we thought that bcos these were effectively user programs it
would be easier to debug them unfortunately thats not so. That wasn't
so. The Debugging facilities were lousy and these programs were
asynchronous so they can have timing errors that were not reproducible.
it took many many years to get this collection of servers which is
called the GNU/Hurd to run. we call it the GNU/Hurd btw, because GNUs in
Africa live in Herds. So this is a herd of GNU servers or GNU/Hurd.
Fortunately we didn't have to wait that long because in 91, 92 a finnish
college student called Linus Torvalds wrote another free kernel, well he
wrote a kernel and at the end he decided to make it free software and he
released it under the name "Linux". He used to monolithic approach that
had been used before. well we didn't know about linux. because he never
contacted us to tell us about it. But he announced it on the network
somewhere and people who knew about it said "Lets see if we can find all
the other parts of an operating system so that we can make a complete
system." So they looked around and lo and behold, everything they needed
was already there. What good fortune, they said its already available.
but there was no rock about it. What they had found were all the pieces
that were going to be the pieces of GNU! so infact what they were doing
was fitting linux into that gap in that GNU system to make the
combination of GNU + Linux. The GNU/Linux system. But they didn't
realise that. They didn't that they were finding all the pieces of the
GNU system. Therefore they were starting with Linux and finding these
other pieces and putting them on top of linux. so they call that a Linux
system which they really shouldn't have done. They had no business
calling this version of our operating system by someother name. but
thats what they did. and the misnormer got immitated by other people.
and thats how it happened. that we developed an Operating System thats
used by some 20 million people and most of them don't know its our
system. They think its Linux. They think it was all started in 1991 by
Linus Torvalds. Well, the development of Linux, the kernel was a major
contribution to our Community because that was the step that took us
across the finish line. because before that we had 95% of the system
but it wasn't capable of running by itself. so you take parts of that
system and install them on top of another operating system but you had
to get another operating system to start with once that last gap was
filled that made it an entire operating system. so you could put it on a
bare PC. You didn't have to have some other operating system first. And
infact that meant that the goal we had set out for in 1984 had been
reached. It was a Free Operating System that you could run on a modern
computer. So you could actually live in Freedom. you could install this
free software you could refuse to use any proprietary software and then
you would have freedom and you would have the freedom to form a
community with other people the freedom to cooperate with others. so
you could live an upright life. A happy life as a computer user. but,
the error of calling the entire system Linux, was a major blow to the
Free software movement. bcos it broke the connection from our software
to our philisophy. before that people who used these pieces of GNU on
other system they knew they were using pieces of GNU. so they thought of
themselves as GNU users. They became the fans of GNU. and so when they
saw the things we had put in there to describe the philosophy they would
think about it seriously at least sometimes they would. because they
realised that this was the philosophy behind the software that they
liked. so that was the reason to atleast give it a serious
consideration. And that philosophy I had been telling you today. Well,
after thinking about it, some of them would agree. And if they agreed
they then feel a motivation to develop more software for GNU. so the
software helped to spread the philosophy and the philosophy helped to
extend the software. but when people started calling this entire GNU
system Linux, this connection was broken and instead the software lead
people to a different philosophy. The philosophy associated with the
name "Linux". Which was the apolitical philosophy of Linus Torvalds. He
didn't like considering these things as ethical or political issues. he
just put that it in terms of whats practical. He didn't say that
software should be free. He sometimes develops and uses non-free
software. so the result was here was this system thats basically GNU and
it was attracting people over to the other philosophy and not to ours
anymore. it was a real problem. btw the other philosophy was the one
that later on became the philosophy of the open source movement. so the
result is that if you look around on our community, most of the users of
this version of this GNU system have never even come across the
philosophy that motivated us to do all this work. sometimes people say
to me when they hear me making efforts to ask people "please call the
system GNU/Linux", they say to me it looks bad to ask for credit. it
looks like you're just being selfish. so it would be much wiser to let
it drop and when people call the system linux, smile to yourself and
take pride in the job well done for this would be a very wise advise
except for one mistaken premise. the idea that the job is done. We have
a lot of work to do. we've made a great beginning but we haven't
finished the job. you see we've developed free systems that are used on
some 20 million or so computers but thats a fraction of all the
computers that there are maybe 5% I think I heard. and that means we
have a lot more to go. we have a large range of free software now, but
there's still other programs that users would like. we have to develop
those. we have to make sure that you have free software for every job.
and there are laws being passed in some countries that prohibit us from
developing free software for certain jobs. we have to do what it takes
to overcome those obstacles, repeal those laws whatever is needed. Its
going to take determination. some of these jobs can be done just by
writing software and people will do that because its fun in many cases.
But overcoming these obstacles takes more than just fun, it takes the
kind of determination people show when they know that they are fighting
for their freedom and for their communities. So we have to teach people
that. but if you look around in your community today you'll see every
where you look most of the institutions in our community are calling
these systems linux and not presenting freedom as the goal and the
result is when I talk about the importance of freedom I get responses
like "This idealism is bad for the success of Linux". They say "what
does this got to do with me? I'm a linux user". People call themselves
Linux users that means people use the GNU/Linux system but when they
hear about the philosophy behind GNU they say "What does this have to do
with me?" because they don't see any connection between themselves and
GNU. If they knew the origin of the system that they're using they would
see the connection and the name GNU/Linux shows people that connection.
and then there's the others that say "This Idealism must be impractical
and its bad for the success of Linux". There's so many ironies in that.
One of them is What do they mean by success of Linux? Well they are
really talking about the success of the GNU/Linux system, but what does
it mean for that system to succeed? They think it means just to have a
lot of people running it. and never mind how. never mind if these people
run it together with non-free software. because they are thinking of
success as nothing but popularity. which is irrational. Its actually an
example of mental inertia. you see, they copy that idea of success from
the proprietary software world. In the proprietary software world
atleast its rational. Why do they want their software to be popular?
because every user is supposed to pay them! so more users means more
money. its an evil system but atleast they're being rational in that
part of it. When you copy this definition of success over to free
software it doesn't make any sense at all! You know why does it matter
how many people use that free kernel linux? Its a kernel it does its
job, but is the number of users of that kernel really important? I don't
think so... and why does it matter how many users are using the
GNU/Linux system or any variant of the GNU/Linux system? Now I might
feel something about it because I launched it. but thats just ego.
Really is it important how many users this system has? I don't think its
of any real importance. The important thing is to spread freedom to as
many people as possible and ultimately to everyone. Thats the goal thats
worth striving for. We have to remember that goal. because the most
important thing for reaching a distant goal is to remember the goal. if
you forget where you've headed you're going to end-up somewhere else!
and is idealism really impractical? Not at all. If you are a distant
goal, there are only two ways to reach it. one of them is to have a lot
of money. and the other is idealism. because idealism will enable you to
keep on going until you get there, otherwise you'd just give it up. so
we don't have a lot of money. so we have to have this idealism instead.
there's nothing more practical like idealism. The GNU system and the
GNU/Linux variants are our idealism made real. But, very few people are
saying this to the users of GNU/Linux. Most of the institutions in our
community call this system as Linux and they don't say these things.
Consider for instance the companies that package this system, that
package this GNU/Linux system, well, they all put some non-free software
on the CDs, Yes, its true that you can get a free Operating System to
run on your PC, but its not easy to find one. If you go to the store and
buy something that says a version of the GNU/Linux system which says
"Linux" on it, it will always have non-free softwares as well. you have
to be an expert to know what to get rid of. and then what about the
magazines dedicated to the use of the GNU/Linux system. Typically these
magazines call themselves Linux Something.....
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
allowed to do every job. if many of the jobs are prohibited for us, we
can never attain our goal. we can never attain our freedom all across
the globe. I should explain that the issue of free vs proprietary
software arises for published software. it doesn't arise for typically
custom software there you know if you write the program for one company
and they use it in-house. well, they do have, presumably, they do have
full freedom. They are not obligated to ever release it. but they have
the freedom to do so. so its fine. The ethical issue I've been talking
about arises when software is published. when its avlbl for users to get
copy. and btw, one consequence of this is that most of the jobs in the
software industry are not really going to be affected by free software.
its true that some jobs that involve developing proprietary published
software may go away. there would be a certain number of free software
jobs replacing them and we don't know how many there's going to be in
the future. but then there are going to be all the custom software jobs
and they may remain or a large fraction of them are likely to remain
unchanged. and this is, btw, an answer to the question of how a
programmer is going to make a living when all published software is
free. well one way is if worse came to worse, they could have jobs
writing custom software and they could write the free software in their
spare time for fun. but in fact there are jobs writing free software and
companies support these jobs in various ways. we don't really know
whether a free software will have more jobs or fewer jobs developing
published software than today's world. there's no way to tell except to
try it. but I believe, because there's an ethical issue here, software
must be free in order to treat the users decently. that we are better
off having free software even if its less software. a non-free program
is not a contribution to society. its a pit for users to fall into with
bay at the bottom. because it looks attractive. if you are thinking
short term, if you don't value your freedom, you might be attracted to
that bay and then you might get into the trap. and then you might
starting other people to get into the trap. and when you are in the trap
you're divided from every body else. you know its not a trap where you
are all in there together and you can work to get out. its a trap where
you are divided. and you are kept helpless. thats what makes it a trap.
so we have to recognise just the fact that you can make money, there's
nothing wrong with making money in enough itself. but just making money
doesn't justify mistreating other people. developing non-free software
is mistreating other people. so don't make a living that way. find
someother way to make a living. A way that involves ethical behaviour.
so, somtimes people have criticised me for my 'holier than thou'
attitude. well they are right. I'm supposed to be holy. oh, oh, I'm
attached to this. its my job because I'm a saint (wears the black robe
and the halo hat). I'm not going to be able to keep this on for a very
long time in this hot weather.
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
penance."
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
this side and then you can take some as you're going or whenever and
take as many as you can make good use of. who wants to take these and
hand out giving them out. ok you can do it [srini comes up]
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
the next person would be right there ready to ask. so please if you want
to ask a question form a line over here in the middle. and then we'll
have the microphone right there for you.
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,
in Germany,[...][inaudible]
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: