What means Free Software and why matters, May
22nd 2009

The following is a transcript of a lecture given by Richard
Stallman in Bucharest on May
22nd 2009. The lecture was given in
English. You may also be interested in
our list of
transcripts by Richard Stallman.

Who controls your computer? Forty years ago people used to be very worried
that computers would take over the world. They were very afraid but now we
know that computers do what people tell them to do - and nothing else. Which
people tell your computer what to do? Is your computer doing what you tell it
to do or is it doing what Microsoft tells it to do? If you're running
Windows, it's Microsoft that really tells your computer what to do. But if
you're using MacOS, then it's Apple that really tells your computer what to
do. Or maybe some of the time it's Adobe that tells your computer what to do.
Or a bunch of other companies that make proprietary software. Because if you
are using proprietary software on your computer, that means the program's
developer controls what it does and you, the user, don't. And that's why it's
vital to use Free Software,
”free” as in ”freedom”.

Free Software means software that respects the users' freedom and the
social solidarity of the users' community. So, it's ”free” as in ”freedom”,
not as in price: think of ”free speech”, not ”free beer” if you want to
understand the word ”free” when it appears in the combination ”Free Sofware”.
Free Software respects the user's freedom, but proprietary software keeps the
users divided and helpless. Divided, because they're forbidden to share it;
and helpless, because they don't have the source code, so they can't change
it, they can't even independently check what it's really doing to them – and,
often, it does something rather nasty. However, what I've said is rather
general: software should respect your freedom. What exactly does that mean?
I need to say something more specific.

A program is Free Software if you, the user, have the four essential
freedoms.

Freedom 0 is the freedom to run the program as you wish.

Freedom 1 is the freedom to study the source code and then change it to make the program do what you wish.

Freedom 2 is the freedom to help your neighbour – that's the freedom to make and distribute exact copies of the program to others, when you wish. And

Freedom 3 is the freedom to contribute to your community: that's the freedom to distribute copies of your modified versions, when you wish.

If the program gives you all four of the essential freedoms, than it's
Free Software, which means that the social system of its distribution and use
is ethical, because it respects the users' freedom and the users community.
But, if one of these freedoms is missing or insufficient, then the program is
proprietary software, users subjugating software, because the social system
of its distribution and use puts the developer in a position of power over
the users, which means it doesn't respect their freedom: the users of that
program are not fully in control of what it does. Thus, to develop a free
program and make it available to others is a contribution to society – how
much of a contribution, that depends of all the details, but, at least is
being offered to society in an ethical way. But, when a program is
proprietary software, its use is a social problem. If the program has
attractive features, those are the bait for the trap: they attract users to
give up their freedom and become users of this program – and, really, that
shouldn't happen, it shouldn't be done at all. The aim of the Free Software
Movement is to put an end to this social problem: all software should be
free, so that all users can be free.

But why are these four freedoms essential? Why define Free Software this
way? Each of these freedoms is essential for a reason.

Freedom 2, the freedom
to help your neighbour, is essential on fundamental moral grounds, so that
you can lead an upright ethical life, as a good member of your community. If
you use a program that does not give you Freedom no. 2, the freedom to
redistribute exact copies when you wish, then you are in danger of falling
into a moral dilemma:

At any moment, whenever your friend says: ”This program is nice, could I
have a copy?”, at that moment you would face a choice between two evils. One
evil is to give your friend a copy and violate the license of the program;
the other evil is to deny your friend a copy and comply with the license of
the program. If you're in the dilemma, you ought to choose the lesser evil
which is to give your friend a copy and violate the license of the program.
What makes this evil the lesser evil? Well, if you can't avoid doing wrong to
somebody or other, it's better to do wrong to the one who deserves it: the
developer of the program. You see, we can assume that your friend is a good
friend and a good member of your community and normally deserves your
cooperation. By contrast, the developer of this proprietary program has
deliberately attacked the social solidarity of your community. So, if you're
stucked doing wrong either to your friend or the developer, do it to the
developer. But, being the lesser evil, this not mean it's good. It's never a
good thing to make an agreement and break it – not even in cases like this,
where the agreement is inherently evil and keeping it is worse than breaking
it; still, breaking it is not good. And, if you give your friend a copy, what
would she have? She would have an unauthorised copy of a proprietary program
- and that's something rather nasty, almost as nasty as an authorised copy
would be.

