Free software
Encyclopedia
Free software, software libre or libre software is software that can be used, studied, and modified without restriction, and which can be copied and redistributed in modified or unmodified form either without restriction, or with restrictions that only ensure that further recipients can also do these things and that manufacturers of consumer-facing hardware allow user modifications to their hardware. Free software is generally available without charge, but can have a fee, such as in the form of charging for CDs or other distribution media.
In practice, for software to be distributed as free software, the human-readable form of the program (the source code
) must be made available to the recipient along with a notice granting the above permissions. Such a notice either is a free software license, or a notice that the source code is released into the public domain
.
The free software movement
was conceived in 1983 by Richard Stallman
to satisfy the need for and to give the benefit of software freedom to computer users. Stallman founded the Free Software Foundation
in 1985 to provide the organizational structure to advance his Free Software ideas.
From 1998 onward, alternative terms for free software
came into use. The most common are software libre, free and open source software
(FOSS) and free, libre and open source software (FLOSS). The Software Freedom Law Center was founded in 2005 to protect and advance FLOSS. Commercial software may sometimes offer freedoms which are typical of free and open source software. Contrary to a popular misconception that software is either free or commercial they are unrelated traits, since free software can be commercial and proprietary software can be non-commercial. One example of free commercial software is GNAT
, an Ada
compiler from the company AdaCore
. It has been developed and is available commercially (i.e., against payment), but is free software because of its non-proprietary nature, with the source code publicly available. On the other hand, free software and proprietary software are opposite traits, and an application can be one or the other but never both, contingent upon the availability of the source code under certain minimum freedoms.
Free software, which may or may not be distributed free of charge, is distinct from freeware
which, by definition does not require payment for use. The authors or copyright holders of freeware may retain all rights to the software; it is not necessarily permissible to reverse engineer
, modify, or redistribute freeware.
Since free software may be freely redistributed it is generally available at little or no cost. Free software business models are usually based on adding value such as applications, support, training, customization, integration, or certification. At the same time, some business models which work with proprietary software
are not compatible with free software, such as those that depend on the user to pay for a license in order to lawfully use the software product.
, were formed to facilitate exchange of software. By the late 1960s, the picture changed: software costs were dramatically increasing, a growing software industry was competing with the hardware manufacturer's bundled software products (free in that the cost was included in the hardware cost), leased machines required software support while providing no revenue for software, and some customers able to better meet their own needs did not want the costs of "free" software bundled with hardware product costs. In United States vs. IBM
, filed January 17, 1969, the government charged that bundled software was anticompetitive. While some software might always be free, there would be a growing amount of software that was for sale only. In the 1970s and early 1980s, the software industry
began using technical measures (such as only distributing binary copies
of computer programs) to prevent computer users from being able to study and modify software. In 1980 copyright
law was extended to computer programs.
In 1983, Richard Stallman
, longtime member of the hacker community at the MIT Artificial Intelligence Laboratory, announced the GNU project
, saying that he had become frustrated with the effects of the change in culture of the computer industry and its users. Software development for the GNU operating system began in January 1984, and the Free Software Foundation
(FSF) was founded in October 1985. He developed a free software definition and the concept of "copyleft
", designed to ensure software freedom for all.
The economic viability of free software has been recognized by large corporations such as IBM
, Red Hat
, and Sun Microsystems
. Many companies whose core business is not in the IT sector choose free software for their Internet information and sales sites, due to the lower initial capital investment and ability to freely customize the application packages. Also, some non-software industries are beginning to use techniques similar to those used in free software development for their research and development process; scientists, for example, are looking towards more open development processes, and hardware such as microchips are beginning to be developed with specifications released under copyleft
licenses (see the OpenCores
project, for instance). Creative Commons
and the free culture movement
have also been largely influenced by the free software movement.
; see Gratis versus libre
.
Freedoms 1 and 3 require source code
to be available because studying and modifying software without its source code is highly impractical.
Thus, free software means that computer user
s have the freedom to cooperate with whom they choose, and to control the software they use. To summarize this into a remark distinguishing libre (freedom) software from gratis
(zero price) software, the Free Software Foundation says: "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. See Gratis versus libre
.
In the late 1990s, other groups published their own definitions which describe an almost identical set of software. The most notable are Debian Free Software Guidelines
published in 1997, and the Open Source Definition
, published in 1998.
The BSD-based operating systems, such as FreeBSD
, OpenBSD
, and NetBSD
, do not have their own formal definitions of free software. Users of these systems generally find the same set of software to be acceptable, but sometimes see copyleft as restrictive. They generally advocate permissive free software licenses, which allow others to use the software as they wish, without being legally forced to provide the source code. Their view is that this permissive approach is more free. The Kerberos, X11, and Apache
software licenses are substantially similar in intent and implementation.
maintains a large database of free software packages. Some of the best-known examples include the Linux Kernel
, the BSD
and GNU/Linux operating systems, the GNU Compiler Collection
and C library
; the MySQL
relational database; the Apache
web server; and the Sendmail
mail transport agent. Other influential examples include the emacs
text editor; the GIMP
raster drawing and image editor; the X Window System
graphical-display system; the LibreOffice
office suite; and the TeX
and LaTeX
typesetting systems. It should be noted that not everyone agrees that all these are purely free software. Some view GPL software as non free and others view freedom on a scale with GPL being less free than copy-free (permissive) licenses and as such nothing is either "free" or "non-free".
The majority of free software falls under a small set of licenses. The most popular of these licenses are:
The Free Software Foundation and the Open Source Initiative both publish lists of licenses that they find to comply with their own definitions of free software and open-source software respectively.
The FSF list is not prescriptive: free licenses can exist which the FSF has not heard about, or considered important enough to write about. So it's possible for a license to be free and not in the FSF list. The OSI list only lists licenses that have been submitted, considered and approved. All Open Source licenses must meet the Open Source Definition
in order to be officially recognized as open source software. Free software on the other hand is a more informal classification that does not rely on official recognition. Nevertheless, software licensed under licenses that do not meet the Free Software Definition cannot rightly be considered free software.
Apart from these two organizations, the Debian
project is seen by some to provide useful advice on whether particular licenses comply with their Debian Free Software Guidelines
. Debian doesn't publish a list of approved licenses, so its judgments have to be tracked by checking what software they have allowed into their software archives. That is summarized at the Debian web site.
It is rare that a license announced as being in-compliance with the FSF guidelines does not also meet the Open Source Definition
, although the reverse is not necessarily true (for example, the NASA Open Source Agreement
is an OSI-approved licenses, but non-free according to FSF)
of free software in comparison to proprietary software, with a major issue being security through obscurity
. A popular quantitative test in computer security is to use relative counting of known unpatched security flaws. Generally, users of this method advise avoiding products which lack fixes for known security flaws, at least until a fix is available.
Free software advocates say that this method is biased by counting more vulnerabilities for the free software, since its source code is accessible and its community is more forthcoming about what problems exist, (This is called "Security Through Public Disclosure" by some) and proprietary software can have undisclosed flaws discoverable by or known to malicious users. As users can analyse and trace the source code, many more people with no commercial constraints can inspect the code and find bugs and loopholes than a corporation would find practicable. According to Richard Stallman, user access to the source code makes deploying free software with undesirable hidden spyware
functionality far more difficult than for proprietary software. As examples, he named two aspects of Windows XP
that reveal information to Microsoft
, which were discovered in spite of the estimated 50 million or more lines of Windows code
having not been available to individual users for personal auditing.
Some quantitative studies have been done on the subject.
The Free Software Foundation encourages selling free software. Quote "Distributing free software is an opportunity to raise funds for development. Don't waste it!". For example the GNU GPL which is the Free Software Foundation's license states that "[the user] may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee."
It is a common misbelief however that consumers shouldn't or aren't allowed to redistribute software under the GPL for profit, and some opposing parties state such notions. For example Microsoft CEO Steve Ballmer stated in 2001 that "Open source is not available to commercial companies. The way the license is written, if you use any open-source software, you have to make the rest of your software open source." When you distribute software under the GPL, you must provide the source code as well and must allow others to distribute it. Yet there are large companies, e.g. Red Hat
and IBM
, which succeed in doing it.
. Companies that contribute to free software can increase commercial innovation
amidst the void of patent
cross licensing lawsuits. (See mpeg2 patent holders.)
Under the free software business model, free software vendors may charge a fee for distribution and offer pay support and software customization services. Proprietary software uses a different business model, where a customer of the proprietary software pays a fee for a license to use the software. This license may grant the customer the ability to configure some or no parts of the software themselves. Often some level of support is included in the purchase of proprietary software, but additional support services (especially for enterprise applications) are usually available for an additional fee. Some proprietary software vendors will also customize software for a fee.
Free software is generally available at no cost and can result in permanently lower costs compared to proprietary software
. With free software, businesses can fit software to their specific needs by changing the software themselves or by hiring programmers to modify it for them. Free software often has no warranty, and more importantly, generally does not assign legal liability to anyone. However, warranties are permitted between any two parties upon the condition of the software and its usage. Such an agreement is made separately from the free software license.
A report by Standish Group estimates that adoption of free software has caused a drop in revenue to the proprietary software
industry by about $60 billion per year.
started the first campaign against the use of binary blob
s, in kernels
. Blobs are usually freely distributable device driver
s for hardware from vendors that do not reveal driver source code to users or developers. This restricts the users' freedom effectively to modify the software and distribute modified versions. Also, since the blobs are undocumented and may have bugs
, they pose a security risk to any operating system
whose kernel includes them. The proclaimed aim of the campaign against blobs is to collect hardware documentation that allows developers to write free software drivers for that hardware, ultimately enabling all free operating systems to become or remain blob-free.
The issue of binary blobs in the Linux kernel
and other device drivers motivated some developers in Ireland to launch gNewSense
, a GNU/Linux based distribution with all the binary blobs removed. The project received support from the Free Software Foundation
and stimulated the creation, headed by the Free Software Foundation Latin America
, of the Linux-libre
kernel.
invited high-profile free software projects to use his proprietary distributed version control system, BitKeeper
, free of charge, in order to attract paying users. In 2002, Linux coordinator Linus Torvalds
decided to use BitKeeper to develop the Linux kernel
, a free software project, claiming no free software alternative met his needs. This controversial decision drew criticism from several sources, including the Free Software Foundation's founder Richard Stallman.
Following the apparent reverse engineering
of BitKeeper's protocols, McVoy withdrew permission for gratis use by free software projects. Linus Torvalds quickly developed a free software replacement called Git
, while fellow Linux kernel contributor Matt Mackall developed another free software replacement called Mercurial
. The Linux kernel eventually settled on Git for its own development process, while some other free software projects have chosen Mercurial.
and Novell
software corporations announced a controversial partnership involving, among other things, patent protection for some customers of Novell under certain conditions. FSF included as a result of this deal conditions in the GPL to prevent deals like it in the future.
argues that the term free software is too ambiguous and intimidating for the business community. Raymond promotes the term open source software as a more friendly alternative for the business and corporate world.
In practice, for software to be distributed as free software, the human-readable form of the program (the source code
Source code
In computer science, source code is text written using the format and syntax of the programming language that it is being written in. Such a language is specially designed to facilitate the work of computer programmers, who specify the actions to be performed by a computer mostly by writing source...
) must be made available to the recipient along with a notice granting the above permissions. Such a notice either is a free software license, or a notice that the source code is released into the public domain
Public domain
Works are in the public domain if the intellectual property rights have expired, if the intellectual property rights are forfeited, or if they are not covered by intellectual property rights at all...
.
The free software movement
Free software movement
The free software movement is a social and political movement with the goal of ensuring software users' four basic freedoms: the freedom to run their software, to study and change their software, and to redistribute copies with or without changes. The alternative terms "software libre", "open...
was conceived in 1983 by Richard Stallman
Richard Stallman
Richard Matthew Stallman , often shortened to rms,"'Richard Stallman' is just my mundane name; you can call me 'rms'"|last= Stallman|first= Richard|date= N.D.|work=Richard Stallman's homepage...
to satisfy the need for and to give the benefit of software freedom to computer users. Stallman founded the Free Software Foundation
Free Software Foundation
The Free Software Foundation is a non-profit corporation founded by Richard Stallman on 4 October 1985 to support the free software movement, a copyleft-based movement which aims to promote the universal freedom to create, distribute and modify computer software...
in 1985 to provide the organizational structure to advance his Free Software ideas.
From 1998 onward, alternative terms for free software
Alternative terms for free software
Alternative terms for free software have been a controversial issue among free software users from the late 1990s onwards. Coined in 1983 by Richard Stallman, "free software" is used to describe software which can be used, modified, and redistributed with little or no restriction...
came into use. The most common are software libre, free and open source software
Free and open source software
Free and open-source software or free/libre/open-source software is software that is liberally licensed to grant users the right to use, study, change, and improve its design through the availability of its source code...
(FOSS) and free, libre and open source software (FLOSS). The Software Freedom Law Center was founded in 2005 to protect and advance FLOSS. Commercial software may sometimes offer freedoms which are typical of free and open source software. Contrary to a popular misconception that software is either free or commercial they are unrelated traits, since free software can be commercial and proprietary software can be non-commercial. One example of free commercial software is GNAT
GNAT
GNAT is a free-software compiler for the Ada programming language which forms part of the GNU Compiler Collection. It supports all versions of the language, i.e. Ada 2005, Ada 95 and Ada 83; it allows already some constructs of Ada 2012...
, an Ada
Ada (programming language)
Ada is a structured, statically typed, imperative, wide-spectrum, and object-oriented high-level computer programming language, extended from Pascal and other languages...
compiler from the company AdaCore
AdaCore
AdaCore is a computer software company that provides open source software tools and expertise for the development of mission-critical, safety-critical, and security-critical software...
. It has been developed and is available commercially (i.e., against payment), but is free software because of its non-proprietary nature, with the source code publicly available. On the other hand, free software and proprietary software are opposite traits, and an application can be one or the other but never both, contingent upon the availability of the source code under certain minimum freedoms.
Free software, which may or may not be distributed free of charge, is distinct from freeware
Freeware
Freeware is computer software that is available for use at no cost or for an optional fee, but usually with one or more restricted usage rights. Freeware is in contrast to commercial software, which is typically sold for profit, but might be distributed for a business or commercial purpose in the...
which, by definition does not require payment for use. The authors or copyright holders of freeware may retain all rights to the software; it is not necessarily permissible to reverse engineer
Reverse engineering
Reverse engineering is the process of discovering the technological principles of a device, object, or system through analysis of its structure, function, and operation...
, modify, or redistribute freeware.
Since free software may be freely redistributed it is generally available at little or no cost. Free software business models are usually based on adding value such as applications, support, training, customization, integration, or certification. At the same time, some business models which work with proprietary software
Proprietary software
Proprietary software is computer software licensed under exclusive legal right of the copyright holder. The licensee is given the right to use the software under certain conditions, while restricted from other uses, such as modification, further distribution, or reverse engineering.Complementary...
are not compatible with free software, such as those that depend on the user to pay for a license in order to lawfully use the software product.
History
In the 1950s, 1960s, and 1970s, it was normal for computer users to have the software freedoms associated with free software. Software was commonly shared by individuals who used computers and by hardware manufacturers who welcomed the fact that people were making software that made their hardware useful. Organizations of users and suppliers, for example, SHARESHARE (computing)
SHARE Inc. is a volunteer-run user group for IBM mainframe computers that was founded in 1955 by Los Angeles-area IBM 701 users. It evolved into a forum for exchanging technical information about programming languages, operating systems, database systems, and user experiences for enterprise users...
, were formed to facilitate exchange of software. By the late 1960s, the picture changed: software costs were dramatically increasing, a growing software industry was competing with the hardware manufacturer's bundled software products (free in that the cost was included in the hardware cost), leased machines required software support while providing no revenue for software, and some customers able to better meet their own needs did not want the costs of "free" software bundled with hardware product costs. In United States vs. IBM
IBM
International Business Machines Corporation or IBM is an American multinational technology and consulting corporation headquartered in Armonk, New York, United States. IBM manufactures and sells computer hardware and software, and it offers infrastructure, hosting and consulting services in areas...
, filed January 17, 1969, the government charged that bundled software was anticompetitive. While some software might always be free, there would be a growing amount of software that was for sale only. In the 1970s and early 1980s, the software industry
Software industry
The software industry includes businesses involved in the development, maintenance and publication of computer software using any business model...
began using technical measures (such as only distributing binary copies
Executable
In computing, an executable file causes a computer "to perform indicated tasks according to encoded instructions," as opposed to a data file that must be parsed by a program to be meaningful. These instructions are traditionally machine code instructions for a physical CPU...
of computer programs) to prevent computer users from being able to study and modify software. In 1980 copyright
Copyright
Copyright is a legal concept, enacted by most governments, giving the creator of an original work exclusive rights to it, usually for a limited time...
law was extended to computer programs.
In 1983, Richard Stallman
Richard Stallman
Richard Matthew Stallman , often shortened to rms,"'Richard Stallman' is just my mundane name; you can call me 'rms'"|last= Stallman|first= Richard|date= N.D.|work=Richard Stallman's homepage...
, longtime member of the hacker community at the MIT Artificial Intelligence Laboratory, announced the GNU project
GNU Project
The GNU Project is a free software, mass collaboration project, announced on September 27, 1983, by Richard Stallman at MIT. It initiated GNU operating system development in January, 1984...
, saying that he had become frustrated with the effects of the change in culture of the computer industry and its users. Software development for the GNU operating system began in January 1984, and the Free Software Foundation
Free Software Foundation
The Free Software Foundation is a non-profit corporation founded by Richard Stallman on 4 October 1985 to support the free software movement, a copyleft-based movement which aims to promote the universal freedom to create, distribute and modify computer software...
(FSF) was founded in October 1985. He developed a free software definition and the concept of "copyleft
Copyleft
Copyleft is a play on the word copyright to describe the practice of using copyright law to offer the right to distribute copies and modified versions of a work and requiring that the same rights be preserved in modified versions of the work...
", designed to ensure software freedom for all.
The economic viability of free software has been recognized by large corporations such as IBM
IBM
International Business Machines Corporation or IBM is an American multinational technology and consulting corporation headquartered in Armonk, New York, United States. IBM manufactures and sells computer hardware and software, and it offers infrastructure, hosting and consulting services in areas...
, Red Hat
Red Hat
Red Hat, Inc. is an S&P 500 company in the free and open source software sector, and a major Linux distribution vendor. Founded in 1993, Red Hat has its corporate headquarters in Raleigh, North Carolina with satellite offices worldwide....
, and Sun Microsystems
Sun Microsystems
Sun Microsystems, Inc. was a company that sold :computers, computer components, :computer software, and :information technology services. Sun was founded on February 24, 1982...
. Many companies whose core business is not in the IT sector choose free software for their Internet information and sales sites, due to the lower initial capital investment and ability to freely customize the application packages. Also, some non-software industries are beginning to use techniques similar to those used in free software development for their research and development process; scientists, for example, are looking towards more open development processes, and hardware such as microchips are beginning to be developed with specifications released under copyleft
Copyleft
Copyleft is a play on the word copyright to describe the practice of using copyright law to offer the right to distribute copies and modified versions of a work and requiring that the same rights be preserved in modified versions of the work...
licenses (see the OpenCores
OpenCores
OpenCores is the world's largest open source hardware community developing digital open source hardware through electronic design automation, with a similar ethos to the free software movement. OpenCores hopes to eliminate redundant design work and slash development costs. A number of companies...
project, for instance). Creative Commons
Creative Commons
Creative Commons is a non-profit organization headquartered in Mountain View, California, United States devoted to expanding the range of creative works available for others to build upon legally and to share. The organization has released several copyright-licenses known as Creative Commons...
and the free culture movement
Free Culture movement
The free culture movement is a social movement that promotes the freedom to distribute and modify creative works in the form of free content by using the Internet and other forms of media....
have also been largely influenced by the free software movement.
Naming
The FSF recommends using the term "free software" rather than "open source software" because, they state in a paper on Free Software philosophy, the latter term and the associated marketing campaign focuses on the technical issues of software development, avoiding the issue of user freedoms. "Libre" is often used to avoid the ambiguity of the word "free" in English languageEnglish language
English is a West Germanic language that arose in the Anglo-Saxon kingdoms of England and spread into what was to become south-east Scotland under the influence of the Anglian medieval kingdom of Northumbria...
; see Gratis versus libre
Gratis versus Libre
Gratis versus libre is the distinction between two meanings of the English adjective "free"; namely, "for zero price" and "with little or no restriction"...
.
Definition
The first formal definition of free software was published by FSF in February 1986. That definition, written by Richard Stallman, is still maintained today and states that software is free software if people who receive a copy of the software have the following four freedoms. (The numbering begins with zero since many computer systems use zero-based numbering.)- Freedom 0: The freedom to run the program for any purpose.
- Freedom 1: The freedom to study how the program works, and change it to make it do what you wish.
- Freedom 2: The freedom to redistribute copies so you can help your neighbor.
- Freedom 3: The freedom to improve the program, and release your improvements (and modified versions in general) to the public, so that the whole community benefits.
Freedoms 1 and 3 require source code
Source code
In computer science, source code is text written using the format and syntax of the programming language that it is being written in. Such a language is specially designed to facilitate the work of computer programmers, who specify the actions to be performed by a computer mostly by writing source...
to be available because studying and modifying software without its source code is highly impractical.
Thus, free software means that computer user
Computer User
Computer User is a computer magazine originally founded in 1982, and which, after several owners and fundamental changes, is still in business today online as computeruser.com...
s have the freedom to cooperate with whom they choose, and to control the software they use. To summarize this into a remark distinguishing libre (freedom) software from gratis
Gratis
Gratis is the process of providing goods or services without compensation. It is often referred to in English as "free of charge" or "complimentary"...
(zero price) software, the Free Software Foundation says: "Free software is a matter of liberty, not price. To understand the concept, you should think of 'free' as in 'free speech
Freedom of speech
Freedom of speech is the freedom to speak freely without censorship. The term freedom of expression is sometimes used synonymously, but includes any act of seeking, receiving and imparting information or ideas, regardless of the medium used...
', not as in 'free beer. See Gratis versus libre
Gratis versus Libre
Gratis versus libre is the distinction between two meanings of the English adjective "free"; namely, "for zero price" and "with little or no restriction"...
.
In the late 1990s, other groups published their own definitions which describe an almost identical set of software. The most notable are Debian Free Software Guidelines
Debian Free Software Guidelines
The Debian Free Software Guidelines is a set of guidelines that the Debian Project uses to determine whether a software license is a free software license, which in turn is used to determine whether a piece of software can be included in Debian...
published in 1997, and the Open Source Definition
Open Source Definition
The Open Source Definition is a document published by the Open Source Initiative, to determine whether or not a software license can be labeled with the open-source certification mark....
, published in 1998.
The BSD-based operating systems, such as FreeBSD
FreeBSD
FreeBSD is a free Unix-like operating system descended from AT&T UNIX via BSD UNIX. Although for legal reasons FreeBSD cannot be called “UNIX”, as the direct descendant of BSD UNIX , FreeBSD’s internals and system APIs are UNIX-compliant...
, OpenBSD
OpenBSD
OpenBSD is a Unix-like computer operating system descended from Berkeley Software Distribution , a Unix derivative developed at the University of California, Berkeley. It was forked from NetBSD by project leader Theo de Raadt in late 1995...
, and NetBSD
NetBSD
NetBSD is a freely available open source version of the Berkeley Software Distribution Unix operating system. It was the second open source BSD descendant to be formally released, after 386BSD, and continues to be actively developed. The NetBSD project is primarily focused on high quality design,...
, do not have their own formal definitions of free software. Users of these systems generally find the same set of software to be acceptable, but sometimes see copyleft as restrictive. They generally advocate permissive free software licenses, which allow others to use the software as they wish, without being legally forced to provide the source code. Their view is that this permissive approach is more free. The Kerberos, X11, and Apache
Apache License
The Apache License is a copyfree free software license authored by the Apache Software Foundation . The Apache License requires preservation of the copyright notice and disclaimer....
software licenses are substantially similar in intent and implementation.
Examples of free software
The Free Software DirectoryFree Software Directory
The Free Software Directory is a project of the Free Software Foundation . It catalogs free software that runs under free operating systems - particularly GNU and Linux. The project was formerly co-run by UNESCO....
maintains a large database of free software packages. Some of the best-known examples include the Linux Kernel
Linux kernel
The Linux kernel is an operating system kernel used by the Linux family of Unix-like operating systems. It is one of the most prominent examples of free and open source software....
, the BSD
Berkeley Software Distribution
Berkeley Software Distribution is a Unix operating system derivative developed and distributed by the Computer Systems Research Group of the University of California, Berkeley, from 1977 to 1995...
and GNU/Linux operating systems, the GNU Compiler Collection
GNU Compiler Collection
The GNU Compiler Collection is a compiler system produced by the GNU Project supporting various programming languages. GCC is a key component of the GNU toolchain...
and C library
GNU C Library
The GNU C Library, commonly known as glibc, is the C standard library released by the GNU Project. Originally written by the Free Software Foundation for the GNU operating system, the library's development has been overseen by a committee since 2001, with Ulrich Drepper from Red Hat as the lead...
; the MySQL
MySQL
MySQL officially, but also commonly "My Sequel") is a relational database management system that runs as a server providing multi-user access to a number of databases. It is named after developer Michael Widenius' daughter, My...
relational database; the Apache
Apache HTTP Server
The Apache HTTP Server, commonly referred to as Apache , is web server software notable for playing a key role in the initial growth of the World Wide Web. In 2009 it became the first web server software to surpass the 100 million website milestone...
web server; and the Sendmail
Sendmail
Sendmail is a general purpose internetwork email routing facility that supports many kinds of mail-transfer and -delivery methods, including the Simple Mail Transfer Protocol used for email transport over the Internet....
mail transport agent. Other influential examples include the emacs
Emacs
Emacs is a class of text editors, usually characterized by their extensibility. GNU Emacs has over 1,000 commands. It also allows the user to combine these commands into macros to automate work.Development began in the mid-1970s and continues actively...
text editor; the GIMP
GIMP
GIMP is a free software raster graphics editor. It is primarily employed as an image retouching and editing tool and is freely available in versions tailored for most popular operating systems including Microsoft Windows, Apple Mac OS X, and Linux.In addition to detailed image retouching and...
raster drawing and image editor; the X Window System
X Window System
The X window system is a computer software system and network protocol that provides a basis for graphical user interfaces and rich input device capability for networked computers...
graphical-display system; the LibreOffice
LibreOffice
LibreOffice is a free and open source office suite developed by The Document Foundation as a fork of OpenOffice.org. It is largely compatible with other major office suites, including Microsoft Office, and available on a variety of platforms...
office suite; and the TeX
TeX
TeX is a typesetting system designed and mostly written by Donald Knuth and released in 1978. Within the typesetting system, its name is formatted as ....
and LaTeX
LaTeX
LaTeX is a document markup language and document preparation system for the TeX typesetting program. Within the typesetting system, its name is styled as . The term LaTeX refers only to the language in which documents are written, not to the editor used to write those documents. In order to...
typesetting systems. It should be noted that not everyone agrees that all these are purely free software. Some view GPL software as non free and others view freedom on a scale with GPL being less free than copy-free (permissive) licenses and as such nothing is either "free" or "non-free".
Free software licenses
All free software licenses must grant users all the freedoms discussed above. However, unless the applications' licenses are compatible, combining programs by mixing source code or directly linking binaries is problematic, because of license technicalities. Programs indirectly connected together may avoid this problem.The majority of free software falls under a small set of licenses. The most popular of these licenses are:
- the GNU General Public LicenseGNU General Public LicenseThe GNU General Public License is the most widely used free software license, originally written by Richard Stallman for the GNU Project....
- the GNU Lesser General Public LicenseGNU Lesser General Public LicenseThe GNU Lesser General Public License or LGPL is a free software license published by the Free Software Foundation . It was designed as a compromise between the strong-copyleft GNU General Public License or GPL and permissive licenses such as the BSD licenses and the MIT License...
- the BSD License
- the Mozilla Public LicenseMozilla Public LicenseThe Mozilla Public License is a free and open source software license. Version 1.0 was developed by Mitchell Baker when she worked as a lawyer at Netscape Communications Corporation and version 1.1 at the Mozilla Foundation...
- the MIT LicenseMIT LicenseThe MIT License is a free software license originating at the Massachusetts Institute of Technology . It is a permissive license, meaning that it permits reuse within proprietary software provided all copies of the licensed software include a copy of the MIT License terms...
- the Apache LicenseApache LicenseThe Apache License is a copyfree free software license authored by the Apache Software Foundation . The Apache License requires preservation of the copyright notice and disclaimer....
The Free Software Foundation and the Open Source Initiative both publish lists of licenses that they find to comply with their own definitions of free software and open-source software respectively.
- List of FSF approved software licenses
- List of OSI approved software licensesOpen-source licenseAn open-source license is a copyright license for computer software that makes the source code available for everyone to use. This allows end users to review and modify the source code for their own customization and/or troubleshooting needs...
The FSF list is not prescriptive: free licenses can exist which the FSF has not heard about, or considered important enough to write about. So it's possible for a license to be free and not in the FSF list. The OSI list only lists licenses that have been submitted, considered and approved. All Open Source licenses must meet the Open Source Definition
Open Source Definition
The Open Source Definition is a document published by the Open Source Initiative, to determine whether or not a software license can be labeled with the open-source certification mark....
in order to be officially recognized as open source software. Free software on the other hand is a more informal classification that does not rely on official recognition. Nevertheless, software licensed under licenses that do not meet the Free Software Definition cannot rightly be considered free software.
Apart from these two organizations, the Debian
Debian
Debian is a computer operating system composed of software packages released as free and open source software primarily under the GNU General Public License along with other free software licenses. Debian GNU/Linux, which includes the GNU OS tools and Linux kernel, is a popular and influential...
project is seen by some to provide useful advice on whether particular licenses comply with their Debian Free Software Guidelines
Debian Free Software Guidelines
The Debian Free Software Guidelines is a set of guidelines that the Debian Project uses to determine whether a software license is a free software license, which in turn is used to determine whether a piece of software can be included in Debian...
. Debian doesn't publish a list of approved licenses, so its judgments have to be tracked by checking what software they have allowed into their software archives. That is summarized at the Debian web site.
It is rare that a license announced as being in-compliance with the FSF guidelines does not also meet the Open Source Definition
Open Source Definition
The Open Source Definition is a document published by the Open Source Initiative, to determine whether or not a software license can be labeled with the open-source certification mark....
, although the reverse is not necessarily true (for example, the NASA Open Source Agreement
NASA Open Source Agreement
The NASA Open Source Agreement is an OSI-approved software license. The United States National Aeronautics and Space Administration releases some software under this license. The NOSA allows NASA to increase software quality and accelerate development by involving a broader community in code...
is an OSI-approved licenses, but non-free according to FSF)
Different types of licenses
There are different categories of free software.- Public domainPublic domainWorks are in the public domain if the intellectual property rights have expired, if the intellectual property rights are forfeited, or if they are not covered by intellectual property rights at all...
software – the copyright has expired, the work was not copyrighted, or the author has released the software onto the public domain (in countries where this is possible). Since public-domain software lacks copyright protection, it may be freely incorporated into any work, whether proprietary or free.
- Permissive licenses, also called BSD-style because they are applied to much of the software distributed with the BSDBerkeley Software DistributionBerkeley Software Distribution is a Unix operating system derivative developed and distributed by the Computer Systems Research Group of the University of California, Berkeley, from 1977 to 1995...
operating systems. These licenses are also known as copyfree as they have no restrictions on distribution. The author retains copyright solely to disclaim warranty and require proper attribution of modified works, and permits redistribution and any modification, even closed source ones.
- CopyleftCopyleftCopyleft is a play on the word copyright to describe the practice of using copyright law to offer the right to distribute copies and modified versions of a work and requiring that the same rights be preserved in modified versions of the work...
licenses, with the GNU General Public LicenseGNU General Public LicenseThe GNU General Public License is the most widely used free software license, originally written by Richard Stallman for the GNU Project....
being the most prominent. The author retains copyright and permits redistribution under the restriction that all such redistribution is licensed under the same license. Additions and modifications by others must also be licensed under the same "copyleft" license whenever they are distributed with part of the original licensed product. This is also known as a Viral licenseViral licenseViral license is a pejorative term used to describe a copyright license that allows derivative works only when licensed identically to the original. Licenses of this form include several common open source licenses, such as the GNU General Public License and the Creative Commons ShareAlike licenses...
. Due to the restriction on distribution not everyone considers this type of license to be free.
Security and reliability
There is debate over the securityComputer security
Computer security is a branch of computer technology known as information security as applied to computers and networks. The objective of computer security includes protection of information and property from theft, corruption, or natural disaster, while allowing the information and property to...
of free software in comparison to proprietary software, with a major issue being security through obscurity
Security through obscurity
Security through obscurity is a pejorative referring to a principle in security engineering, which attempts to use secrecy of design or implementation to provide security...
. A popular quantitative test in computer security is to use relative counting of known unpatched security flaws. Generally, users of this method advise avoiding products which lack fixes for known security flaws, at least until a fix is available.
Free software advocates say that this method is biased by counting more vulnerabilities for the free software, since its source code is accessible and its community is more forthcoming about what problems exist, (This is called "Security Through Public Disclosure" by some) and proprietary software can have undisclosed flaws discoverable by or known to malicious users. As users can analyse and trace the source code, many more people with no commercial constraints can inspect the code and find bugs and loopholes than a corporation would find practicable. According to Richard Stallman, user access to the source code makes deploying free software with undesirable hidden spyware
Spyware
Spyware is a type of malware that can be installed on computers, and which collects small pieces of information about users without their knowledge. The presence of spyware is typically hidden from the user, and can be difficult to detect. Typically, spyware is secretly installed on the user's...
functionality far more difficult than for proprietary software. As examples, he named two aspects of Windows XP
Windows XP
Windows XP is an operating system produced by Microsoft for use on personal computers, including home and business desktops, laptops and media centers. First released to computer manufacturers on August 24, 2001, it is the second most popular version of Windows, based on installed user base...
that reveal information to Microsoft
Microsoft
Microsoft Corporation is an American public multinational corporation headquartered in Redmond, Washington, USA that develops, manufactures, licenses, and supports a wide range of products and services predominantly related to computing through its various product divisions...
, which were discovered in spite of the estimated 50 million or more lines of Windows code
Source lines of code
Source lines of code is a software metric used to measure the size of a software program by counting the number of lines in the text of the program's source code...
having not been available to individual users for personal auditing.
Some quantitative studies have been done on the subject.
Selling free software
Selling Software under the BSD license is permissible and commercial use of the project is part of the intent of the license.The Free Software Foundation encourages selling free software. Quote "Distributing free software is an opportunity to raise funds for development. Don't waste it!". For example the GNU GPL which is the Free Software Foundation's license states that "[the user] may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee."
It is a common misbelief however that consumers shouldn't or aren't allowed to redistribute software under the GPL for profit, and some opposing parties state such notions. For example Microsoft CEO Steve Ballmer stated in 2001 that "Open source is not available to commercial companies. The way the license is written, if you use any open-source software, you have to make the rest of your software open source." When you distribute software under the GPL, you must provide the source code as well and must allow others to distribute it. Yet there are large companies, e.g. Red Hat
Red Hat
Red Hat, Inc. is an S&P 500 company in the free and open source software sector, and a major Linux distribution vendor. Founded in 1993, Red Hat has its corporate headquarters in Raleigh, North Carolina with satellite offices worldwide....
and IBM
IBM
International Business Machines Corporation or IBM is an American multinational technology and consulting corporation headquartered in Armonk, New York, United States. IBM manufactures and sells computer hardware and software, and it offers infrastructure, hosting and consulting services in areas...
, which succeed in doing it.
Commercial viability and adoption
Free software played a significant part in the development of the Internet, the World Wide Web and the infrastructure of dot-com companies. Free software allows users to cooperate in enhancing and refining the programs they use; free software is a pure public good rather than a private goodPrivate good
A private good is defined in economics as "an item that yields positive benefits to people” that is excludable, i.e. its owners can exercise private property rights, preventing those who have not paid for it from using the good or consuming its benefits; and rivalrous, i.e. consumption by one...
. Companies that contribute to free software can increase commercial innovation
Innovation
Innovation is the creation of better or more effective products, processes, technologies, or ideas that are accepted by markets, governments, and society...
amidst the void of patent
Patent
A patent is a form of intellectual property. It consists of a set of exclusive rights granted by a sovereign state to an inventor or their assignee for a limited period of time in exchange for the public disclosure of an invention....
cross licensing lawsuits. (See mpeg2 patent holders.)
Under the free software business model, free software vendors may charge a fee for distribution and offer pay support and software customization services. Proprietary software uses a different business model, where a customer of the proprietary software pays a fee for a license to use the software. This license may grant the customer the ability to configure some or no parts of the software themselves. Often some level of support is included in the purchase of proprietary software, but additional support services (especially for enterprise applications) are usually available for an additional fee. Some proprietary software vendors will also customize software for a fee.
Free software is generally available at no cost and can result in permanently lower costs compared to proprietary software
Proprietary software
Proprietary software is computer software licensed under exclusive legal right of the copyright holder. The licensee is given the right to use the software under certain conditions, while restricted from other uses, such as modification, further distribution, or reverse engineering.Complementary...
. With free software, businesses can fit software to their specific needs by changing the software themselves or by hiring programmers to modify it for them. Free software often has no warranty, and more importantly, generally does not assign legal liability to anyone. However, warranties are permitted between any two parties upon the condition of the software and its usage. Such an agreement is made separately from the free software license.
A report by Standish Group estimates that adoption of free software has caused a drop in revenue to the proprietary software
Proprietary software
Proprietary software is computer software licensed under exclusive legal right of the copyright holder. The licensee is given the right to use the software under certain conditions, while restricted from other uses, such as modification, further distribution, or reverse engineering.Complementary...
industry by about $60 billion per year.
Binary blobs
In 2006, OpenBSDOpenBSD
OpenBSD is a Unix-like computer operating system descended from Berkeley Software Distribution , a Unix derivative developed at the University of California, Berkeley. It was forked from NetBSD by project leader Theo de Raadt in late 1995...
started the first campaign against the use of binary blob
Binary blob
In the free software community, binary blob is a pejorative term for an object file loaded into the kernel of a open source operating system without publicly available source code...
s, in kernels
Kernel (computing)
In computing, the kernel is the main component of most computer operating systems; it is a bridge between applications and the actual data processing done at the hardware level. The kernel's responsibilities include managing the system's resources...
. Blobs are usually freely distributable device driver
Device driver
In computing, a device driver or software driver is a computer program allowing higher-level computer programs to interact with a hardware device....
s for hardware from vendors that do not reveal driver source code to users or developers. This restricts the users' freedom effectively to modify the software and distribute modified versions. Also, since the blobs are undocumented and may have bugs
Software bug
A software bug is the common term used to describe an error, flaw, mistake, failure, or fault in a computer program or system that produces an incorrect or unexpected result, or causes it to behave in unintended ways. Most bugs arise from mistakes and errors made by people in either a program's...
, they pose a security risk to any operating system
Operating system
An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system...
whose kernel includes them. The proclaimed aim of the campaign against blobs is to collect hardware documentation that allows developers to write free software drivers for that hardware, ultimately enabling all free operating systems to become or remain blob-free.
The issue of binary blobs in the Linux kernel
Linux kernel
The Linux kernel is an operating system kernel used by the Linux family of Unix-like operating systems. It is one of the most prominent examples of free and open source software....
and other device drivers motivated some developers in Ireland to launch gNewSense
GNewSense
gNewSense is a Linux distribution based on Ubuntu. Its goal is to maintain the user-friendliness of Ubuntu, but with all non FSF approved software and binary blobs removed. The Free Software Foundation considers gNewSense to be a Linux distribution composed entirely of free software.gNewSense takes...
, a GNU/Linux based distribution with all the binary blobs removed. The project received support from the Free Software Foundation
Free Software Foundation
The Free Software Foundation is a non-profit corporation founded by Richard Stallman on 4 October 1985 to support the free software movement, a copyleft-based movement which aims to promote the universal freedom to create, distribute and modify computer software...
and stimulated the creation, headed by the Free Software Foundation Latin America
Free Software Foundation Latin America
Free Software Foundation Latin America is the Latin American sister organisation of the Free Software Foundation. It is the fourth sister organisation of FSF, after Free Software Foundation Europe and Free Software Foundation India...
, of the Linux-libre
Linux-libre
Linux-libre is a project that aims to publish and maintain modified versions of the Linux kernel that include only free software. This is accomplished by removing software modules without included source code , obfuscated code or portions of code under proprietary licenses.This project is endorsed...
kernel.
BitKeeper
Larry McVoyLarry McVoy
Larry McVoy is the CEO of BitMover, the company that makes BitKeeper, a version control system that was used from February 2002 to early 2005 to manage the source code of the Linux kernel....
invited high-profile free software projects to use his proprietary distributed version control system, BitKeeper
BitKeeper
BitKeeper is a software tool for distributed revision control of computer source code. A distributed system, BitKeeper competes largely against other systems such as Git and Mercurial...
, free of charge, in order to attract paying users. In 2002, Linux coordinator Linus Torvalds
Linus Torvalds
Linus Benedict Torvalds is a Finnish software engineer and hacker, best known for having initiated the development of the open source Linux kernel. He later became the chief architect of the Linux kernel, and now acts as the project's coordinator...
decided to use BitKeeper to develop the Linux kernel
Linux kernel
The Linux kernel is an operating system kernel used by the Linux family of Unix-like operating systems. It is one of the most prominent examples of free and open source software....
, a free software project, claiming no free software alternative met his needs. This controversial decision drew criticism from several sources, including the Free Software Foundation's founder Richard Stallman.
Following the apparent reverse engineering
Reverse engineering
Reverse engineering is the process of discovering the technological principles of a device, object, or system through analysis of its structure, function, and operation...
of BitKeeper's protocols, McVoy withdrew permission for gratis use by free software projects. Linus Torvalds quickly developed a free software replacement called Git
Git (software)
Git is a distributed revision control system with an emphasis on speed. Git was initially designed and developed by Linus Torvalds for Linux kernel development. Every Git working directory is a full-fledged repository with complete history and full revision tracking capabilities, not dependent on...
, while fellow Linux kernel contributor Matt Mackall developed another free software replacement called Mercurial
Mercurial (software)
Mercurial is a cross-platform, distributed revision control tool for software developers. It is mainly implemented using the Python programming language, but includes a binary diff implementation written in C. It is supported on Windows and Unix-like systems, such as FreeBSD, Mac OS X and Linux...
. The Linux kernel eventually settled on Git for its own development process, while some other free software projects have chosen Mercurial.
Patent deals
In November 2006, the MicrosoftMicrosoft
Microsoft Corporation is an American public multinational corporation headquartered in Redmond, Washington, USA that develops, manufactures, licenses, and supports a wide range of products and services predominantly related to computing through its various product divisions...
and Novell
Novell
Novell, Inc. is a multinational software and services company. It is a wholly owned subsidiary of The Attachmate Group. It specializes in network operating systems, such as Novell NetWare; systems management solutions, such as Novell ZENworks; and collaboration solutions, such as Novell Groupwise...
software corporations announced a controversial partnership involving, among other things, patent protection for some customers of Novell under certain conditions. FSF included as a result of this deal conditions in the GPL to prevent deals like it in the future.
Criticism
Eric S. RaymondEric S. Raymond
Eric Steven Raymond , often referred to as ESR, is an American computer programmer, author and open source software advocate. After the 1997 publication of The Cathedral and the Bazaar, Raymond was for a number of years frequently quoted as an unofficial spokesman for the open source movement...
argues that the term free software is too ambiguous and intimidating for the business community. Raymond promotes the term open source software as a more friendly alternative for the business and corporate world.
See also
- Definition of Free Cultural WorksDefinition of Free Cultural WorksThe Definition of Free Cultural Works is the definition of free content put forth by Erik Möller and published on the website .The first draft of the Definition of Free Cultural Works was published 3 April 2006 . Richard Stallman, Lawrence Lessig, Angela Beesley and others helped the project...
- Free contentFree contentFree content, or free information, is any kind of functional work, artwork, or other creative content that meets the definition of a free cultural work...
- Gratis versus LibreGratis versus LibreGratis versus libre is the distinction between two meanings of the English adjective "free"; namely, "for zero price" and "with little or no restriction"...
- Libre knowledgeLibre knowledgeLibre knowledge is knowledge which may be acquired, interpreted and applied freely. It can be re-formulated according to one's needs, and shared with others for community benefit....
- List of formerly proprietary software
- List of free software project directories
- Open formatOpen formatAn open file format is a published specification for storing digital data, usually maintained by a standards organization, which can therefore be used and implemented by anyone. For example, an open format can be implementable by both proprietary and free and open source software, using the typical...
- Open standardOpen standardAn open standard is a standard that is publicly available and has various rights to use associated with it, and may also have various properties of how it was designed . There is no single definition and interpretations vary with usage....
- Outline of free software
- List of free software for Web 2.0 Services
Books and Articles
- Puckette, Miller. “Who Owns our Software?: A first-person case study.” eContact! 11.3 — Logiciels audio « open source » / Open Source for Audio Application (September 2009). Montréal: CECCanadian Electroacoustic CommunityFounded in 1986, La Communauté électroacoustique canadienne / The Canadian Electroacoustic Community is Canada’s national electroacoustic / computer music / sonic arts organization and as such is dedicated to promoting this progressive art form in its broadest definition: from “pure” acousmatic...
. - Hancock, Terry. "The Jargon of Freedom: 60 Words and Phrases with Context" Free Software MagazineFree Software MagazineFree Software Magazine is a website which produces a mostly free-content e-zine about free software....
. 2010-20-24