summaryrefslogtreecommitdiff
path: root/src/frontend_blog/articles/fs-essay.html
blob: 9d10f29945242e9725a69d8327e32a90ffdb17eb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
<!DOCTYPE html>
<html lang="en">
<head>
  <title>What is Free Software</title>
  <link rel="stylesheet" type="text/css" href="../style.css">
</head>
<body>
  <header>
    <div id="logo">
      <svg height="100" width="100">
        <circle cx="50" cy="50" r="40" stroke="darkcyan" stroke-width="6" fill="white" />
        <text x="19" y="82" font-family="Verdana" font-size="90" fill="darkcyan">B</text>
      </svg>
    </div>
    <h1>What is Free Software</h1>
  </header>

  <aside class="sidebar" id="left">
  </aside>

  <div id="teaser" style="display: none;">
    <p>
    What is Free Software
    </p>
  </div>

  <section id="main">
    <article>

  <h3>The Free Software Definition</h3>

  <blockquote>
  <p>
  The free software definition presents the criteria for whether a
  particular software program qualifies as free software.  From time to
  time we revise this definition, to clarify it or to resolve questions
  about subtle issues.  See the <a href="#History">History section</a>
  below for a list of changes that affect the definition of free
  software.
  </p>
  </blockquote>

  <p>
  &ldquo;Free software&rdquo; means software that respects users'
  freedom and community.  Roughly, it means that <b>the users have the
  freedom to run, copy, distribute, study, change and improve the
  software</b>.  Thus, &ldquo;free software&rdquo; is a matter of
  liberty, not price.  To understand the concept, you should think of
  &ldquo;free&rdquo; as in &ldquo;free speech,&rdquo; not as in
  &ldquo;free beer&rdquo;.  We sometimes call it &ldquo;libre
  software&rdquo; to show we do not mean it is gratis.
  </p>

  <p>
  We campaign for these freedoms because everyone deserves them.  With
  these freedoms, the users (both individually and collectively) control
  the program and what it does for them.  When users don't control the
  program, we call it a &ldquo;nonfree&rdquo; or
  &ldquo;proprietary&rdquo; program.  The nonfree program controls the
  users, and the developer controls the program; this makes the
  program <a href="/philosophy/free-software-even-more-important.html">
  an instrument of unjust power</a>.
  </p>

  <p>
  A program is free software if the program's users have the
  four essential freedoms:
  </p>

  <ul>
    <li>The freedom to run the program as you wish,
          for any purpose (freedom 0).</li>
    <li>The freedom to study how the program works, and change it so it
          does your computing as you wish (freedom 1). Access to the source
        code is a precondition for this.
  </li>
    <li>The freedom to redistribute copies so you can help your neighbor
          (freedom 2).
    </li>
      <li>The freedom to distribute copies of your modified versions
            to others (freedom 3).  By doing this you can give the whole
          community a chance to benefit from your changes.
        Access to the source code is a precondition for this.
  </li>
  </ul>

  <p>
  A program is free software if it gives users adequately all of these
  freedoms.  Otherwise, it is nonfree.  While we can distinguish various
  nonfree distribution schemes in terms of how far they fall short of
  being free, we consider them all equally unethical.</p>

  <p>In any given scenario, these freedoms must apply to whatever code
  we plan to make use of, or lead others to make use of.  For instance,
  consider a program A which automatically launches a program B to
  handle some cases.  If we plan to distribute A as it stands, that
  implies users will need B, so we need to judge whether both A and B
  are free.  However, if we plan to modify A so that it doesn't use B,
  only A needs to be free; we can ignore B.</p>

  <p>The rest of this page clarifies certain points about what makes
  specific freedoms adequate or not.</p>

  <p>Freedom to distribute (freedoms 2 and 3) means you are free to
  redistribute copies, either with or without modifications, either
  gratis or charging a fee for distribution, to
  <a href="#exportcontrol">anyone anywhere</a>.  Being free to do these
  things means (among other things) that you do not have to ask or pay
  for permission to do so.
  </p>

  <p>
  You should also have the freedom to make modifications and use them
  privately in your own work or play, without even mentioning that they
  exist.  If you do publish your changes, you should not be required to
  notify anyone in particular, or in any particular way.
  </p>

  <p>
  The freedom to run the program means the freedom for any kind of person
  or organization to use it on any kind of computer system, for any kind of
  overall job and purpose, without being required to communicate about it
  with the developer or any other specific entity.  In this freedom, it is
  the <em>user's</em> purpose that matters, not the <em>developer's</em>
  purpose; you as a user are free to run the program for your purposes,
  and if you distribute it to someone else, she is then free to run it
  for her purposes, but you are not entitled to impose your purposes on her.
  </p>

  <p>
  The freedom to run the program as you wish means that you are not
  forbidden or stopped from doing so.  It has nothing to do with what
  functionality the program has, or whether it is useful for what you
  want to do.</p>

  <p>
  The freedom to redistribute copies must include binary or executable
  forms of the program, as well as source code, for both modified and
  unmodified versions.  (Distributing programs in runnable form is necessary
  for conveniently installable free operating systems.)  It is OK if there
  is no way to produce a binary or executable form for a certain program
  (since some languages don't support that feature), but you must have the
  freedom to redistribute such forms should you find or develop a way to
  make them.
  </p>

  <p>
  In order for freedoms 1 and 3 (the freedom to make changes and the
  freedom to publish the changed versions) to be meaningful, you must have
  access to the source code of the program.  Therefore, accessibility of
  source code is a necessary condition for free software.  Obfuscated
  &ldquo;source code&rdquo; is not real source code and does not count
  as source code.
  </p>

  <p>
  Freedom 1 includes the freedom to use your changed version in place of
  the original.  If the program is delivered in a product designed to
  run someone else's modified versions but refuse to run yours &mdash; a
  practice known as &ldquo;tivoization&rdquo; or &ldquo;lockdown&rdquo;,
  or (in its practitioners' perverse terminology) as &ldquo;secure
  boot&rdquo; &mdash; freedom 1 becomes an empty pretense rather than a
  practical reality.  These binaries are not free
  software even if the source code they are compiled from is free.
  </p>

  <p>
  One important way to modify a program is by merging in available free
  subroutines and modules.  If the program's license says that you
  cannot merge in a suitably licensed existing module &mdash; for instance, if it
  requires you to be the copyright holder of any code you add &mdash; then the
  license is too restrictive to qualify as free.
  </p>

  <p>
  Freedom 3 includes the freedom to release your modified versions
  as free software.  A free license may also permit other ways of
  releasing them; in other words, it does not have to be
  a <a href="/copyleft/copyleft.html">copyleft</a> license.  However, a
  license that requires modified versions to be nonfree does not qualify
  as a free license.
  </p>

  <p>
  In order for these freedoms to be real, they must be permanent and
  irrevocable as long as you do nothing wrong; if the developer of the
  software has the power to revoke the license, or retroactively add
  restrictions to its terms, without your doing anything wrong to give
  cause, the software is not free.
  </p>

  <p>
  However, certain kinds of rules about the manner of distributing free
  software are acceptable, when they don't conflict with the central
  freedoms.  For example, <a href="/copyleft/copyleft.html">copyleft</a>
  (very simply stated) is the rule that when redistributing the program,
  you cannot add restrictions to deny other people the central freedoms.
  This rule does not conflict with the central freedoms; rather it
  protects them.
  </p>

  <p>
  In the GNU project, we use copyleft to protect the four freedoms
  legally for everyone.  We believe there are important reasons why
  <a href="/philosophy/pragmatic.html">it is better to use
  copyleft</a>.  However,
  <a href="/philosophy/categories.html#Non-CopyleftedFreeSoftware">
  noncopylefted free software</a> is ethical
  too.  See <a href="/philosophy/categories.html">Categories of Free
  Software</a> for a description of how &ldquo;free software,&rdquo;
  &ldquo;copylefted software&rdquo; and other categories of software
  relate to each other.
  </p>

  <p>
  &ldquo;Free software&rdquo; does not mean &ldquo;noncommercial&rdquo;.  A free
  program must be available for commercial use, commercial development,
  and commercial distribution.  Commercial development of free software
  is no longer unusual; such free commercial software is very important.
  You may have paid money to get copies of free software, or you may have
  obtained copies at no charge.  But regardless of how you got your copies,
  you always have the freedom to copy and change the software, even to
  <a href="/philosophy/selling.html">sell copies</a>.
  </p>

  <p>
  Whether a change constitutes an improvement is a subjective matter.
  If your right to modify a program is limited, in substance, to changes that
  someone else considers an improvement, that program is not free.
  </p>

  <p>
  However, rules about how to package a modified version are acceptable,
  if they don't substantively limit your freedom to release modified
  versions, or your freedom to make and use modified versions privately.
  Thus, it is acceptable for the license to require that you change the
  name of the modified version, remove a logo, or identify your
  modifications as yours.  As long as these requirements are not so
  burdensome that they effectively hamper you from releasing your
  changes, they are acceptable; you're already making other changes to
  the program, so you won't have trouble making a few more.
  </p>

  <p>
  Rules that &ldquo;if you make your version available in this way, you
  must make it available in that way also&rdquo; can be acceptable too,
  on the same condition.  An example of such an acceptable rule is one
  saying that if you have distributed a
  modified version and a previous developer asks for a copy of it, you
  must send one.  (Note that such a rule still leaves you the choice of
  whether to distribute your version at all.)  Rules that require release
  of source code to the users for versions that you put into public use
  are also acceptable.
  </p>

  <p>
  A special issue arises when a license requires changing the name by
  which the program will be invoked from other programs.  That
  effectively hampers you from releasing your changed version so that it
  can replace the original when invoked by those other programs.  This
  sort of requirement is acceptable only if there's a suitable aliasing
  facility that allows you to specify the original program's name as an
  alias for the modified version.</p>

  <p>
  Sometimes government <a id="exportcontrol">export control regulations</a>
  and trade sanctions can constrain your freedom to distribute copies of
  programs internationally.  Software developers do not have the power to
  eliminate or override these restrictions, but what they can and must do
  is refuse to impose them as conditions of use of the program.  In this
  way, the restrictions will not affect activities and people outside the
  jurisdictions of these governments.  Thus, free software licenses
  must not require obedience to any nontrivial export regulations as a
  condition of exercising any of the essential freedoms.
  </p>

  <p>
  Merely mentioning the existence of export regulations, without making
  them a condition of the license itself, is acceptable since it does
  not restrict users.  If an export regulation is actually trivial for
  free software, then requiring it as a condition is not an actual
  problem; however, it is a potential problem, since a later change in
  export law could make the requirement nontrivial and thus render the
  software nonfree.
  </p>

  <p>
  A free license may not require compliance with the license of a
  nonfree program.  Thus, for instance, if a license requires you to
  comply with the licenses of &ldquo;all the programs you use&rdquo;, in
  the case of a user that runs nonfree programs this would require
  compliance with the licenses of those nonfree programs; that makes the
  license nonfree.
  </p>

  <p>
  It is acceptable for a free license to specify which jurisdiction's
  law applies, or where litigation must be done, or both.
  </p>

  <p>
  Most free software licenses are based on copyright, and there are limits
  on what kinds of requirements can be imposed through copyright.  If a
  copyright-based license respects freedom in the ways described above, it
  is unlikely to have some other sort of problem that we never anticipated
  (though this does happen occasionally).  However, some free software
  licenses are based on contracts, and contracts can impose a much larger
  range of possible restrictions.  That means there are many possible ways
  such a license could be unacceptably restrictive and nonfree.
  </p>

  <p>
  We can't possibly list all the ways that might happen.  If a
  contract-based license restricts the user in an unusual way that
  copyright-based licenses cannot, and which isn't mentioned here as
  legitimate, we will have to think about it, and we will probably conclude
  it is nonfree.
  </p>

  <p>
  When talking about free software, it is best to avoid using terms
  like &ldquo;give away&rdquo; or &ldquo;for free,&rdquo; because those terms imply that
  the issue is about price, not freedom.  Some common terms such
  as &ldquo;piracy&rdquo; embody opinions we hope you won't endorse.  See
  <a href="/philosophy/words-to-avoid.html">Confusing Words and Phrases that
  are Worth Avoiding</a> for a discussion of these terms.  We also have
  a list of proper <a href="/philosophy/fs-translations.html">translations of
  &ldquo;free software&rdquo;</a> into various languages.
  </p>

  <p>
  Finally, note that criteria such as those stated in this free software
  definition require careful thought for their interpretation.  To decide
  whether a specific software license qualifies as a free software license,
  we judge it based on these criteria to determine whether it fits their
  spirit as well as the precise words.  If a license includes unconscionable
  restrictions, we reject it, even if we did not anticipate the issue
  in these criteria.  Sometimes a license requirement raises an issue
  that calls for extensive thought, including discussions with a lawyer,
  before we can decide if the requirement is acceptable.  When we reach
  a conclusion about a new issue, we often update these criteria to make
  it easier to see why certain licenses do or don't qualify.
  </p>

  <p>
  If you are interested in whether a specific license qualifies as a free
  software license, see our <a href="/licenses/license-list.html">list
  of licenses</a>.  If the license you are concerned with is not
  listed there, you can ask us about it by sending us email at
  <a href="mailto:licensing@gnu.org">&lt;licensing@gnu.org&gt;</a>.
  </p>

  <p>
  If you are contemplating writing a new license, please contact the
  Free Software Foundation first by writing to that address. The
  proliferation of different free software licenses means increased work
  for users in understanding the licenses; we may be able to help you
  find an existing free software license that meets your needs.
  </p>

  <p>
  If that isn't possible, if you really need a new license, with our
  help you can ensure that the license really is a free software license
  and avoid various practical problems.
  </p>

  <h3 id="beyond-software">Beyond Software</h3>

  <p>
  <a href="/philosophy/free-doc.html">Software manuals must be free</a>,
  for the same reasons that software must be free, and because the
  manuals are in effect part of the software.
  </p>

  <p>
  The same arguments also make sense for other kinds of works of
  practical use &mdash; that is to say, works that embody useful knowledge,
  such as educational works and reference
  works.  <a href="http://wikipedia.org">Wikipedia</a> is the best-known
  example.
  </p>

  <p>
  Any kind of work <em>can</em> be free, and the definition of free software
  has been extended to a definition of <a href="http://freedomdefined.org/">
  free cultural works</a> applicable to any kind of works.
  </p>

  <h3 id="open-source">Open Source?</h3>

  <p>
  Another group uses the term &ldquo;open source&rdquo; to mean
  something close (but not identical) to &ldquo;free software&rdquo;.  We
  prefer the term &ldquo;free software&rdquo; because, once you have heard that
  it refers to freedom rather than price, it calls to mind freedom.  The
  word &ldquo;open&rdquo; <a href="/philosophy/open-source-misses-the-point.html">
  never refers to freedom</a>.
  </p>
  </div>
  </section>
  </article>
</body>
</html>