So, once you have fully understood this dilemma, what should you really
do? What you should do is make sure you are never in this dilemma. I know of
two ways to do that. One is: don't have any friends. That's the method
implicitly suggested by the proprietary software developers. The other method
is: reject proprietary software! If you don't have the program, you don't
have to worry what you will do if your friend asks for a copy from you. That
is my method. If someone offers me an attractive, convenient program on the
condition I promise not to share with other people, I say ”No”, I say ”My
conscience will not allow me to accept such a condition”. And that's you
should say, too. And you should also reject the propaganda terms that the
proprietary software developers use to demonize the act of cooperation -
terms like ”pirate”. When they compare people who share software with
pirates, what are they really saying? They're saying that helping your
neighbour is the moral equivalent of attacking a ship. Morally speaking,
nothing could be more wrong than that, because attacking ships is very bad,
but helping your friends and your neighbours is good. So, don't call it
”piracy”. When they call it ”piracy”, say ”No”. When people ask me what do I
think of ”piracy”, I say ”Attacking ships is very bad”. And when they ask me
what I think of ”software piracy” or ”music piracy” I say ”As far as I know,
pirates don't attack using computers or by playing musical instruments badly,
they use arms”. Don't fall into the trap of repeating the enemy's
propaganda.

So, that's the reason for Freedom 2, the freedom to help your neighbour,
the freedom to redistribute exact copies of the program when you wish.

Freedom 0, the freedom to run the program as you wish is essential for a
different reason, so you can control your computing. It may be surprising,
but there are proprietary programs that restrict even how people, the
authorised users, use the authorised copies. That's obviously not having
control of your computing! So Freedom 0 is essential, but it's not enough,
because that just means you can either do or not do whatever the code of the
program is set up to permit, and it's the developer who decides that, so the
developer still controls you. Not through the license, but instead through
the code of the program, but it comes to the same thing.

In order to
control your computing, you also need Freedom 1, which is the freedom to
study the source code and then change it, to make the program do what you
wish – this way, you decide what your computing is gonna be, instead of
letting the developer decide and impose his decisions on you. Now, if you use
a program without Freedom 1, you can't even tell what it's doing: many of
these programs have malicious features, to do things like spy on the user,
restrict the user, even attack the user. One proprietary program you may of
heard of, that does all three, is called Microsoft Windows: we know of
features to spy on the user, we know of Digital Restrictions Management or
DRM features, designed to restrict users and we know of a backdoor that
enables Microsoft to attack the user; in fact, this backdoor is so gaping
that Microsoft has total control over the user, because Microsoft can
forcibly change the software at any time, without asking the user's
permission. So that user may think he controls his computer, but, really,
Microsoft has total power!

But, please don't think that Microsoft is uniquely evil and only Microsoft
would do this. In fact, MacOS X is pretty much the same: we know of features
to restrict the user - Digital Restrictions Management – and there is a
backdoor which allows Apple to forcibly change the software in any way, at
any time, without asking the user's permission. So it's just as bad, there's
nothing to choose from between them.

And this appears to be the natural endpoint of proprietary software: many
cellphones are set up the same way. There is a company that can change the
software whenever it wishes and the user who supposedly owns the cellphone
has nothing to say about it. What it's happening here is: proprietary
software is a system that gives the developer unjust power over the users.
Now, when someone greedy has unjust power over others, what is he going to do
with this power? He's gonna use it to try to get more power, more and more,
until he has total power. And that's what they've done! Several different
companies, in parallel. So, this is what proprietary software tends to lead
to: total power, not just power that they shouldn't have.

Now, I won't claim that all the developers of proprietary software put in
malicious features: I suppose some do and some don't. But, when a program
doesn't give you Freedom no. 1, there is no way to tell if it has malicious
features - in general. Once in a while we discover some, but, there are many
programs in which we don't know of any malicious features. But maybe they
have them or maybe they don't: we can't identify among all the programs
without Freedom 1, we can't identify any that certainly have no malicious
features – cause there's no way to check! But I presume they are some. The
problem is: you never know if the program you're using is one of them! But,
even, know, we can identify those programs, I can make a statement about them
all: their developers are humans, so they make mistakes. And the code of
those programs has bugs, and a user of a program without Freedom 1 is just as
helpless facing an accidental bug as facing an intentional malicious feature.
If you use a program without Freedom 1, you are a prisoner of the software
you use.

We, the developers of Free Software, are humans too, so we also make
mistakes and the code of our free programs has bugs. But, if you encounter a
bug in our code – or anything you don't like – you are free to change it,
cause we didn't make you a prisoner. We can't be perfect, we can respect your
freedom. Thus, Freedom 1 is essential, but it's not enough, because that's
the freedom to personally study and change the source code. What if you're
one of those millions of users that don't know how to program? Than you can't
study and change the source code yourself; but even for programmers like me,
Freedom 1 is not enough, because there is so much Free Software in the world
that nobody is capable of studying and mastering all the source code and
personally making all the changes that she may want - because that is more
work than any one human being can do.

