The
free software 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 History
section below
for a list of changes that affect the definition of free software.” Free
software” means software that respects users' freedom and community. Roughly,
it means that the
users have the freedom to run, copy, distribute, study, change and improve the
software. Thus, “free software” is a matter of liberty, not price. To
understand the concept, you should think of “free” as in “free speech,” not as
in “free beer”. We campaign for these freedoms because everyone deserves them.
With these freedoms, the users control the program and what it does for them.
When users don't control the program, we call it a “non free” or “proprietary”
program. The non free program controls the users, and the developer controls the
program; this makes the program an instrument of unjust power.A
program is free software if the program's users have the four essential freedoms:
The freedom to run the program, for any purpose. The freedom to study how the
program works, and change it so it does your computing as you wish. Access to
the source code is a precondition for this. The freedom to redistribute copies
so you can help your neighbor The freedom to distribute copies of your modified
versions to others 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. A program is free software if it gives users adequately all of these
freedoms. Otherwise, it is non free. While we can distinguish various non free
distribution schemes in terms of how far they fall short of being free, we
consider them all equally unethical. The rest of this page clarifies certain
points about what makes specific freedoms adequate or not. Freedom to distribute means you are free to redistribute
copies, either with or without modifications, either gratis or charging a fee
for distribution, toanyone anywhere. Being free to do these things means that
you do not have to ask or pay for permission to do so.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. 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 user's purpose that matters, not the developer's 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. 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. It is OK if there is no way to produce a binary or
executable form for a certain program,but you must have the freedom to
redistribute such forms should you find or develop a way to make them. In order
for freedoms 1 and 3 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 “source code” is not real source code
and does not count as source code. 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 a practice known as “tivoization” or “lockdown”, or as “secure boot”
freedom 1 becomes a theoretical fiction rather than a practical freedom. This
is not sufficient. In other words, these binaries are not free software even if
the source code they are compiled from is free. 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 for instance, if it requires you to be the copyright holder of any code
you add then the license is too restrictive to qualify as free. 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 copyleft license. However, a license that
requires modified versions to be non free does not qualify as a free license. 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. 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, copyleft 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.“Free software” does not mean
“noncommercial”. 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 sell copies. 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. 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. Rules that “if you make your version available in this way, you must
make it available in that way also” 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. Rules that require release of source code to the users for
versions that you put into public use are also acceptable. 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. In the GNU project, we use copy left to protect these freedoms legally for
everyone. But non copy lefted free
software also exists. We believe
there are important reasons why it
is better to use copy left, but if your program is non copy lefted free software,
it is still basically ethical. Sometimes government export control regulations 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. 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
non free. 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. 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 non free. When 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 non free. When talking about free software, it
is best to avoid using terms like “give away” or “for free,” because those
terms imply that the issue is about price, not freedom. Some common terms such
as “piracy” embody opinions we hope you won't endorse. See Confusing Words and Phrases that are
Worth Avoiding for a discussion
of these terms. We also have a list of proper translations
of “free software” into various
languages. 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.
No comments:
Post a Comment