Free Software's Four Freedoms

When you speak about Free Software, you speak about freedom. And
more precisely, about the four freedoms to use,
study, share and improve the software.
Thanks to an analogy to a recipe, it becomes quite clear how these
freedoms work and why it is important that the
source code of a
program is available to everyone.

Let us assume, we want to prepare a soup. In front of us, we have
the recipe and the ingredients. We are allowed to use the recipe
for any purpose: we can cook for dinner at home or at a friend's
house, in holidays, in a foreign country. This is what is meant
by the first freedom: the unlimited use for any
purpose.

Now we take the recipe, and we can read what ingredients are
needed. This is more or less the source code of the software.
Without the source code, I cannot understand the software, exactly
as I'm unable to cook the soup without having access to the list
of ingredients. This is the meaning of the second freedom: I need
the right to study how the program works and understand
it. It's of no use for me to have a packet soup, where
the composition is unclear and the recipe kept secret.

Now we can also think it a bit sad to cook alone. I am allowed to
invite some friends for dinner, or to bring them my soup when I am
inivited, or even to give them the recipe so that they can enjoy
my soup even when I'm absent. And my friends can also copy the
recipe and give it away to their friends... This is the third
freedom: the right to share copies of the software
and hereby to help people.

A step forward is to see that even if I find that my soup is good,
it could taste better. On the recipe there is some advise: to add
some parsley. But I don't like parsley so I try it with basilic.
And so it does indeed taste better. And so I take my own copy and
modify it: I erase parsley and replace it by basilic. When a
friend asks me for my recipe, I give him the new, modified
version. This is the fourth freedom: the freedom to
improve the program and to distribute the improvements to
the program, so that everybody profits from it. Since
I'm allowed to do that, my friend's soup also tastes better. Or
perhaps they will also want to add another ingredient, say some
cream, and they will modify their own copy. Things have always
evolved that way, since cooking was invented. People haven't
cooked at first a turkey filled with orange and red-cabbage with
cardamom seeds but rather with a roasted deer over a camp fire.
If noone has the right to reveal how to make things better, we
would perhaps still be eating roasted deer with raw nark or such
a thing. Awful thoughts.

It seems evident, that I'm allowed to give away a recipe or a soup
or even to improve it. If we carry this logic over software, we
can easily see that in the case of proprietary software, I'm not
allowed to copy neither to distribute the software: that's
illegal. I'm not allowed to help people.

If you think that since you can't program, these freedoms are of
little use for you, please think this over: even if you can't do
it on your own, these freedoms give the possibility to those who
can program better than you do to solve the problem for you.
Without the access to the source code however, this remains
impossible.