So the only way we can fully have control of our computing is to do it
working together, cooperating – and for that we need Freedom 3, the freedom
to contribute to your community, the freedom to distribute copies of your
modified versions, when you wish. This allows people to cooperate. Here's an
example: suppose a few people release a free program and a lot of us use it
because we like it, but we wish it has certain additional features; or
someone can start with this version, add some of those features and release
his modified version; and someone else can start with that, add some more
features and release her modified version; and then a few people can start
with that, add the rest of these features and release their modified version;
and then we'll have those features and we'll say ”Thank you for cooperating
to make these improvements”.And thus, when we have all four freedoms, we, the users, are in control of
our own computing lives.

Now, all the users get the benefit of the four
freedoms. Every user can directly exercise Freedoms 0 and 2, the freedom to
run the program as you wish and freedom to redistribute exact copies, because
these don't require programming: anybody who can use the program can figure
out how to do these things and they do them. Freedoms 1 and 3, the freedom to
study and change the source code and then optionally distribute copies of
your modified versions, these entail programming, so not everybody knows how
to do them. And so there are people who can't directly exercise these
freedoms. But, when others, the programmers, exercise these freedoms and when
they publish their modified versions, all the rest of us can then install
those modified versions or not, as we prefer. So we all receive the benefits
of living in a society where people have the four freedoms, even when we
don't exercise them directly.

In addition, those who don't know how to program and can't directly
exercise Freedoms 1 and 3, can indirectly take advantage of them. Suppose
that you run a business which uses computers, as most businesses do, but
supppose that you don't know anything about programming, cause your business
is in some other field. Most businesses are not in the software field: they
use computers, but they use them to do other things. Well, if you recognise
that, supposing a program were changed, your business would run more
efficiently and you'd make more money, it would be worth it to you to pay a
programmer to implement that change, if the price is right. So, if it's Free
Software, you can look around for a programmer who's willing to undertake the
changes you want, or some fraction of them, for a price you think it's
suitable. Then you exercise your Freedom no. 2 to give that programmer an
exact copy of the version that you are using. Then that programmer exercises
his Freedom 1, studying the source code of that version and changing it to
implement the changes you wanted. And then, he exercises his Freedom no. 3,
to give you a copy of his modified version. An then, assumming it works, you
pay him for this work.

So, in this scenario, you use the fact that other users have Freedoms 1
and 3, you pay them to exercise those freedoms for you, and so you get the
benefit. An important part of Free Software business works this way, and this
is why Free Software is a tremenduos benefit to all businesses that use
computers: they deserve the four freedoms, just as individuals in their
non-commercial lives deserve the four freedoms, just as every user deserves
the four freedoms.

And the end, combined result of the four freedoms is democracy. A free
program develops democratically, under the control of its users. Because all
the users can participate as much as they wish in the social decision about
the future of this program, which is simply the sum total of all the
individual decisions that people make about what to do with the program. By
contrast, a proprietary program develops under the dictatorship of its
developer, the autocracy of its developer, who uses that program as an
instrument to impose his power on users who he can then bully, command and
mistreat – and exploit. So, on one hand we have individual freedom, social
solidarity and democracy; on the other, we have a dictatorship. Society must
choose Free Software and reject proprietary software. There is no excuse for
anyone to have the unjust power that proprietary software gives to its
developer. You shouldn't let anyone have that kind of power over you, so you
need to reject proprietary software. But society also should reject it.

The aim of the Free Sofware movement is the liberation of the cyberspace
and all his inhabitants – we should all have freedom!

This is why, in 1983, I announced the plan to develop the GNU Operating
System. It wasn't just that I've felt like developing an operating system; of
course, I knew any programming project would be fun if I succeded in doing
it, but that's not what it was about – the reason was for freedom. Because,
at the time, it was impossible to use a computer and have freedom. Because a
computer won't run without an operating system and all the operating systems
for the modern computers of the day were proprietary, so there was no way to
buy an new computer and run it and have freedom. You always had to install a
proprietary operating system and that meant giving up your freedom. So, how
can I change that? I didn't think I could change it by organizing a protest
movement, because too few people agreed with me.

