free-software.7 13 KB

  1. .Dd $Mdocdate: April 16 2016 $
  3. .Os
  4. .Sh NAME
  5. .Nm free-software
  6. .Nd philosophy of software freedom
  8. "Free software" means software that respects users' freedom and community. Roughly, it
  9. means that the users have the freedom to run, copy, distribute, study, change and improve
  10. the software. Thus, "free software" is a matter of liberty, not price. To understand the
  11. concept, you should think of "free" as in "free speech," not as in "free beer". We sometimes
  12. call it "libre software" to show we do not mean it is gratis.
  13. .Pp
  14. We campaign for these freedoms because everyone deserves them. With these freedoms, the users
  15. (both individually and collectively) control the program and what it does for them. When users
  16. don't control the program, we call it a "nonfree" or "proprietary" program. The nonfree program
  17. controls the users, and the developer controls the program; this makes the program an instrument
  18. of unjust power.
  19. .Pp
  20. A program is free software if the program's users have the four essential freedoms:
  21. .Bl -bullet
  22. .It
  23. The freedom to run the program as you wish, for any purpose (freedom 0).
  24. .It
  25. 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.
  26. .It
  27. The freedom to redistribute copies so you can help your neighbor (freedom 2).
  28. .It
  29. 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.
  30. .El
  31. .Pp
  32. 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.
  34. In any given scenario, these freedoms must apply to whatever code we plan to make use of,
  35. or lead others to make use of. For instance, consider a program A which automatically launches
  36. a program B to handle some cases. If we plan to distribute A as it stands, that implies users
  37. will need B, so we need to judge whether both A and B are free. However, if we plan to modify A
  38. so that it doesn't use B, only A needs to be free; we can ignore B.
  39. .Pp
  40. The rest of this page clarifies certain points about what makes specific freedoms adequate or not.
  41. .Pp
  42. Freedom to distribute (freedoms 2 and 3) means you are free to redistribute copies, either with
  43. or without modifications, either gratis or charging a fee for distribution, to anyone anywhere.
  44. Being free to do these things means (among other things) that you do not have to ask or pay for
  45. permission to do so.
  46. .Pp
  47. You should also have the freedom to make modifications and use them privately in your own work
  48. or play, without even mentioning that they exist. If you do publish your changes, you should
  49. not be required to notify anyone in particular, or in any particular way.
  50. .Pp
  51. The freedom to run the program means the freedom for any kind of person or organization to
  52. use it on any kind of computer system, for any kind of overall job and purpose, without being
  53. required to communicate about it with the developer or any other specific entity. In this
  54. freedom, it is the user's purpose that matters, not the developer's purpose; you as a user
  55. are free to run the program for your purposes, and if you distribute it to someone else, she
  56. is then free to run it for her purposes, but you are not entitled to impose your purposes on her.
  57. .Pp
  58. The freedom to run the program as you wish means that you are not forbidden or stopped from doing
  59. so. It has nothing to do with what functionality the program has, or whether it is useful for what
  60. you want to do.
  61. .Pp
  62. The freedom to redistribute copies must include binary or executable forms of the program, as well
  63. as source code, for both modified and unmodified versions. (Distributing programs in runnable form
  64. is necessary for conveniently installable free operating systems.) It is OK if there is no way to
  65. produce a binary or executable form for a certain program (since some languages don't support that
  66. feature), but you must have the freedom to redistribute such forms should you find or develop a
  67. way to make them.
  68. .Pp
  69. In order for freedoms 1 and 3 (the freedom to make changes and the freedom to publish the changed
  70. versions) to be meaningful, you must have access to the source code of the program. Therefore,
  71. accessibility of source code is a necessary condition for free software. Obfuscated "source code"
  72. is not real source code and does not count as source code.
  73. .Pp
  74. Freedom 1 includes the freedom to use your changed version in place of the original. If the program
  75. is delivered in a product designed to run someone else's modified versions but refuse to run yours--
  76. a practice known as "tivoization" or "lockdown", or (in its practitioners' perverse terminology) as
  77. "secure boot"-- freedom 1 becomes an empty pretense rather than a practical reality. These binaries
  78. are not free software even if the source code they are compiled from is free.
  79. .Pp
  80. One important way to modify a program is by merging in available free subroutines and modules. If the
  81. program's license says that you cannot merge in a suitably licensed existing module ? for instance,
  82. if it requires you to be the copyright holder of any code you add ? then the license is too restrictive
  83. to qualify as free.
  84. .Pp
  85. Freedom 3 includes the freedom to release your modified versions as free software. A free license may
  86. also permit other ways of releasing them; in other words, it does not have to be a copyleft license.
  87. However, a license that requires modified versions to be nonfree does not qualify as a free license.
  88. .Pp
  89. In order for these freedoms to be real, they must be permanent and irrevocable as long as you do
  90. nothing wrong; if the developer of the software has the power to revoke the license, or retroactively
  91. add restrictions to its terms, without your doing anything wrong to give cause, the software is not free.
  92. .Pp
  93. However, certain kinds of rules about the manner of distributing free software are acceptable, when
  94. they don't conflict with the central freedoms. For example, copyleft (very simply stated) is the rule
  95. that when redistributing the program, you cannot add restrictions to deny other people the central
  96. freedoms. This rule does not conflict with the central freedoms; rather it protects them.
  97. .Pp
  98. In the GNU project, we use copyleft to protect the four freedoms legally for everyone. We believe there
  99. are important reasons why it is better to use copyleft. However, noncopylefted free software is ethical
  100. too. See Categories of Free Software for a description of how "free software," "copylefted software"
  101. and other categories of software relate to each other.
  102. .Pp
  103. "Free software" does not mean "noncommercial". A free program must be available for commercial use,
  104. commercial development, and commercial distribution. Commercial development of free software is no
  105. longer unusual; such free commercial software is very important. You may have paid money to get copies
  106. of free software, or you may have obtained copies at no charge. But regardless of how you got your copies,
  107. you always have the freedom to copy and change the software, even to sell copies.
  108. .Pp
  109. Whether a change constitutes an improvement is a subjective matter. If your right to modify a program is
  110. limited, in substance, to changes that someone else considers an improvement, that program is not free.
  111. .Pp
  112. However, rules about how to package a modified version are acceptable, if they don't substantively limit
  113. your freedom to release modified versions, or your freedom to make and use modified versions privately.
  114. Thus, it is acceptable for the license to require that you change the name of the modified version,
  115. remove a logo, or identify your modifications as yours. As long as these requirements are not so
  116. burdensome that they effectively hamper you from releasing your changes, they are acceptable; you're
  117. already making other changes to the program, so you won't have trouble making a few more.
  118. .Pp
  119. Rules that "if you make your version available in this way, you must make it available in that way also"
  120. can be acceptable too, on the same condition. An example of such an acceptable rule is one saying that
  121. if you have distributed a modified version and a previous developer asks for a copy of it, you must send
  122. one. (Note that such a rule still leaves you the choice of whether to distribute your version at all.)
  123. Rules that require release of source code to the users for versions that you put into public use are
  124. also acceptable.
  125. .Pp
  126. A special issue arises when a license requires changing the name by which the program will be invoked
  127. from other programs. That effectively hampers you from releasing your changed version so that it can
  128. replace the original when invoked by those other programs. This sort of requirement is acceptable only
  129. if there's a suitable aliasing facility that allows you to specify the original program's name as an
  130. alias for the modified version.
  131. .Pp
  132. Sometimes government export control regulations and trade sanctions can constrain your freedom to
  133. distribute copies of programs internationally. Software developers do not have the power to eliminate
  134. or override these restrictions, but what they can and must do is refuse to impose them as conditions
  135. of use of the program. In this way, the restrictions will not affect activities and people outside the
  136. jurisdictions of these governments. Thus, free software licenses must not require obedience to any
  137. nontrivial export regulations as a condition of exercising any of the essential freedoms.
  138. .Pp
  139. Merely mentioning the existence of export regulations, without making them a condition of the license
  140. itself, is acceptable since it does not restrict users. If an export regulation is actually trivial
  141. for free software, then requiring it as a condition is not an actual problem; however, it is a potential
  142. problem, since a later change in export law could make the requirement nontrivial and thus render the
  143. software nonfree.
  144. .Pp
  145. A free license may not require compliance with the license of a nonfree program. Thus, for instance,
  146. if a license requires you to comply with the licenses of "all the programs you use", in the case of a
  147. user that runs nonfree programs this would require compliance with the licenses of those nonfree programs;
  148. that makes the license nonfree.
  149. .Pp
  150. It is acceptable for a free license to specify which jurisdiction's law applies, or where litigation must
  151. be done, or both.
  152. .Pp
  153. Most free software licenses are based on copyright, and there are limits on what kinds of requirements can
  154. be imposed through copyright. If a copyright-based license respects freedom in the ways described above, it
  155. is unlikely to have some other sort of problem that we never anticipated (though this does happen
  156. occasionally). However, some free software licenses are based on contracts, and contracts can impose a much
  157. larger range of possible restrictions. That means there are many possible ways such a license could be
  158. unacceptably restrictive and nonfree.
  159. .Pp
  160. We can't possibly list all the ways that might happen. If a contract-based license restricts the user in
  161. an unusual way that copyright-based licenses cannot, and which isn't mentioned here as legitimate, we
  162. will have to think about it, and we will probably conclude it is nonfree.
  163. .Pp
  164. When talking about free software, it is best to avoid using terms like "give away" or "for free," because
  165. those terms imply that the issue is about price, not freedom. Some common terms such as "piracy" embody
  166. opinions we hope you won't endorse. See Confusing Words and Phrases that are Worth Avoiding for a discussion
  167. of these terms. We also have a list of proper translations of "free software" into various languages.
  168. .Pp
  169. Finally, note that criteria such as those stated in this free software definition require careful thought
  170. for their interpretation. To decide whether a specific software license qualifies as a free software license,
  171. we judge it based on these criteria to determine whether it fits their spirit as well as the precise words.
  172. If a license includes unconscionable restrictions, we reject it, even if we did not anticipate the issue
  173. in these criteria. Sometimes a license requirement raises an issue that calls for extensive thought,
  174. including discussions with a lawyer, before we can decide if the requirement is acceptable. When we reach
  175. a conclusion about a new issue, we often update these criteria to make it easier to see why certain
  176. licenses do or don't qualify. [...]
  177. .Pp
  178. .Sh LICENSE
  179. The above is an excerpt from the GNU essay "What's Free Software?" licensed under the CC BY-ND 4.0.
  180. .Sh SEE ALSO
  181. .Xr fsdg 7
  182. .Sh HISTORY
  183. The free-software(7) page appeared in LibertyBSD 5.9.