The Free Software Community After 20 Years:
With great but incomplete success, what now?
It was 5 Jan 1984, twenty years ago today, that I quit my job at MIT
to begin developing a free software operating system,
GNU. While we have never
released a complete GNU system suitable for production use, a variant
of the GNU system is now used by tens of millions of people who mostly
are not aware it is such. Free software does not mean
“gratis”; it means that users are free to run the program,
study the source code, change it, and redistribute it either with or
without changes, either gratis or for a fee.
My hope was that a free operating system would open a path to escape
forever from the system of subjugation which is proprietary software.
I had experienced the ugliness of the way of life that nonfree
software imposes on its users, and I was determined to escape and give
others a way to escape.
Non-free software carries with it an antisocial system that prohibits
cooperation and community. You are typically unable to see the source
code; you cannot tell what nasty tricks, or what foolish bugs, it
might contain. If you don't like it, you are helpless to change it.
Worst of all, you are forbidden to share it with anyone else. To
prohibit sharing software is to cut the bonds of society.
Today we have a large community of users who run GNU, Linux and other
free software. Thousands of people would like to extend this, and
have adopted the goal of convincing more computer users to “use
free software”. But what does it mean to “use free
software”? Does that mean escaping from proprietary software,
or merely installing free programs alongside it? Are we aiming to
lead people to freedom, or just introduce them to our code? In other
words, are we working for freedom, or have we replaced that goal with
the shallow goal of popularity?
It's easy to get in the habit of overlooking this distinction, because
in many common situations it makes no difference. When you're trying
to convince a person to try a free program, or to install the
GNU/Linux operating system,
either goal would lead to the same practical conduct. However, in
other situations the two goals inspire very different actions.
For instance, what should we say when the nonfree Invidious video
driver, the nonfree Prophecy database, or the nonfree Indonesia
language interpreter and libraries, is released in a version that runs
on GNU/Linux? Should we thank the developers for this
“support” for our system, or should we regard this
nonfree program like any other—as an attractive nuisance, a
temptation to accept bondage, a problem to be solved?
If you take as your goal the increased popularity of certain free
software, if you seek to convince more people to use some free
programs some of the time, you might think those nonfree programs are
helpful contributions to that goal. It is hard to dispute the claim
that their availability helps make GNU/Linux more popular. If the
widespread use of GNU or Linux is the ultimate goal of our community,
we should logically applaud all applications that run on it, whether
free or not.
But if our goal is freedom, that changes everything. Users cannot be
free while using a nonfree program. To free the citizens of
cyberspace, we have to replace those nonfree programs, not accept
them. They are not contributions to our community, they are
temptations to settle for continuing non-freedom.
There are two common motivations to develop a free program. One is
that there is no program to do the job. Unfortunately, accepting the
use of a nonfree program eliminates that motivation. The other is
the will to be free, which motivates people to write free replacements
for nonfree programs. In cases like these, that motive is the only
one that can do the job. Simply by using a new and unfinished free
replacement, before it technically compares with the nonfree model,
you can help encourage the free developers to persevere until it
Those nonfree programs are not trivial. Developing free replacements
for them will be a big job; it may take years. The work may need the
help of future hackers, young people today, people yet to be inspired
to join the work on free software. What can we do today to help
convince other people, in the future, to maintain the necessary
determination and persistance to finish this work?
The most effective way to strengthen our community for the future is
to spread understanding of the value of freedom—to teach more
people to recognize the moral unacceptability of nonfree software.
People who value freedom are, in the long term, its best and essential
Originally published on Newsforge.