So, instead, I had the idea that I could change the situation by
developing another operating system and I stood a chance of succeding at that
because operating system development was my field; and then, being the
author, I could legally make it free, giving all users freedom and then,
everybody will be able to use their computers in freedom with the system I
would write. So, I decided to invite other people to join in the development
to make it Free Software... [sorry]... to get it done sooner and... [I guess
I should take that over]... I decided to invite others to join in the
development to get it finished sooner, I decided to follow the design of Unix
so that it would be a portable system, capable of running on various
different kinds of computers, cause I knew that in five or ten years
computers would be different, I wanted the system to continue to be capable
of running on future computers.And then I decided to make it compatible with Unix, so that the many users
of Unix would find it easy to switch.

And then I gave it the name GNU, as a
joke, because GNU it's a recursive acronym: it stands for ”GNU's Not Unix”. Now, this
follows a custom among certain programmers and community which I
belong to, that when you had to write a new program similar to some existing
program, a humorous way of giving credit to the older program was you could
give your program a name which is a recursive acronym saying that your
program is not the other one. So, I've followed that tradition, especially
since it gave me the opportunity to use the funniest word in the English
language as the name. The reason this word is so full of humour is because,
according to the dictionary, the G is silent and is pronounced ” 'NU ”
(”new”), so any time you wanted to write the word ”GNU”, you can spell it
”G.N.U” and you've got a joke – maybe not a very good joke, but there are
lots of them. However, when it's the name of our system, please do not follow
the dictionary: if you talk about the ”New” Operating System, you'll get
people confused. You see, we've been working on it for 25 years now, so it's
not new anymore, but it still is GNU. And it will be always be GNU, even if
some people make the mistake of calling it Linux.

But how that strange error get started? Well, what happened was, in 1990,
we had almost all of the system but one important piece was missing, so the
Free Software Foundation hired somebody to write that piece. That piece is
called the kernel: it's the program that allocates the computer's resources
to the other programs that it run. Well, our kernel project took a long time,
it sort of runs but it doesn't works very well, so we don't use it. And
someone else wrote a kernel, in 1991, and it released it under the name
”Linux”. Initially, it was not Free Software, but in 1992 he changed the
license and he made it Free Software; so, at that point, the combination of
the almost complete GNU system and Linux, this one other program, made a
complete free operating system. And this is what made it possible, for the
first time, to buy a PC and use it in freedom by installing a complete free
operating system – a system which is basically the GNU system but which also
contains this program, Linux. So, if you call it ”GNU/Linux” or
”GNU+Linux” you give credit to the people who started the development,
as well as to the person who developed the last piece that finished it.

Today, tens of millions of people run the GNU/Linux system, maybe more
than a hundred million. Unfortunately, that's still a small fraction of
computer users and, even worse, most of those people still use some
proprietary programs, so they have not completely attained freedom. Nearly
all of the hundreds of distributions of GNU/Linux contain proprietary
programs or install proprietary programs or stirr users toward proprietary
programs, which means that they're not entirely ethical. So on gnu.org or
fsf.org you can find the list of the few GNU/Linux distributions which are
entirely free, which don't recommend the people give up their freedom. If you
value freedom, you need to use one of them; but, above all, if you you value
freedom, you need to teach other people to value freedom. Because if they are
few of us and we try to fight to defend our freedom, our chances of winning
are smaller, but if we teach other people to appreciate freedom also and they
join in, our chances are greater.

This is why I don't participate in advocating Open Source. You see, Open
Source is basically a way of talking about Free Software, but hushing up the
issue of freedom. The people who chose to start saying ”Open Source” in 1998
were the people in the Free Software community that didn't want to raise this
question at all: somehow, it made them feel unconfortable or they thought
they would make other people feel unconfortable or, some of them, wanted to
distribute proprietary software and they didn't want their potential
customers to see any reason to say ”No” to it. So, for their various reasons,
they chose to forget about freedom, they chose to construct a different
discourse but never raise this issue. Well, if people develop Free Software
for those motives, their contribution is still good; but, in the long term,
our future depends above all on what we value. If we value freedom, we will
make an effort to gain freedom and to hold on to our freedom; if we don't
know what freedom means, if we've never even heard the concept, we're not
likely to make that effort. So, I came to the conclusion that there's simply
no use in promoting Open Source, it was a distraction, because it failed to mention the most
important point.

That's why I give speeches like this, talking about Free Software. I hope
you'll join me in spreading the ideas of Free Software; for more information,
look at gnu.org and fsf.org. We also have sister organizations, FSF Europe, which is at fsfeurope.org, FSF Latin America, which is at fsfla.org
and FSF India, which is at gnu.org.in.
Thank you very much!