Free Software, Tools and Applications

Information Technology Resources

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 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, 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”.

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, the program controls the users. The developer controls the program, and through it exercises power over the users. Therefore, a “nonfree” or “proprietary” program is 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 (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 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.

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

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 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 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.

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 “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 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 (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 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. (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.

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 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 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 nonfree.

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 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.

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.

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 .

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.

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.

Beyond Software

Software manuals must be free, for the same reasons that software must be free, and because the manuals are in effect part of the software.

The same arguments also make sense for other kinds of works of practical use — that is to say, works that embody useful knowledge, such as educational works and reference works. Wikipedia is the best-known example.

Any kind of work can be free, and the definition of free software has been extended to a definition of free cultural works applicable to any kind of works.

Open Source?

Another group has started using the term “open source” to mean something close (but not identical) to “free software”. We prefer the term “free software” because, once you have heard that it refers to freedom rather than price, it calls to mind freedom. The word “open” never refers to freedom.

History

From time to time we revise this Free Software Definition. Here is the list of substantive changes, along with links to show exactly what was changed.

  • Version 1.122: An export control requirement is a real problem if the requirement is nontrivial; otherwise it is only a potential problem.
  • Version 1.111: Clarify 1.77 by saying that only retroactive restrictions are unacceptable. The copyright holders can always grant additional permission for use of the work by releasing the work in another way in parallel.
  • Version 1.105: Reflect, in the brief statement of freedom 1, the point (already stated in version 1.80) that it includes really using your modified version for your computing.
  • Version 1.92: Clarify that obfuscated code does not qualify as source code.
  • Version 1.90: Clarify that freedom 3 means the right to distribute copies of your own modified or improved version, not a right to participate in someone else's development project.
  • Version 1.89: Freedom 3 includes the right to release modified versions as free software.
  • Version 1.80: Freedom 1 must be practical, not just theoretical; i.e., no tivoization.
  • Version 1.77: Clarify that all retroactive changes to the license are unacceptable, even if it's not described as a complete replacement.
  • Version 1.74: Four clarifications of points not explicit enough, or stated in some places but not reflected everywhere:
    • "Improvements" does not mean the license can substantively limit what kinds of modified versions you can release. Freedom 3 includes distributing modified versions, not just changes.
    • The right to merge in existing modules refers to those that are suitably licensed.
    • Explicitly state the conclusion of the point about export controls.
    • Imposing a license change constitutes revoking the old license.
  • Version 1.57: Add "Beyond Software" section.
  • Version 1.46: Clarify whose purpose is significant in the freedom to run the program for any purpose.
  • Version 1.41: Clarify wording about contract-based licenses.
  • Version 1.40: Explain that a free license must allow to you use other available free software to create your modifications.
  • Version 1.39: Note that it is acceptable for a license to require you to provide source for versions of the software you put into public use.
  • Version 1.31: Note that it is acceptable for a license to require you to identify yourself as the author of modifications. Other minor clarifications throughout the text.
  • Version 1.23: Address potential problems related to contract-based licenses.
  • Version 1.16: Explain why distribution of binaries is important.
  • Version 1.11: Note that a free license may require you to send a copy of versions you distribute to the author.

There are gaps in the version numbers shown above because there are other changes in this page that do not affect the definition as such. These changes are in other parts of the page. You can review the complete list of changes to the page through the cvsweb interface.

Links

The Free Software Directory: The Free Software Directory is a catalog of useful free software that runs under free operating systems. FSF staff and volunteers work together to collect detailed information about free software programs and organize it in a clear and accessible format.

Apache OpenOffice: Apache OpenOffice is easy to use: The software looks and feels familiar and is instantly usable by anyone who has used a competitive product. It's easy to change to Apache OpenOffice - the software reads all major competitors' files Few language barriers - if it's not yet available in your language, the chances are it will be soon. Apache OpenOffice is supported by a global community of friendly volunteers, happy to provide assistance to newcomers and advanced users alike.

Open Office: The leading open source office suite for word processing, spreadsheets, databases, graphics, presentations and more. Originally developed by Sun Microsystems, the code for OpenOffice was made open source in 2000. Since then, OpenOffice has been developed by users and the Open Office Project. Because OpenOffice is open source, it is constantly evolving with new features and extensions. Volunteers from around the world are working every day to make Open Office better. OpenOffice has many advantages over other office suites, including: Advanced compatibility Accessibility in multiple languages A constantly growing list of extensions Designed from the start to be a competitor for existing office suites, OpenOffice is the free solution to your office needs. Whether you just need a word processor or the power of a full office suite, OpenOffice can deliver.

CFS - Completely Free Softare: The CFS site has links to many, many thousands of completely free – and legal – Windows and DOS programs. We have access to archives dating back to the early 1980s! All listed freeware is freely available to all visitors, as are all our exclusive program reviews. Over 2,600 programs are downloadable from this site. Many of those programs are not available through any other Website. Programs hosted by CFS are marked with this icon

SourceForge.net: SourceForge is dedicated to making open source projects successful.We thrive on community collaboration to help us create the leading resource for open source software development and distribution. With the tools we provide, 3.4 million developers create powerful software in over 324,000 projects. Our popular directory connects more than 46 million consumers with these open source projects and serves more than 4,000,000 downloads a day. SourceForge is where open source happens. SourceForge.net is owned and operated by Slashdot Media. Slashdot Media is a Dice Holdings, Inc. company.

AutoDesk Free Student Downloads: Download a free 3-year Autodesk student software license or free app to create your next 3D project and get prepared for success.

Visual Studio Express: Visual Studio Express for Web has the tools to create standards-based, responsive websites, web APIs, or real-time online experiences using ASP.NET. Publish your web application directly to Windows Azure from the IDE. Create web services consumed by connected devices.

Microsoft Expression Web 4 (Free Version) : Expression Web is a full-featured professional tool for designing, developing, and publishing compelling, feature-rich websites that conform to web standards.

SQL Server Express Edition: Take advantage of the same powerful database engine as the other versions of SQL Server in a version great for redistribution and embedding, free! SQL Server Express includes 10GB of storage per database, easy backup and restore functionality and compatibility with all editions of SQL Server and Windows Azure SQL Database. SQL Server is ideal for developing and powering desktop, web and small server applications.

Oracle Software Downloads: All software downloads are free, and most come with a Developer License that allows you to use full versions of the products at no charge while developing and prototyping your applications, or for strictly self-educational purposes. (Unless otherwise specified, our technical support organization will not provide technical support, phone support, or updates to you for the programs licensed under this agreement.) You can buy products with full-use licenses at any time from the online Store or from your sales representative.

HTMLKit.com: HTML-Kit is a full-featured editor for markup and code, optimized for web development. It has received 95% thumbs up on Download.com. You can find mentions of HTML-Kit in 300+ books. Hundreds of plugins are available for easily customizing HTML-Kit. Dedicated support and a friendly online community is ready to help if you have any questions. HTML-Kit has been helping developers create great sites since 1998!

Dropbox : Dropbox is a free service that lets you bring all your photos, docs, and videos anywhere, and share them easily. Any file you save to your Dropbox will automatically save to all your computers, your phone or iPad, and the Dropbox website. Dropbox also makes it easy to share with others. And if your computer melts down, you can restore all your files from the Dropbox website with a couple clicks.

Share This


Suggestions for Further Reading

Attribution: The article on Free Software (except the links) is Copyright © 1996-2002, 2004-2007, 2009, 2010, 2012, 2013 Free Software Foundation, Inc. This page is licensed under a Creative Commons Attribution-NoDerivs 3.0 United States License. Copyright Infringement Notification