taler-merchant-demos

Python-based Frontends for the Demonstration Web site
Log | Files | Refs | Submodules | README | LICENSE

thegnuproject.html (54450B)


      1 <!--#include virtual="/server/header.html" -->
      2 <!-- Parent-Version: 1.96 -->
      3 <!-- This page is derived from /server/standards/boilerplate.html -->
      4 <!--#set var="TAGS" value="gnu-history" -->
      5 <!--#set var="DISABLE_TOP_ADDENDUM" value="yes" -->
      6 <title>About the GNU Project
      7 - GNU Project - Free Software Foundation</title>
      8 <style type="text/css" media="print,screen"><!--
      9 a[href*='#ft'] { font-size: .94em; }
     10 --></style>
     11 <meta http-equiv="Keywords" content="GNU, GNU Project, FSF, Free Software, Free Software Foundation, History" />
     12 <!--#include virtual="/gnu/po/thegnuproject.translist" -->
     13 <!--#include virtual="/server/banner.html" -->
     14 <!--#include virtual="/gnu/gnu-breadcrumb.html" -->
     15 <!--GNUN: OUT-OF-DATE NOTICE-->
     16 <!--#include virtual="/server/top-addendum.html" -->
     17 <div class="article reduced-width">
     18 <h2>The GNU Project</h2>
     19 
     20 <address class="byline">by <a href="https://www.stallman.org/">Richard
     21 Stallman</a></address>
     22 
     23 <h3>The first software-sharing community</h3>
     24 <p>
     25 When I started working at the 
     26 <abbr title="Massachusetts Institute of Technology">MIT</abbr>
     27 Artificial Intelligence Lab in 1971, I became part of a
     28 software-sharing community that had existed for many years.  Sharing
     29 of software was not limited to our particular community; it is as old
     30 as computers, just as sharing of recipes is as old as cooking.  But we
     31 did it more than most.</p>
     32 <p>
     33 The AI Lab used a timesharing operating system called
     34 <abbr title="Incompatible Timesharing System">ITS</abbr> (the
     35 Incompatible Timesharing System) that the lab's staff hackers&#8239;<a href="#ft1">[1]</a> had
     36 designed and written in assembler language for the Digital
     37 <abbr title="Programmed Data Processor">PDP</abbr>-10, one of
     38 the large computers of the era.  As a member of this community, an AI
     39 Lab staff system hacker, my job was to improve this system.</p>
     40 <p>
     41 We did not call our software &ldquo;free software,&rdquo; because that
     42 term did not yet exist; but that is what it was.  Whenever people from
     43 another university or a company wanted to port and use a program, we
     44 gladly let them.  If you saw someone using an unfamiliar and
     45 interesting program, you could always ask to see the source code, so
     46 that you could read it, change it, or cannibalize parts of it to make
     47 a new program.</p>
     48 
     49 <div class="announcement comment" role="complementary">
     50 <hr class="no-display" />
     51 <p>
     52 Why it is even more important than ever
     53 <a href="/philosophy/free-software-even-more-important.html">to insist
     54 that the software we use be free</a>.
     55 </p>
     56 <hr class="no-display" />
     57 </div>
     58 
     59 <h3>The collapse of the community</h3>
     60 <p>
     61 The situation changed drastically in the early 1980s when Digital
     62 discontinued the PDP-10 series.  Its architecture, elegant and
     63 powerful in the 60s, could not extend naturally to the larger address
     64 spaces that were becoming feasible in the 80s.  This meant that nearly
     65 all of the programs composing ITS were obsolete.</p>
     66 <p>
     67 The AI Lab hacker community had already collapsed, not long before.
     68 In 1981, the spin-off company Symbolics had hired away nearly all of
     69 the hackers from the AI Lab, and the depopulated community was unable
     70 to maintain itself.  (The book <cite>Hackers</cite>, by Steve Levy, describes these
     71 events, as well as giving a clear picture of this community in its
     72 prime.)  When the AI Lab bought a new PDP-10 in 1982, its
     73 administrators decided to use Digital's nonfree timesharing system
     74 instead of ITS.</p>
     75 <p>
     76 The modern computers of the era, such as the VAX or the 68020, had
     77 their own operating systems, but none of them were free software: you
     78 had to sign a nondisclosure agreement even to get an executable copy.</p>
     79 <p>
     80 This meant that the first step in using a computer was to promise not
     81 to help your neighbor.  A cooperating community was forbidden.  The
     82 rule made by the owners of proprietary software was, &ldquo;If you
     83 share with your neighbor, you are a pirate.  If you want any changes,
     84 beg us to make them.&rdquo;</p>
     85 <p>
     86 The idea that the proprietary software social system&mdash;the system
     87 that says you are not allowed to share or change software&mdash;is
     88 antisocial, that it is unethical, that it is simply wrong, may come as
     89 a surprise to some readers.  But what else could we say about a system
     90 based on dividing the public and keeping users helpless?  Readers who
     91 find the idea surprising may have taken the proprietary software
     92 social system as a given, or judged it on the terms suggested by
     93 proprietary software businesses.  Software publishers have worked long
     94 and hard to convince people that there is only one way to look at the
     95 issue.</p>
     96 <p>
     97 When software publishers talk about &ldquo;enforcing&rdquo; their
     98 &ldquo;rights&rdquo; or &ldquo;stopping <a
     99 href="/philosophy/words-to-avoid.html#Piracy">piracy</a>,&rdquo; what they
    100 actually <em>say</em> is secondary.  The real message of these statements is
    101 in the unstated assumptions they take for granted, which the public is
    102 asked to accept without examination.  Let's therefore examine them.</p>
    103 <p>
    104 One assumption is that software companies have an unquestionable natural
    105 right to own software and thus have power over all its users.  (If
    106 this were a natural right, then no matter how much harm it does to the
    107 public, we could not object.)  Interestingly, the US Constitution and
    108 legal tradition reject this view; copyright is not a natural right,
    109 but an artificial government-imposed monopoly that limits the users'
    110 natural right to copy.</p>
    111 <p>
    112 Another unstated assumption is that the only important thing about
    113 software is what jobs it allows you to do&mdash;that we computer users
    114 should not care what kind of society we are allowed to have.</p>
    115 <p>
    116 A third assumption is that we would have no usable software (or would
    117 never have a program to do this or that particular job) if we did not
    118 offer a company power over the users of the program.  This assumption
    119 may have seemed plausible, before the free software movement
    120 demonstrated that we can make plenty of useful software without
    121 putting chains on it.</p>
    122 <p>
    123 If we decline to accept these assumptions, and judge these issues
    124 based on ordinary commonsense morality while placing the users first,
    125 we arrive at very different conclusions.  Computer users should be
    126 free to modify programs to fit their needs, and free to share
    127 software, because helping other people is the basis of society.</p>
    128 <p>
    129 There is no room here for an extensive statement of the reasoning
    130 behind this conclusion, so I refer the reader to &ldquo;<a
    131 href="/philosophy/why-free.html">Why Software Should Not Have
    132 Owners</a>,&rdquo; and &ldquo;<a
    133 href="/philosophy/free-software-even-more-important.html">Free
    134 Software Is Even More Important Now</a>.&rdquo;
    135 </p>
    136 
    137 <h3>A stark moral choice</h3>
    138 <p>
    139 With my community gone, to continue as before was impossible.
    140 Instead, I faced a stark moral choice.</p>
    141 <p>
    142 The easy choice was to join the proprietary software world, signing
    143 nondisclosure agreements and promising not to help my fellow hacker.
    144 Most likely I would also be developing software that was released
    145 under nondisclosure agreements, thus adding to the pressure on other
    146 people to betray their fellows too.</p>
    147 <p>
    148 I could have made money this way, and perhaps amused myself writing
    149 code.  But I knew that at the end of my career, I would look back on
    150 years of building walls to divide people, and feel I had spent my life
    151 making the world a worse place.</p>
    152 <p>
    153 I had already experienced being on the receiving end of a
    154 nondisclosure agreement, when someone refused to give me and the MIT
    155 AI Lab the source code for the control program for our printer.  (The
    156 lack of certain features in this program made use of the printer
    157 extremely frustrating.)  So I could not tell myself that nondisclosure
    158 agreements were innocent.  I was very angry when he refused to share
    159 with us; I could not turn around and do the same thing to everyone
    160 else.</p>
    161 <p>
    162 Another choice, straightforward but unpleasant, was to leave the
    163 computer field.  That way my skills would not be misused, but they
    164 would still be wasted.  I would not be culpable for dividing and
    165 restricting computer users, but it would happen nonetheless.</p>
    166 <p>
    167 So I looked for a way that a programmer could do something for the
    168 good.  I asked myself, was there a program or programs that I could
    169 write, so as to make a community possible once again?</p>
    170 <p>
    171 The answer was clear: what was needed first was an operating system.
    172 That is the crucial software for starting to use a computer.  With an
    173 operating system, you can do many things; without one, you cannot run
    174 the computer at all.  With a free operating system, we could again
    175 have a community of cooperating hackers&mdash;and invite anyone to join.
    176 And anyone would be able to use a computer without starting out by
    177 conspiring to deprive his or her friends.</p>
    178 <p>
    179 As an operating system developer, I had the right skills for this job.
    180 So even though I could not take success for granted, I realized that I
    181 was elected to do the job.  I chose to make the system compatible with
    182 Unix so that it would be portable, and so that Unix users could easily
    183 switch to it.  The name GNU was chosen, following a hacker tradition, as
    184 a recursive acronym for &ldquo;GNU's Not Unix.&rdquo; It is pronounced
    185 as <a href="/gnu/pronunciation.html">one syllable with a hard&nbsp;<i>g</i></a>.</p>
    186 <p>
    187 An operating system does not mean just a kernel, barely enough to run
    188 other programs.  In the 1970s, every operating system worthy of the
    189 name included command processors, assemblers, compilers, interpreters,
    190 debuggers, text editors, mailers, and much more.  ITS had them,
    191 Multics had them, VMS had them, and Unix had them.  The GNU operating
    192 system would include them too.</p>
    193 <p>
    194 Later I heard these words, attributed to Hillel&#8239;<a href="#ft2">[2]</a>:</p>
    195 
    196 <blockquote><p>
    197      If I am not for myself, who will be for me?<br />
    198      If I am only for myself, what am I?<br />
    199      If not now, when?
    200 </p></blockquote>
    201 <p>
    202 The decision to start the GNU Project was based on a similar spirit.</p>
    203 
    204 <h3>Free as in freedom</h3>
    205 <p>
    206 The term &ldquo;free software&rdquo; is sometimes misunderstood&mdash;it
    207 has nothing to do with price.  It is about freedom.  Here, therefore,
    208 is the definition of free software.</p>
    209 
    210 <p>A program is free software, for you, a particular user, if:</p>
    211 
    212 <ul>
    213   <li>You have the freedom to run the program as you wish, for any purpose.</li>
    214 
    215   <li>You have the freedom to modify the program to suit your needs.
    216      (To make this freedom effective in practice, you must have access
    217      to the source code, since making changes in a program without
    218      having the source code is exceedingly difficult.)</li>
    219 
    220   <li>You have the freedom to redistribute copies, either gratis
    221      or for a fee.</li>
    222 
    223   <li>You have the freedom to distribute modified versions of the program,
    224      so that the community can benefit from your improvements.</li>
    225 </ul>
    226 <p>
    227 Since &ldquo;free&rdquo; refers to freedom, not to price, there is no
    228 contradiction between selling copies and free software.  In fact, the
    229 freedom to sell copies is crucial: collections of free software sold
    230 on CD-ROMs are important for the community, and selling them is an
    231 important way to raise funds for free software development.
    232 Therefore, a program which people are not free to include on these
    233 collections is not free software.</p>
    234 <p>
    235 Because of the ambiguity of &ldquo;free,&rdquo; people have long
    236 looked for alternatives, but no one has found a better term.
    237 The English language has more words and nuances than any other, but it
    238 lacks a simple, unambiguous, word that means &ldquo;free,&rdquo; as in
    239 freedom&mdash;&ldquo;unfettered&rdquo; being the word that comes closest in
    240 meaning.  Such alternatives as &ldquo;liberated,&rdquo;
    241 &ldquo;freedom,&rdquo; and &ldquo;open&rdquo; have either the wrong
    242 meaning or some other disadvantage.</p>
    243 
    244 <h3>GNU software and the GNU system</h3>
    245 <p>
    246 Developing a whole system is a very large project.  To bring it into
    247 reach, I decided to adapt and use existing pieces of free software
    248 wherever that was possible.  For example, I decided at the very
    249 beginning to use TeX as the principal text formatter; a few years
    250 later, I decided to use the X Window System rather than writing
    251 another window system for GNU.</p>
    252 <p>
    253 Because of these decisions, and others like them,
    254 the GNU system is not the same as the collection of all
    255 GNU software.  The GNU system includes programs that are not GNU
    256 software, programs that were developed by other people and projects
    257 for their own purposes, but which we can use because they are free
    258 software.</p>
    259 
    260 <h3>Commencing the project</h3>
    261 <p>
    262 In January 1984 I quit my job at MIT and began writing GNU software.
    263 Leaving MIT was necessary so that MIT would not be able to interfere
    264 with distributing GNU as free software.  If I had remained on the
    265 staff, MIT could have claimed to own the work, and could have imposed
    266 their own distribution terms, or even turned the work into a
    267 proprietary software package.  I had no intention of doing a large
    268 amount of work only to see it become useless for its intended purpose:
    269 creating a new software-sharing community.</p>
    270 <p>
    271 However, Professor Winston, then the head of the MIT AI Lab, kindly
    272 invited me to keep using the lab's facilities.</p>
    273 
    274 <h3>The first steps</h3>
    275 <p>
    276 Shortly before beginning the GNU Project, I heard about the Free
    277 University Compiler Kit, also known as VUCK.  (The Dutch word for
    278 &ldquo;free&rdquo; is written with a <i>v</i>.)  This was a compiler
    279 designed to handle multiple languages, including C and Pascal, and to
    280 support multiple target machines.  I wrote to its author asking if GNU
    281 could use it.</p>
    282 <p>
    283 He responded derisively, stating that the university was free but the
    284 compiler was not.  I therefore decided that my first program for the
    285 GNU Project would be a multilanguage, multiplatform compiler.</p>
    286 <p>
    287 Hoping to avoid the need to write the whole compiler myself, I
    288 obtained the source code for the Pastel compiler, which was a
    289 multiplatform compiler developed at Lawrence Livermore Lab.  It
    290 supported, and was written in, an extended version of Pascal, designed
    291 to be a system-programming language.  I added a C front end, and began
    292 porting it to the Motorola 68000 computer.  But I had to give that
    293 up when I discovered that the compiler needed many megabytes of stack
    294 space, and the available 68000 Unix system would only allow 64k.</p>
    295 <p>
    296 I then realized that the Pastel compiler functioned by parsing the
    297 entire input file into a syntax tree, converting the whole syntax tree
    298 into a chain of &ldquo;instructions,&rdquo; and then generating the
    299 whole output file, without ever freeing any storage.  At this point, I
    300 concluded I would have to write a new compiler from scratch.  That new
    301 compiler is now known as <abbr title="GNU Compiler Collection">GCC</abbr>;
    302 none of the Pastel compiler is used in it, but I managed to adapt and
    303 use the C front end that I had written.  But that was some years
    304 later; first, I worked on GNU Emacs.</p>
    305 
    306 <h3>GNU Emacs</h3>
    307 <p>
    308 I began work on GNU Emacs in September 1984, and in early 1985 it was
    309 beginning to be usable.  This enabled me to begin using Unix systems
    310 to do editing; having no interest in learning to use vi or ed, I had
    311 done my editing on other kinds of machines until then.</p>
    312 <p>
    313 At this point, people began wanting to use GNU Emacs, which raised the
    314 question of how to distribute it.  Of course, I put it on the
    315 anonymous ftp server on the MIT computer that I used.  (This computer,
    316 prep.ai.mit.edu, thus became the principal GNU ftp distribution site;
    317 when it was decommissioned a few years later, we transferred the name
    318 to our new ftp server.)  But at that time, many of the interested
    319 people were not on the Internet and could not get a copy by ftp.  So
    320 the question was, what would I say to them?</p>
    321 <p>
    322 I could have said, &ldquo;Find a friend who is on the net and who will make
    323 a copy for you.&rdquo;  Or I could have done what I did with the original
    324 PDP-10 Emacs: tell them, &ldquo;Mail me a tape and a
    325 <abbr title="Self-addressed Stamped Envelope">SASE</abbr>, and I
    326 will mail it back with Emacs on it.&rdquo; But I had no job, and I was
    327 looking for ways to make money from free software.  So I announced
    328 that I would mail a tape to whoever wanted one, for a fee of $150.  In
    329 this way, I started a free software distribution business, the
    330 precursor of the companies that today distribute entire GNU/Linux
    331 system distributions.</p>
    332 
    333 <h3>Is a program free for every user?</h3>
    334 <p>
    335 If a program is free software when it leaves the hands of its author,
    336 this does not necessarily mean it will be free software for everyone
    337 who has a copy of it.  For example,
    338 <a href="/philosophy/categories.html#PublicDomainSoftware"> public domain
    339 software</a> (software that is not copyrighted) is free software; but
    340 anyone can make a proprietary modified version of it.  Likewise, many
    341 free programs are copyrighted but distributed under simple permissive
    342 licenses which allow proprietary modified versions.</p>
    343 <p>
    344 The paradigmatic example of this problem is the X Window System.
    345 Developed at MIT, and released as free software with a permissive
    346 license, it was soon adopted by various computer companies.  They
    347 added X to their proprietary Unix systems, in binary form only, and
    348 covered by the same nondisclosure agreement.  These copies of X were
    349 no more free software than Unix was.</p>
    350 <p>
    351 The developers of the X Window System did not consider this a
    352 problem&mdash;they expected and intended this to happen.  Their goal was
    353 not freedom, just &ldquo;success,&rdquo; defined as &ldquo;having many
    354 users.&rdquo; They did not care whether these users had freedom, only
    355 that they should be numerous.</p>
    356 <p>
    357 This led to a paradoxical situation where two different ways of
    358 counting the amount of freedom gave different answers to the question,
    359 &ldquo;Is this program free?&rdquo; If you judged based on the freedom
    360 provided by the distribution terms of the MIT release, you would say
    361 that X was free software.  But if you measured the freedom of the
    362 average user of X, you would have to say it was proprietary software.
    363 Most X users were running the proprietary versions that came with Unix
    364 systems, not the free version.</p>
    365 
    366 <h3>Copyleft and the GNU GPL</h3>
    367 <p>
    368 The goal of GNU was to give users freedom, not just to be popular.  So
    369 we needed to use distribution terms that would prevent GNU software
    370 from being turned into proprietary software.  The method we use is
    371 called &ldquo;copyleft&rdquo;&#8239;<a href="#ft3">[3]</a>.</p>
    372 <p>
    373 Copyleft uses copyright law, but flips it over to serve the opposite
    374 of its usual purpose: instead of a means for restricting a program, it
    375 becomes a means for keeping the program free.</p>
    376 <p>
    377 The central idea of copyleft is that we give everyone permission to
    378 run the program, copy the program, modify the program, and distribute
    379 modified versions&mdash;but not permission to add restrictions of their
    380 own.  Thus, the crucial freedoms that define &ldquo;free
    381 software&rdquo; are guaranteed to everyone who has a copy; they become
    382 inalienable rights.</p>
    383 <p>
    384 For an effective copyleft, modified versions must also be free.  This
    385 ensures that work based on ours becomes available to our community if
    386 it is published.  When programmers who have jobs as programmers
    387 volunteer to improve GNU software, it is copyleft that prevents their
    388 employers from saying, &ldquo;You can't share those changes, because
    389 we are going to use them to make our proprietary version of the
    390 program.&rdquo;</p>
    391 <p>
    392 The requirement that changes must be free is essential if we want to
    393 ensure freedom for every user of the program.  The companies that
    394 privatized the X Window System usually made some changes to port it to
    395 their systems and hardware.  These changes were small compared with
    396 the great extent of X, but they were not trivial.  If making changes
    397 were an excuse to deny the users freedom, it would be easy for anyone
    398 to take advantage of the excuse.</p>
    399 <p>
    400 A related issue concerns combining a free program with nonfree code.
    401 Such a combination would inevitably be nonfree; whichever freedoms
    402 are lacking for the nonfree part would be lacking for the whole as
    403 well.  To permit such combinations would open a hole big enough to
    404 sink a ship.  Therefore, a crucial requirement for copyleft is to plug
    405 this hole: anything added to or combined with a copylefted program
    406 must be such that the larger combined version is also free and
    407 copylefted.</p>
    408 <p>
    409 The specific implementation of copyleft that we use for most GNU
    410 software is the GNU General Public License, or GNU GPL for short.  We
    411 have other kinds of copyleft that are used in specific circumstances.
    412 GNU manuals are copylefted also, but use a much simpler kind of
    413 copyleft, because the complexity of the GNU GPL is not necessary
    414 for manuals&#8239;<a href="#ft4">[4]</a>.</p>
    415 
    416 <h3>The Free Software Foundation</h3>
    417 
    418 <p>As interest in using Emacs was growing, other people became
    419 involved in the GNU project, and we decided that it was time to seek
    420 funding once again.  So in 1985 we created
    421 the <a href="https://www.fsf.org/">Free Software Foundation</a> (FSF),
    422 a tax-exempt charity for free software development.  The
    423 FSF also took over
    424 the Emacs tape distribution business; later it extended this by adding
    425 other free software (both GNU and non-GNU) to the tape, and by selling
    426 free manuals as well.</p>
    427 
    428 <p>Most of the FSF's income used to come from sales of copies of free
    429 software and of other related services (CD-ROMs of source code,
    430 CD-ROMs with binaries, nicely printed manuals, all with the freedom to
    431 redistribute and modify), and Deluxe Distributions (distributions for
    432 which we built the whole collection of software for the customer's
    433 choice of platform).  Today the FSF
    434 still <a href="https://shop.fsf.org/"> sells manuals and other
    435 gear</a>, but it gets the bulk of its funding from members' dues.  You
    436 can join the FSF at <a href="https://my.fsf.org/join">fsf.org</a>.</p>
    437 
    438 <p>Free Software Foundation employees have written and maintained a
    439 number of GNU software packages.  Two notable ones are the C library
    440 and the shell.  The GNU C library is what every program running on a
    441 GNU/Linux system uses to communicate with Linux.  It was developed by
    442 a member of the Free Software Foundation staff, Roland McGrath.  The
    443 shell used on most GNU/Linux systems is
    444 BASH, the Bourne Again
    445 SHell&#8239;<a href="#ft5">[5]</a>, which was developed by FSF employee Brian Fox.</p>
    446 
    447 <p>We funded development of these programs because the GNU Project was
    448 not just about tools or a development environment.  Our goal was a
    449 complete operating system, and these programs were needed for that
    450 goal.</p>
    451 
    452 <h3>Free software support</h3>
    453 
    454 <p>The free software philosophy rejects a specific widespread business
    455 practice, but it is not against business.  When businesses respect the
    456 users' freedom, we wish them success.</p>
    457 
    458 <p>Selling copies of Emacs demonstrates one kind of free software
    459 business.  When the FSF took over that business, I needed another way
    460 to make a living.  I found it in selling services relating to the free
    461 software I had developed.  This included teaching, for subjects such
    462 as how to program GNU Emacs and how to customize GCC, and software
    463 development, mostly porting GCC to new platforms.</p>
    464 
    465 <p>Today each of these kinds of free software business is practiced by a
    466 number of corporations.  Some distribute free software collections on
    467 CD-ROM; others sell support at levels ranging from answering user
    468 questions, to fixing bugs, to adding major new features.  We are even
    469 beginning to see free software companies based on launching new free
    470 software products.</p>
    471 
    472 <p>Watch out, though&mdash;a number of companies that associate themselves
    473 with the term &ldquo;open source&rdquo; actually base their business
    474 on nonfree software that works with free software.  These are not
    475 free software companies, they are proprietary software companies whose
    476 products tempt users away from freedom.  They call these programs
    477 &ldquo;value-added packages,&rdquo; which shows the values they
    478 would like us to adopt: convenience above freedom.  If we value freedom
    479 more, we should call them &ldquo;freedom-subtracted&rdquo; packages.</p>
    480 
    481 <h3>Technical goals</h3>
    482 
    483 <p>The principal goal of GNU is to be free software.  Even if GNU had no
    484 technical advantage over Unix, it would have a social advantage,
    485 allowing users to cooperate, and an ethical advantage, respecting the
    486 user's freedom.</p>
    487 
    488 <p>But it was natural to apply the known standards of good practice to
    489 the work&mdash;for example, dynamically allocating data structures to avoid
    490 arbitrary fixed size limits, and handling all the possible 8-bit codes
    491 wherever that made sense.</p>
    492 
    493 <p>In addition, we rejected the Unix focus on small memory size, by
    494 deciding not to support 16-bit machines (it was clear that 32-bit
    495 machines would be the norm by the time the GNU system was finished),
    496 and to make no effort to reduce memory usage unless it exceeded a
    497 megabyte.  In programs for which handling very large files was not
    498 crucial, we encouraged programmers to read an entire input file into
    499 core, then scan its contents without having to worry about I/O.</p>
    500 
    501 <p>These decisions enabled many GNU programs to surpass their Unix
    502 counterparts in reliability and speed.</p>
    503 
    504 <h3>Donated computers</h3>
    505 
    506 <p>As the GNU Project's reputation grew, people began offering to donate
    507 machines running Unix to the project.  These were very useful, because
    508 the easiest way to develop components of GNU was to do it on a Unix
    509 system, and replace the components of that system one by one.  But
    510 they raised an ethical issue: whether it was right for us to have a
    511 copy of Unix at all.</p>
    512 
    513 <p>Unix was (and is) proprietary software, and the GNU Project's
    514 philosophy said that we should not use proprietary software.  But,
    515 applying the same reasoning that leads to the conclusion that violence
    516 in self defense is justified, I concluded that it was legitimate to
    517 use a proprietary package when that was crucial for developing a free
    518 replacement that would help others stop using the proprietary package.</p>
    519 
    520 <p>But, even if this was a justifiable evil, it was still an evil.  Today
    521 we no longer have any copies of Unix, because we have replaced them
    522 with free operating systems.  If we could not replace a machine's
    523 operating system with a free one, we replaced the machine instead.</p>
    524 
    525 <h3>The GNU Task List</h3>
    526 
    527 <p>As the GNU Project proceeded, and increasing numbers of system
    528 components were found or developed, eventually it became useful to
    529 make a list of the remaining gaps.  We used it to recruit developers
    530 to write the missing pieces.  This list became known as the GNU Task
    531 List.  In addition to missing Unix components, we listed various
    532 other useful software and documentation projects that, we thought, a
    533 truly complete system ought to have.</p>
    534 
    535 <p>Today&#8239;<a href="#ft6">[6]</a>, hardly any Unix components are left in the GNU Task
    536 List&mdash;those jobs had been done, aside from a few inessential
    537 ones.  But the list is full of projects that some might call
    538 &ldquo;applications.&rdquo;  Any program that appeals to more than a
    539 narrow class of users would be a useful thing to add to an operating
    540 system.</p>
    541 
    542 <p>Even games are included in the task list&mdash;and have been since the
    543 beginning.  Unix included games, so naturally GNU should too.  But
    544 compatibility was not an issue for games, so we did not follow the
    545 list of games that Unix had.  Instead, we listed a spectrum of
    546 different kinds of games that users might like.</p>
    547 
    548 <h3>The GNU Lesser GPL</h3>
    549 
    550 <p>The GNU C library uses a special kind of copyleft called the GNU
    551 Lesser General Public License&#8239;<a href="#ft7">[7]</a>, which gives permission to link
    552 proprietary software with the library.  Why make this exception?</p>
    553 
    554 <p>It is not a matter of principle; there is no principle that says
    555 proprietary software products are entitled to include our code.  (Why
    556 contribute to a project predicated on refusing to share with us?)
    557 Using the LGPL for the C library, or for any library, is a matter of
    558 strategy.</p>
    559 
    560 <p>The C library does a generic job; every proprietary system or compiler
    561 comes with a C library.  Therefore, to make our C library available
    562 only to free software would not have given free software any
    563 advantage&mdash;it would only have discouraged use of our library.</p>
    564 
    565 <p>One system is an exception to this: on the GNU system (and this
    566 includes GNU/Linux), the GNU C library is the only C library.  So the
    567 distribution terms of the GNU C library determine whether it is
    568 possible to compile a proprietary program for the GNU system.  There
    569 is no ethical reason to allow proprietary applications on the GNU
    570 system, but strategically it seems that disallowing them would do more
    571 to discourage use of the GNU system than to encourage development of
    572 free applications.  That is why using the Lesser GPL is a good
    573 strategy for the C library.</p>
    574 
    575 <p>For other libraries, the strategic decision needs to be
    576 considered on a case-by-case basis.  When a library does a special job
    577 that can help write certain kinds of programs, then releasing it under
    578 the GPL, limiting it to free programs only, is a way of helping other
    579 free software developers, giving them an advantage against proprietary
    580 software.</p>
    581 
    582 <p>Consider GNU Readline, a library that was developed to provide
    583 command-line editing for BASH.  Readline is released under the
    584 ordinary GNU GPL, not the Lesser GPL.  This probably does reduce the
    585 amount Readline is used, but that is no loss for us.  Meanwhile, at
    586 least one useful application has been made free software specifically
    587 so it could use Readline, and that is a real gain for the
    588 community.</p>
    589 
    590 <p>Proprietary software developers have the advantages money provides;
    591 free software developers need to make advantages for each other.  I
    592 hope some day we will have a large collection of GPL-covered libraries
    593 that have no parallel available to proprietary software, providing
    594 useful modules to serve as building blocks in new free software, and
    595 adding up to a major advantage for further free software development.</p>
    596 
    597 <h3>Scratching an itch?</h3>
    598 <p>
    599 Eric Raymond says that &ldquo;Every good work of software starts by
    600 scratching a developer's personal itch.&rdquo;  Maybe that happens
    601 sometimes, but many essential pieces of GNU software were developed in
    602 order to have a complete free operating system.  They come from a
    603 vision and a plan, not from impulse.</p>
    604 <p>
    605 For example, we developed the GNU C library because a Unix-like system
    606 needs a C library, BASH because a Unix-like
    607 system needs a shell, and GNU tar because a Unix-like system needs a
    608 tar program.  The same is true for my own programs&mdash;the GNU C
    609 compiler, GNU Emacs, GDB and GNU Make.</p>
    610 <p>
    611 Some GNU programs were developed to cope with specific threats to our
    612 freedom.  Thus, we developed gzip to replace the Compress program,
    613 which had been lost to the community because of
    614 the <abbr title="Lempel-Ziv-Welch">LZW</abbr> patents.  We found
    615 people to develop LessTif, and more recently started
    616 <abbr title="GNU Network Object Model Environment">GNOME</abbr>
    617 and Harmony, to address the problems caused by certain proprietary
    618 libraries (see below).  We are developing the GNU Privacy Guard to
    619 replace popular nonfree encryption software, because users should not
    620 have to choose between privacy and freedom.</p>
    621 <p>
    622 Of course, the people writing these programs became interested in the
    623 work, and many features were added to them by various people for the
    624 sake of their own needs and interests.  But that is not why the
    625 programs exist.</p>
    626 
    627 <h3>Unexpected developments</h3>
    628 <p>
    629 At the beginning of the GNU Project, I imagined that we would develop
    630 the whole GNU system, then release it as a whole.  That is not how it
    631 happened.</p>
    632 <p>
    633 Since each component of the GNU system was implemented on a Unix
    634 system, each component could run on Unix systems long before a
    635 complete GNU system existed.  Some of these programs became popular,
    636 and users began extending them and porting them&mdash;to the various
    637 incompatible versions of Unix, and sometimes to other systems as well.</p>
    638 <p>
    639 The process made these programs much more powerful, and attracted both
    640 funds and contributors to the GNU Project.  But it probably also
    641 delayed completion of a minimal working system by several years, as
    642 GNU developers' time was put into maintaining these ports and adding
    643 features to the existing components, rather than moving on to write
    644 one missing component after another.</p>
    645 
    646 <h3>The GNU Hurd</h3>
    647 <p>
    648 By 1990, the GNU system was almost complete; the only major missing
    649 component was the kernel.  We had decided to implement our kernel as a
    650 collection of server processes running on top of Mach.  Mach is a
    651 microkernel developed at Carnegie Mellon University and then at the
    652 University of Utah; the GNU Hurd is a collection of servers (i.e., a
    653 herd of GNUs) that run on top of Mach, and do the
    654 various jobs of the Unix kernel.  The start of development was delayed
    655 as we waited for Mach to be released as free software, as had been
    656 promised.</p>
    657 <p>
    658 One reason for choosing this design was to avoid what seemed to be the
    659 hardest part of the job: debugging a kernel program without a
    660 source-level debugger to do it with.  This part of the job had been
    661 done already, in Mach, and we expected to debug the Hurd servers as
    662 user programs, with GDB.  But it took a long time to make that possible,
    663 and the multithreaded servers that send messages to each other have
    664 turned out to be very hard to debug.  Making the Hurd work solidly has
    665 stretched on for many years.</p>
    666 
    667 <h3>Alix</h3>
    668 <p>
    669 The GNU kernel was not originally supposed to be called the Hurd.  Its
    670 original name was Alix&mdash;named after the woman who was my sweetheart at
    671 the time.  She, a Unix system administrator, had pointed out how her
    672 name would fit a common naming pattern for Unix system versions; as a
    673 joke, she told her friends, &ldquo;Someone should name a kernel after
    674 me.&rdquo; I said nothing, but decided to surprise her with a kernel
    675 named Alix.</p>
    676 <p>
    677 It did not stay that way.  Michael (now Thomas) Bushnell, the main
    678 developer of the kernel, preferred the name Hurd, and redefined Alix
    679 to refer to a certain part of the kernel&mdash;the part that would trap
    680 system calls and handle them by sending messages to Hurd servers.</p>
    681 <p>
    682 Later, Alix and I broke up, and she changed her name;
    683 independently, the Hurd design was changed so that the C library would
    684 send messages directly to servers, and this made the Alix component
    685 disappear from the design.</p>
    686 <p>
    687 But before these things happened, a friend of hers came across the
    688 name Alix in the Hurd source code, and mentioned it to her.  So
    689 she did have the chance to find a kernel named after her.</p>
    690 
    691 <h3>Linux and GNU/Linux</h3>
    692 <p>
    693 The GNU Hurd is not suitable for production use, and we don't know
    694 if it ever will be.  The capability-based design has problems that
    695 result directly from the flexibility of the design, and it is not
    696 clear whether solutions exist.</p>
    697 
    698 <p>
    699 Fortunately, another kernel is available.  In 1991, Linus Torvalds
    700 developed a Unix-compatible kernel and called it Linux.  It was
    701 proprietary at first, but in 1992, he made it free software; combining
    702 Linux with the not-quite-complete GNU system resulted in a complete
    703 free operating system.  (Combining them was a substantial job in
    704 itself, of course.)  It is due to Linux that we can actually run a
    705 version of the GNU system today.</p>
    706 <p>
    707 We call this system version <a href="/gnu/linux-and-gnu.html">
    708 GNU/Linux</a>, to express its composition as a combination of the GNU
    709 system with Linux as the kernel.  Please don't fall into the practice
    710 of calling the whole system &ldquo;Linux,&rdquo; since that means
    711 attributing our work to someone else.
    712 Please <a href="/gnu/gnu-linux-faq.html"> give us equal
    713 mention</a>.</p>
    714 
    715 <h3>Challenges in our future</h3>
    716 <p>
    717 We have proved our ability to develop a broad spectrum of free
    718 software.  This does not mean we are invincible and unstoppable.
    719 Several challenges make the future of free software uncertain; meeting
    720 them will require steadfast effort and endurance, sometimes lasting
    721 for years.  It will require the kind of determination that people
    722 display when they value their freedom and will not let anyone take it
    723 away.</p>
    724 <p>
    725 The following four sections discuss these challenges.</p>
    726 
    727 <h4>Secret hardware</h4>
    728 <p>
    729 Hardware manufacturers increasingly tend to keep hardware
    730 specifications secret.  This makes it difficult to write free drivers
    731 so that Linux and XFree86 can support new hardware.  We have complete
    732 free systems today, but we will not have them tomorrow if we cannot
    733 support tomorrow's computers.</p>
    734 <p>
    735 There are two ways to cope with this problem.  Programmers can do
    736 reverse engineering to figure out how to support the hardware.  The
    737 rest of us can choose the hardware that is supported by free software;
    738 as our numbers increase, secrecy of specifications will become a
    739 self-defeating policy.</p>
    740 <p>
    741 Reverse engineering is a big job; will we have programmers with
    742 sufficient determination to undertake it?  Yes&mdash;if we have built up a
    743 strong feeling that free software is a matter of principle, and
    744 nonfree drivers are intolerable.  And will large numbers of us spend
    745 extra money, or even a little extra time, so we can use free drivers?
    746 Yes, if the determination to have freedom is widespread&#8239;<a href="#ft8">[8]</a>.</p>
    747 
    748 <h4>Nonfree libraries</h4>
    749 <p>
    750 A nonfree library that runs on free operating systems acts as a trap
    751 for free software developers.  The library's attractive features are
    752 the bait; if you use the library, you fall into the trap, because your
    753 program cannot usefully be part of a free operating system.  (Strictly
    754 speaking, we could include your program, but it
    755 won't <em>run</em> with the library missing.)  Even worse, if
    756 a program that uses the proprietary library becomes popular, it can
    757 lure other unsuspecting programmers into the trap.</p>
    758 <p>
    759 The first instance of this problem was the Motif toolkit, back in the
    760 80s.  Although there were as yet no free operating systems, it was
    761 clear what problem Motif would cause for them later on.  The GNU
    762 Project responded in two ways: by asking individual free software
    763 projects to support the free X Toolkit widgets as well as Motif, and
    764 by asking for someone to write a free replacement for Motif.  The job
    765 took many years; LessTif, developed by the Hungry Programmers, became
    766 powerful enough to support most Motif applications only in 1997.</p>
    767 <p>
    768 Between 1996 and 1998, another nonfree 
    769 <abbr title="Graphical User Interface">GUI</abbr> toolkit
    770 library, called Qt, was used in a substantial collection of free
    771 software, the desktop
    772 <abbr title="K Desktop Environment">KDE</abbr>.</p>
    773 <p>
    774 Free GNU/Linux systems were unable to use KDE, because we could not
    775 use the library.  However, some commercial distributors of GNU/Linux
    776 systems who were not strict about sticking with free software added
    777 KDE to their systems&mdash;producing a system with more capabilities,
    778 but less freedom.  The KDE group was actively encouraging more
    779 programmers to use Qt, and millions of new &ldquo;Linux users&rdquo;
    780 had never been exposed to the idea that there was a problem in this.
    781 The situation appeared grim.</p>
    782 <p>
    783 The free software community responded to the problem in two ways:
    784 GNOME and Harmony.</p>
    785 <p>
    786 GNOME, the GNU Network Object Model Environment, is GNU's desktop
    787 project.  Started in 1997 by Miguel de Icaza, and developed with the
    788 support of Red Hat Software, GNOME set out to provide similar desktop
    789 facilities, but using free software exclusively.  It has technical
    790 advantages as well, such as supporting a variety of languages, not
    791 just C++.  But its main purpose was freedom: not to require the use of
    792 any nonfree software.</p>
    793 <p>
    794 Harmony is a compatible replacement library, designed to make it
    795 possible to run KDE software without using Qt.</p>
    796 <p>
    797 In November 1998, the developers of Qt announced a change of license
    798 which, when carried out, should make Qt free software.  There is no
    799 way to be sure, but I think that this was partly due to the
    800 community's firm response to the problem that Qt posed when it was
    801 nonfree.  (The new license is inconvenient and inequitable, so it
    802 remains desirable to avoid using Qt&#8239;<a href="#ft9">[9]</a>.)</p>
    803 <p>
    804 How will we respond to the next tempting nonfree library?  Will the
    805 whole community understand the need to stay out of the trap?  Or will
    806 many of us give up freedom for convenience, and produce a major
    807 problem?  Our future depends on our philosophy.</p>
    808 
    809 <h4>Software patents</h4>
    810 <p>
    811 The worst threat we face comes from software patents, which can put
    812 algorithms and features off limits to free software for up to twenty
    813 years.  The LZW compression algorithm patents were applied for in
    814 1983, and we still cannot release free software to produce proper
    815 compressed <abbr title="Graphics Interchange Format">GIF</abbr>&#8239;<a href="#ft10">[10]</a>.
    816 In 1998, a free program to produce
    817 <abbr title="MPEG-1 Audio Layer 3">MP3</abbr> compressed audio
    818 was removed from distribution under threat of a patent suit&#8239;<a href="#ft11">[11]</a>.
    819 </p>
    820 <p>
    821 There are ways to cope with patents: we can search for evidence that a
    822 patent is invalid, and we can look for alternative ways to do a job.
    823 But each of these methods works only sometimes; when both fail, a
    824 patent may force all free software to lack some feature that users
    825 want.  After a long wait, the patents expire, but what will we do
    826 until then?</p>
    827 <p>
    828 Those of us who value free software for freedom's sake will stay with
    829 free software anyway.  We will manage to get work done without the
    830 patented features.  But those who value free software because they
    831 expect it to be technically superior are likely to call it a failure
    832 when a patent holds it back.  Thus, while it is useful to talk about
    833 the practical effectiveness of the &ldquo;bazaar&rdquo; model of
    834 development, and the reliability and power of some free software,
    835 we must not stop there.  We must talk about freedom and principle.</p>
    836 
    837 <h4>Free documentation</h4>
    838 <p>
    839 The biggest deficiency in our free operating systems is not in the
    840 software&mdash;it is the lack of good free manuals that we can include in
    841 our systems.  Documentation is an essential part of any software
    842 package; when an important free software package does not come with a
    843 good free manual, that is a major gap.  We have many such gaps today.</p>
    844 <p>
    845 Free documentation, like free software, is a matter of freedom, not
    846 price.  The criterion for a free manual is pretty much the same as for
    847 free software: it is a matter of giving all users certain freedoms.
    848 Redistribution (including commercial sale) must be permitted, online
    849 and on paper, so that the manual can accompany every copy of the
    850 program.</p>
    851 <p>
    852 Permission for modification is crucial too.  As a general rule, I
    853 don't believe that it is essential for people to have permission to
    854 modify all sorts of articles and books.  For example, I don't think
    855 you or I are obliged to give permission to modify articles like this
    856 one, which describe our actions and our views.</p>
    857 <p>
    858 But there is a particular reason why the freedom to modify is crucial
    859 for documentation for free software.  When people exercise their right
    860 to modify the software, and add or change its features, if they are
    861 conscientious they will change the manual, too&mdash;so they can
    862 provide accurate and usable documentation with the modified program.
    863 A nonfree manual, which does not allow programmers to be conscientious
    864 and finish the job, does not fill our community's needs.</p>
    865 <p>
    866 Some kinds of limits on how modifications are done pose no problem.
    867 For example, requirements to preserve the original author's copyright
    868 notice, the distribution terms, or the list of authors, are OK.  It is
    869 also no problem to require modified versions to include notice that
    870 they were modified, even to have entire sections that may not be
    871 deleted or changed, as long as these sections deal with nontechnical
    872 topics.  These kinds of restrictions are not a problem because they
    873 don't stop the conscientious programmer from adapting the manual to
    874 fit the modified program.  In other words, they don't block the free
    875 software community from making full use of the manual.</p>
    876 <p>
    877 However, it must be possible to modify all the <em>technical</em> content of
    878 the manual, and then distribute the result in all the usual media,
    879 through all the usual channels; otherwise, the restrictions do
    880 obstruct the community, the manual is not free, and we need another
    881 manual.</p>
    882 <p>
    883 Will free software developers have the awareness and determination to
    884 produce a full spectrum of free manuals?  Once again, our future
    885 depends on philosophy.</p>
    886 
    887 <h3>We must talk about freedom</h3>
    888 <p>
    889 Estimates today are that there are ten million users of GNU/Linux
    890 systems such as Debian GNU/Linux and Red Hat &ldquo;Linux.&rdquo;
    891 Free software has developed such practical advantages that users are
    892 flocking to it for purely practical reasons.</p>
    893 <p>
    894 The good consequences of this are evident: more interest in developing
    895 free software, more customers for free software businesses, and more
    896 ability to encourage companies to develop commercial free software
    897 instead of proprietary software products.</p>
    898 <p>
    899 But interest in the software is growing faster than awareness of the
    900 philosophy it is based on, and this leads to trouble.  Our ability to
    901 meet the challenges and threats described above depends on the will to
    902 stand firm for freedom.  To make sure our community has this will, we
    903 need to spread the idea to the new users as they come into the
    904 community.</p>
    905 <p>
    906 But we are failing to do so: the efforts to attract new users into our
    907 community are far outstripping the efforts to teach them the civics of
    908 our community.  We need to do both, and we need to keep the two
    909 efforts in balance.</p>
    910 
    911 <h3>&ldquo;Open Source&rdquo;</h3>
    912 <p>
    913 Teaching new users about freedom became more difficult in 1998, when a
    914 part of the community decided to stop using the term &ldquo;free
    915 software&rdquo; and say &ldquo;open source software&rdquo;
    916 instead.</p>
    917 <p>
    918 Some who favored this term aimed to avoid the confusion of
    919 &ldquo;free&rdquo; with &ldquo;gratis&rdquo;&mdash;a valid goal.  Others,
    920 however, aimed to set aside the spirit of principle that had motivated
    921 the free software movement and the GNU Project, and to appeal instead
    922 to executives and business users, many of whom hold an ideology that
    923 places profit above freedom, above community, above principle.  Thus,
    924 the rhetoric of &ldquo;open source&rdquo; focuses on the potential to
    925 make high-quality, powerful software, but shuns the ideas of freedom,
    926 community, and principle.</p>
    927 <p>
    928 The &ldquo;Linux&rdquo; magazines are a clear example of this&mdash;they
    929 are filled with advertisements for proprietary software that works
    930 with GNU/Linux.  When the next Motif or Qt appears, will these
    931 magazines warn programmers to stay away from it, or will they run ads
    932 for it?</p>
    933 <p>
    934 The support of business can contribute to the community in many ways;
    935 all else being equal, it is useful.  But winning their support by
    936 speaking even less about freedom and principle can be disastrous; it
    937 makes the previous imbalance between outreach and civics education
    938 even worse.</p>
    939 <p>
    940 &ldquo;Free software&rdquo; and &ldquo;open source&rdquo; describe the
    941 same category of software, more or less, but say different things
    942 about the software, and about values.  The GNU Project continues to
    943 use the term &ldquo;free software,&rdquo; to express the idea that
    944 freedom, not just technology, is important.</p>
    945 
    946 <h3>Try!</h3>
    947 <p>
    948 Yoda's aphorism (&ldquo;There is no &lsquo;try&rsquo;&rdquo;) sounds
    949 neat, but it doesn't work for me.  I have done most of my work while
    950 anxious about whether I could do the job, and unsure that it would be
    951 enough to achieve the goal if I did.  But I tried anyway, because
    952 there was no one but me between the enemy and my city.  Surprising
    953 myself, I have sometimes succeeded.</p>
    954 <p>
    955 Sometimes I failed; some of my cities have fallen.  Then I found
    956 another threatened city, and got ready for another battle.  Over time,
    957 I've learned to look for threats and put myself between them and my
    958 city, calling on other hackers to come and join me.</p>
    959 <p>
    960 Nowadays, often I'm not the only one.  It is a relief and a joy when I
    961 see a regiment of hackers digging in to hold the line, and I realize,
    962 this city may survive&mdash;for now.  But the dangers are greater each
    963 year, and now Microsoft has explicitly targeted our community.  We
    964 can't take the future of freedom for granted.  Don't take it for
    965 granted!  If you want to keep your freedom, you must be prepared to
    966 defend it.</p>
    967 <div class="column-limit"></div>
    968 
    969 <h3 class="footnote">Footnotes</h3>
    970 <ol>
    971 <li id="ft1">The use of &ldquo;hacker&rdquo; to mean &ldquo;security
    972 breaker&rdquo; is a confusion on the part of the mass media.  We
    973 hackers refuse to recognize that meaning, and continue using the word
    974 to mean someone who loves to program, someone who enjoys playful
    975 cleverness, or the combination of the two.  See my
    976 article, &ldquo;<a href="https://stallman.org/articles/on-hacking.html">On
    977 Hacking</a>.&rdquo;</li>
    978 
    979 <li id="ft2">As an Atheist, I don't follow any religious leaders, but I
    980 sometimes find I admire something one of them has said.</li>
    981 
    982 <li id="ft3">In 1984 or 1985, Don Hopkins (a very imaginative fellow) mailed me
    983 a letter.  <a href="/graphics/copyleft-sticker.html">On the envelope</a> he
    984 had written several amusing sayings,
    985 including this one: &ldquo;Copyleft&mdash;all rights reversed.&rdquo; I
    986 used the word &ldquo;copyleft&rdquo; to name the distribution concept
    987 I was developing at the time.</li>
    988 
    989 <li id="ft4">We now use the <a href="/licenses/fdl.html">GNU Free
    990 Documentation License</a> for documentation.</li>
    991 
    992 <li id="ft5">&ldquo;Bourne Again Shell&rdquo; is a play on the name
    993 &ldquo;Bourne Shell,&rdquo; which was the usual shell on Unix.</li>
    994 
    995 <li id="ft6">That was written in 1998.  In 2009 we no longer maintain a long
    996 task list.  The community develops free software so fast that we can't
    997 even keep track of it all.  Instead, we have a list of High Priority
    998 Projects, a much shorter list of projects we really want to encourage
    999 people to write.</li>
   1000 
   1001 <li id="ft7">This license was initially called the GNU Library General
   1002 Public License, we renamed it to avoid giving the idea that all
   1003 libraries ought to use it. 
   1004 See <a href="/philosophy/why-not-lgpl.html">Why you shouldn't use the
   1005 Lesser GPL for your next library</a> for more information.</li>
   1006 
   1007 <li id="ft8">2008 note: this issue extends to the BIOS as well.  There is a free
   1008 BIOS, <a href="https://libreboot.org/">LibreBoot</a> (a distribution of
   1009 coreboot); the problem is getting specs for machines so that
   1010 LibreBoot can support them without nonfree &ldquo;blobs.&rdquo;</li>
   1011 
   1012 <li id="ft9">In September 2000, Qt was rereleased under the GNU GPL,
   1013 which essentially solved this problem.</li>
   1014 
   1015 <li id="ft10">As of 2009, the GIF patents have expired.</li>
   1016 
   1017 <li id="ft11">As of 2017, the MP3 patents have expired.  Look how
   1018 long we had to wait.</li>
   1019 </ol>
   1020 
   1021 <div class="infobox extra" role="complementary">
   1022 <hr />
   1023 <p>
   1024 Originally published in the book <cite>Open Sources</cite>.  Richard
   1025 Stallman was <a href="/philosophy/open-source-misses-the-point.html">
   1026 never a supporter of &ldquo;open source&rdquo;</a>, but contributed
   1027 this article so that the ideas of the free software movement would not
   1028 be entirely absent from that book.
   1029 </p>
   1030 </div>
   1031 </div>
   1032 
   1033 </div><!-- for id="content", starts in the include above -->
   1034 <!--#include virtual="/server/footer.html" -->
   1035 <div id="footer" role="contentinfo">
   1036 <div class="unprintable">
   1037 
   1038 <p>Please send general FSF &amp; GNU inquiries to
   1039 <a href="mailto:gnu@gnu.org">&lt;gnu@gnu.org&gt;</a>.
   1040 There are also <a href="/contact/">other ways to contact</a>
   1041 the FSF.  Broken links and other corrections or suggestions can be sent
   1042 to <a href="mailto:webmasters@gnu.org">&lt;webmasters@gnu.org&gt;</a>.</p>
   1043 
   1044 <p><!-- TRANSLATORS: Ignore the original text in this paragraph,
   1045         replace it with the translation of these two:
   1046 
   1047         We work hard and do our best to provide accurate, good quality
   1048         translations.  However, we are not exempt from imperfection.
   1049         Please send your comments and general suggestions in this regard
   1050         to <a href="mailto:web-translators@gnu.org">
   1051         &lt;web-translators@gnu.org&gt;</a>.</p>
   1052 
   1053         <p>For information on coordinating and contributing translations of
   1054         our web pages, see <a
   1055         href="/server/standards/README.translations.html">Translations
   1056         README</a>. -->
   1057 Please see the <a
   1058 href="/server/standards/README.translations.html">Translations
   1059 README</a> for information on coordinating and contributing translations
   1060 of this article.</p>
   1061 </div>
   1062 
   1063 <!-- Regarding copyright, in general, standalone pages (as opposed to
   1064      files generated as part of manuals) on the GNU web server should
   1065      be under CC BY-ND 4.0.  Please do NOT change or remove this
   1066      without talking with the webmasters or licensing team first.
   1067      Please make sure the copyright date is consistent with the
   1068      document.  For web pages, it is ok to list just the latest year the
   1069      document was modified, or published.
   1070      
   1071      If you wish to list earlier years, that is ok too.
   1072      Either "2001, 2002, 2003" or "2001-2003" are ok for specifying
   1073      years, as long as each year in the range is in fact a copyrightable
   1074      year, i.e., a year in which the document was published (including
   1075      being publicly visible on the web or in a revision control system).
   1076      
   1077      There is more detail about copyright years in the GNU Maintainers
   1078      Information document, www.gnu.org/prep/maintain. -->
   1079 
   1080 <p>Copyright &copy; 1998, 2005, 2008, 2010, 2012, 2015, 2017, 2018, 2021
   1081 Richard Stallman</p>
   1082 
   1083 <p>This page is licensed under a <a rel="license"
   1084 href="http://creativecommons.org/licenses/by-nd/4.0/">Creative
   1085 Commons Attribution-NoDerivatives 4.0 International License</a>.</p>
   1086 
   1087 <!--#include virtual="/server/bottom-notes.html" -->
   1088 
   1089 <p class="unprintable">Updated:
   1090 <!-- timestamp start -->
   1091 $Date: 2021/12/25 21:07:05 $
   1092 <!-- timestamp end -->
   1093 </p>
   1094 </div>
   1095 </div><!-- for class="inner", starts in the banner include -->
   1096 </body>
   1097 </html>