blob: cde10d63c50521d3baeefc187a92f9328fdd87bd [file] [log] [blame]
 The Free Software Definition We maintain this free software definition to show clearly what must be true about a particular software program for it to be considered free software . From time to time we revise this definition to clarify it . If you would like to review the changes we 've made , please see the History section below for more information . “ 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 . ” Free software is a matter of the users ' freedom to run , copy , distribute , study , change and improve the software . More precisely , it means that the program 's users have the four essential freedoms : • The freedom to run the program , for any purpose ( freedom 0 ) . • 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 . • The freedom to redistribute copies so you can help your neighbor ( freedom 2 ) . • 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 . A program is free software if users have all of these freedoms . Thus , you should be free to redistribute copies , either with or without modifications , either gratis or charging a fee for distribution , to anyone anywhere . Being free to do these things means ( among other things ) 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 . ( 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 do n't support that feature ) , 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 ( the freedom to make changes and the freedom to publish improved 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 “ 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 ( in its practitioners ' perverse terminology ) 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 nonfree 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 change 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 do n't conflict with the central freedoms . For example , copyleft ( 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 . “ 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 modifications are limited , in substance , to changes that someone else considers an improvement , that is not freedom . However , rules about how to package a modified version are acceptable , if they do n'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 wo n'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 . ( 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 . In the GNU project , we use copyleft to protect these freedoms legally for everyone . But noncopylefted free software also exists . We believe there are important reasons why it is better to use copyleft , but if your program is noncopylefted free software , it is still basically ethical . ( See Categories of Free Software for a description of how “ free software , ” “ copylefted software ” and other categories of software relate to each other . ) 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 export regulations as a condition of any of the essential freedoms . 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 . We ca n'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 is n't mentioned here as legitimate , we will have to think about it , and we will probably conclude it is nonfree . 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 wo n'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 do n't qualify . If you are interested in whether a specific license qualifies as a free software license , see our list of licenses . If the license you are concerned with is not listed there , you can ask us about it by sending us email at