Software categories are groups of software. They allow software to be understood in terms of those categories, instead of the particularities of each package. Different classification schemes consider different aspects of software.
Computer software can be put into categories based on common function, type, or field of use. There are three broad classifications:
The GNU Project categorizes software by copyright status: free software, open source software, public domain software, copylefted software, noncopylefted free software, lax permissive licensed software, GPL-covered software, the GNU operating system, GNU programs, GNU software, FSF-copyrighted GNU software, nonfree software, proprietary software, freeware, shareware, private software and commercial software.
Free software is software that comes with permission for anyone to use, copy and distribute, either verbatim or with modifications, either gratis or for a fee. In particular, this means that source code must be available. "If it's not the source, it's not software." If a program is free, then it can potentially be included in a free operating system such as GNU, or free versions of the Linux system.
Free software in the sense of copyright license (and the GNU project) is a matter of freedom, not price. But proprietary software companies typically use the term "free software" to refer to price. Sometimes this means a binary copy can be obtained at no charge; sometimes this means a copy is bundled with a computer for sale at no additional charge.
Open-source software is software with its source code made available under a certain license to its licensees. It can be used and disseminated at any point, the source code is open and can be modified as required. The one condition with this type of software is that when changes are made users should make these changes known to others. One of the key characteristics of open source software is that it is the shared intellectual property of all developers and users. The Linux operating system is one of the best-known examples of a collection of open-source software.
Copylefted software is free software whose distribution terms ensure that all copies of all versions carry more or less the same distribution terms. This means, for instance, that copyleft licenses generally disallows others to add additional requirements to the software (though a limited set of safe added requirements can be allowed) and require making source code available. This shields the program, and its modified versions, from some of the common ways of making a program proprietary. Some copyleft licenses block other means of turning software proprietary.
Copyleft is a general concept. Copylefting an actual program requires a specific set of distribution terms. Different copyleft licenses are usually “incompatible” due to varying terms, which makes it illegal to merge the code using one license with the code using the other license. If two pieces of software use the same license, they are generally mergeable.
Noncopylefted free software comes from the author with permission to redistribute and modify and to add license restrictions.
If a program is free but not copylefted, then some copies or modified versions may not be free. A software company can compile the program, with or without modifications, and distribute the executable file as a proprietary software product. The X Window System illustrates this approach. The X Consortium releases X11 with distribution terms that make it non-copylefted free software. If you wish, you can get a copy that has those distribution terms and is free. However, nonfree versions are available and workstations and PC graphics boards for which nonfree versions are the only ones that work. The developers of X11 made X11 nonfree for a while; they were able to do this because others had contributed their code under the same non-copyleft license.
Shareware is software that comes with permission to redistribute copies but says that anyone who continues to use a copy is required to pay. Shareware is not free software or even semi-free. For most shareware, source code is not available; thus, the program cannot be modified. Shareware does not come with permission to make a copy and install it without paying a license fee, including for nonprofit activity.
Like shareware, freeware is software available for download and distribution without any initial payment. Freeware never has an associated fee. Things like minor program updates and small games are commonly distributed as freeware. Though freeware is cost-free, it is copyrighted, so other people can't market the software as their own.
This classification has seven major elements. They are: platform and management, education and reference, home and entertainment, content and communication, operations and professional, product manufacturing and service delivery, and line of business.
Free software or libre software, infrequently known as freedom-respecting software, is computer software distributed under terms that allow users to run the software for any purpose as well as to study, change, and distribute it and any adapted versions. Free software is a matter of liberty, not price; all users are legally free to do what they want with their copies of a free software regardless of how much is paid to obtain the program. Computer programs are deemed "free" if they give end-users ultimate control over the software and, subsequently, over their devices.
The free software movement is a social movement with the goal of obtaining and guaranteeing certain freedoms for software users, namely the freedoms to run the software, to study the software, to modify the software, and to share copies of the software. Software which meets these requirements, The Four Essential Freedoms of Free Software, is termed free software.
Freeware is software, most often proprietary, that is distributed at no monetary cost to the end user. There is no agreed-upon set of rights, license, or EULA that defines freeware unambiguously; every publisher defines its own rules for the freeware it offers. For instance, modification, redistribution by third parties, and reverse engineering are permitted by some publishers but prohibited by others. Unlike with free and open-source software, which are also often distributed free of charge, the source code for freeware is typically not made available. Freeware may be intended to benefit its producer by, for example, encouraging sales of a more capable version, as in the freemium and shareware business models.
GNU is an extensive collection of free software, which can be used as an operating system or can be used in parts with other operating systems. The use of the completed GNU tools led to the family of operating systems popularly known as Linux. Most of GNU is licensed under the GNU Project's own General Public License (GPL).
The GNU Lesser General Public License (LGPL) is a free-software license published by the Free Software Foundation (FSF). The license allows developers and companies to use and integrate a software component released under the LGPL into their own software without being required by the terms of a strong copyleft license to release the source code of their own components. However, any developer who modifies an LGPL-covered component is required to make their modified version available under the same LGPL license. For proprietary software, code under the LGPL is usually used in the form of a shared library, so that there is a clear separation between the proprietary and LGPL components. The LGPL is primarily used for software libraries, although it is also used by some stand-alone applications.
The MIT License is a permissive free software license originating at the Massachusetts Institute of Technology (MIT) in the late 1980s. As a permissive license, it puts only very limited restriction on reuse and has, therefore, high license compatibility.
In computing, source code, or simply code, is any collection of code, with or without comments, written using a human-readable programming language, usually as plain text. The source code of a program is specially designed to facilitate the work of computer programmers, who specify the actions to be performed by a computer mostly by writing source code.
The GNU Project is a free software, mass collaboration project announced by Richard Stallman on September 27, 1983. Its goal is to give computer users freedom and control in their use of their computers and computing devices by collaboratively developing and publishing software that gives everyone the rights to freely run the software, copy and distribute it, study it, and modify it. GNU software grants these rights in its license.
Software copyright is the application of copyright in law to machine-readable software. While many of the legal principles and policy debates concerning software copyright have close parallels in other domains of copyright law, there are a number of distinctive issues that arise with software. This article primarily focuses on topics particular to software.
Commercial software, or seldom payware, is a computer software that is produced for sale or that serves commercial purposes. Commercial software can be proprietary software or free and open-source software.
A software license is a legal instrument governing the use or redistribution of software. Under United States copyright law, all software is copyright protected, in both source code and object code forms, unless that software was developed by the United States Government, in which case it cannot be copyrighted. Authors of copyrighted software can donate their software to the public domain, in which case it is also not covered by copyright and, as a result, cannot be licensed.
Multi-licensing is the practice of distributing software under two or more different sets of terms and conditions. This may mean multiple different software licenses or sets of licenses. Prefixes may be used to indicate the number of licenses used, e.g. dual-licensed for software licensed under two different licenses.
A permissive software license, sometimes also called BSD-like or BSD-style license, is a free-software license which instead of copyleft protections, carries only minimal restrictions on how the software can be used, modified, and redistributed, usually including a warranty disclaimer. Examples include the GNU All-permissive License, MIT License, BSD licenses, Apple Public Source License and Apache license. As of 2016, the most popular free-software license is the permissive MIT license.
Public-domain software is software that has been placed in the public domain, in other words, software for which there is absolutely no ownership such as copyright, trademark, or patent. Software in the public domain can be modified, distributed, or sold even without any attribution by anyone; this is unlike the common case of software under exclusive copyright, where licenses grant limited usage rights.
Linux is an open-source Unix-like operating system based on the Linux kernel, an operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically packaged as a Linux distribution.
License compatibility is a legal framework that allows for pieces of software with different software licenses to be distributed together. The need for such a framework arises because the different licenses can contain contradictory requirements, rendering it impossible to legally combine source code from separately-licensed software in order to create and publish a new program. Proprietary licenses are generally program-specific and incompatible; authors must negotiate to combine code. Copyleft licenses are commonly deliberately incompatible with proprietary licenses, in order to prevent copyleft software from being re-licensed under a proprietary license, turning it into proprietary software. Many copyleft licenses explicitly allow relicensing under some other copyleft licenses. Permissive licenses are compatible with everything, including proprietary licenses; there is thus no guarantee that all derived works will remain under a permissive license.
A free-software license is a notice that grants the recipient of a piece of software extensive rights to modify and redistribute that software. These actions are usually prohibited by copyright law, but the rights-holder of a piece of software can remove these restrictions by accompanying the software with a software license which grants the recipient these rights. Software using such a license is free software as conferred by the copyright holder. Free-software licenses are applied to software in source code and also binary object-code form, as the copyright law recognizes both forms.
Copyleft is the legal technique of granting certain freedoms over copies of copyrighted works with the requirement that the same rights be preserved in derivative works. In this sense, freedoms refers to the use of the work for any purpose, and the ability to modify, copy, share, and redistribute the work, with or without a fee. Licenses which implement copyleft can be used to maintain copyright conditions for works ranging from computer software, to documents, art, scientific discoveries and even certain patents.
Proprietary software, also known as non-free software or closed-source software, is computer software for which the software's publisher or another person reserves some licensing rights to use, modify, share modifications, or share the software, restricting user freedom with the software they lease. It is the opposite of open-source or free software. Non-free software sometimes includes patent rights.
The GNU General Public License is a series of widely used free software licenses that guarantee end users the four freedoms to run, study, share, and modify the software. The license was the first copyleft for general use and was originally written by the founder of the Free Software Foundation (FSF), Richard Stallman, for the GNU Project. The license grants the recipients of a computer program the rights of the Free Software Definition. These GPL series are all copyleft licenses, which means that any derivative work must be distributed under the same or equivalent license terms. It is more restrictive than the Lesser General Public License and even further distinct from the more widely used permissive software licenses BSD, MIT, and Apache.