Jump to content

Free software: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Blanked the page
ClueBot (talk | contribs)
m Reverting possible vandalism by 92.112.51.112 to version by 203.114.179.177. False positive? Report it. Thanks, User:ClueBot. (282989) (Bot)
Line 1: Line 1:
'''Free 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 minimal restrictions only to ensure that further recipients can also do these things. 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 is a "[[free software licence]]", or, in theory, could be a notice saying that the source code is released into the [[public domain]].

The [[free software movement]] was launched in 1983 to make these freedoms available to every computer user.<ref>{{ cite web | url = http://www.gnu.org/gnu/initial-announcement.html | title = GNU project Initial Announcement }}</ref> From the late 1990s onward, [[alternative terms for free software]] came into use. "'''[[Open source software]]'''" is the most common such alternative term. Others include "'''software [[Gratis versus Libre|libre]]'''", "free, libre and open-source software" ("'''[[FOSS]]'''", or, with "libre", "'''FLOSS'''"). The antonym of free software is "''[[proprietary software]]''" or ''non-free software''.

Free software is distinct from "[[freeware]]" which is [[proprietary software]] made available free of charge. Users usually cannot study, modify, or redistribute freeware. The only permission freeware has in common with free software is the permission to use the software.

Since free software may be freely redistributed, it generally is available at little or no cost. Free software business models are usually based on adding value such as 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 a user having no choice but to pay for a licence in order to lawfully use a software product.

== History ==
{{main|History of free software}}

In the 50s, 60s, and 70s, it was normal for computer users to have the freedoms provided by free software. Software was commonly shared by individuals who used computers and by hardware manufacturers who were glad that people were making software that made their hardware useful. In the 70s and early 80s, the software industry began to apply copyright law, and began using technical measures such as only distributing binary copies, to prevent computer users from being able to study and modify the software.<ref>{{cite web
|url=http://www.dwheeler.com/oss_fs_why.html#history
|title=Appendix "History" of Why OSS/FS, Look at the Numbers!
|author=[[David A. Wheeler]]
|quote=However, as years progressed, and especially in the 1970s and 1980s, software developers increasingly closed off their software source code from users.|}}</ref>

In 1983, [[Richard Stallman]] launched the [[GNU project]] after becoming frustrated with the effects of the change in culture of the computer industry and users. Software development for the [[GNU operating system]] began in January 1984, and the [[Free Software Foundation]] (FSF) was founded in October 1985. He introduced a free software definition and "[[copyleft]]", designed to ensure software freedom for all.

Free software is a huge international effort, producing software used by individuals, large organizations, and governmental administrations. Free software has a very high market penetration in server-side Internet applications such as the [[Apache web server]], [[MySQL]] database, and [[PHP]] scripting language. Completely free computing environments are available as large packages of basic system software such as the many [[Linux distribution]]s and [[FreeBSD]]. Free software developers have also created free versions of almost all commonly used desktop applications such as web browsers, office productivity suites, and multimedia players. It is important to note, however, that in many categories, free software for individual workstation or home users has only a fraction of the market share of their proprietary competitors. Most free software is distributed [[online]] without charge, or [[off-line]] at the [[marginal cost]] of distribution, but this is not required, and people may sell copies for any price.

The economic viability of free software has been recognised 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: 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.

===Naming===
The FSF recommends using the term "free software" and never "open source software" because that term and the associated marketing campaign focuses on technical issues and avoids talking about the value of freedom.<ref>{{ cite web | url = http://www.gnu.org/philosophy/open-source-misses-the-point.html | title = Why “Open Source” misses the point of Free Software | quote = The philosophy of open source, with its purely practical values, impedes understanding of the deeper ideas of free software; it brings many people into our community, but does not teach them to defend it. }}</ref> "[[Libre]]" is used to avoid the ambiguity of the word "free". However, ''libre'' is mostly used within the [[free software movement]].

== Definition ==
{{main|The Free Software Definition|Debian Free Software Guidelines|Open Source Definition}}

The first formal definition of free software was published by FSF in February 1986.<ref name=bull6>{{cite web
|url=http://www.gnu.org/bulletins/bull1.txt
|title=GNU's Bulletin, Volume 1 Number 1, page 8
|}}</ref> 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:

* Freedom 0: The freedom to run the program for any purpose.
* Freedom 1: The freedom to study and modify the program.
* Freedom 2: The freedom to copy the program so you can help your neighbor.
* Freedom 3: The freedom to improve the program, and release your improvements to the public, so that the whole community benefits.

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 [[user (computing)|computer users]] have the freedom to cooperate with whom they choose, and to control the software they use. To summarize this into a remark distinguishing ''[[Gratis versus Libre|libre]]'' (freedom) software from ''[[Gratis versus Libre|gratis]]'' (zero price) software, [[Richard Stallman]] has long said: "''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]]<nowiki>'</nowiki>''".<ref name="definition">{{cite web|url=http://www.gnu.org/philosophy/free-sw.html |title=The Free Software Definition |author=Free Software Foundation |accessdate=2007-04-22}}</ref>

In the late 90s, 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,<ref>{{cite web
|author=Bruce Perens
|url=http://lists.debian.org/debian-announce/debian-announce-1997/msg00017.html
|title=Debian's "Social Contract" with the Free Software Community
|work=debian-announce mailing list
|}}</ref> 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 but users of these systems generally find the same set of software to be acceptable. However, rather than advocate the use of copyleft free software licenses, they see copyleft as being merely tolerable. Instead, they advocate [[permissive free software licenses]] which allow others to make software based on their source code and then not, in turn, also distribute the source. Their view is that this permissive approach is more free. The [[Kerberos]], [[X.org]], and [[Apache License|Apache]] software licenses are substantially similar in intent and implementation. All of these software packages originated in academic institutions interested in the widest possible technology transfer (University of California, MIT, and UIUC).

== Examples of free software ==
{{main|List of open source software packages|Portal:Free software/Categories|:Category:Free software}}[[Image:Free-software-badge.png|right|120px|thumb|Free software badge]]

Notable free software:

* Operating systems: [[Linux]], [[Berkeley Software Distribution|BSD]], [[Darwin (operating system)|Darwin]], and [[OpenSolaris]].
* [[GNU Compiler Collection|GCC]] compilers, [[GDB]] debugger and [[C (programming language)|C]] libraries.
* Servers: [[BIND]] name server, [[Sendmail]] mail transport, [[Apache HTTP Server|Apache web server]], and [[Samba software|Samba]] file server.
* [[Relational database]] systems: [[MySQL]] and [[PostgreSQL]].
* Programming languages: [[Java (programming language)|Java]], [[Perl]], [[PHP]], [[Python (programming language)|Python]], [[Lua (programming language)|Lua]], [[Ruby programming language|Ruby]], and [[Tcl]].
* [[Graphical user interface|GUI]] related: [[X Window System]], [[GNOME]], [[KDE]], and [[Xfce]] desktop environments.
* [[OpenOffice.org]] office suite, [[Mozilla Application Suite|Mozilla]] and [[Mozilla Firefox|Firefox]] web browsers, and the [[GIMP]] graphics editor.
* Typesetting and document preparation systems [[TeX]] and [[LaTeX]].
* [[ogg]]: free software multimedia container, used to hold [[ogg vorbis]] sound and [[ogg theora]] video.
* [[Text editor|Text editors]] like [[vi]] or [[emacs]].

The [[Free Software Directory]] is a free software project that maintains a large database of free software packages.

== Free software licenses ==
{{main|Free software licenses}}

All free software licenses must grant people 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.

Most free software uses a small set of licenses. The most popular of these are:

* the [[GNU General Public License]]
* the [[GNU Lesser General Public License]]
* the [[BSD License]]
* the [[Mozilla Public License]]
* the [[MIT License]]
* the [[Apache License]]

Free Software Foundation and Open Source Initiative both publish lists of licenses that they find to comply with their definition of free software and open-source software respectively.

* [[List of FSF approved software licenses]]
* [[List of OSI approved software licenses]]

These lists are necessarily incomplete, because a license need not be known by either organization in order to provide these freedoms.

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.<ref>{{cite web |url=http://www.debian.org/legal/licenses/ |title=Debian -- License information |accessdate=2008-01-08}}</ref>

However, it is rare that a license is announced as being in-compliance by FSF or OSI and not the other (the [[Netscape Public License]] used for early versions of Mozilla being an exception), so exact definitions of the terms have not become hot issues.

=== Permissive and copyleft licenses ===

The FSF categorizes licenses in the following ways:

* [[Copyleft]] licenses, the [[GNU General Public License]] being the most prominent. The author retains copyright and permits redistribution and modification under terms to ensure that all modified versions remain free for as long as the author wishes.
* [[BSD License|BSD-style licenses]], so called because they are applied to much of the software distributed with the [[Berkeley Software Distribution|BSD]] operating systems. The author retains copyright protection solely to disclaim warranty and require proper attribution of modified works, but permits redistribution and modification in ''any'' work, even proprietary ones, again, for as long as the author wishes.
* [[Public domain]] software - the author has abandoned the copyright. Since public-domain software lacks copyright protection, it may be freely incorporated into any work, whether proprietary or free. Importantly, software released thus goes completely out of control of the author, who, even if he subsequently so desires, '''cannot''' impose any restriction on its use.

== Security and reliability==

There is debate over the [[computer security|security]] of free software in comparison to proprietary software, with a major issue being [[security through obscurity]]. A popular quantitative test in computer security is using 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. Some claim that method counts more vulnerabilities for the free software, since their source code is accessible and their community is more forthcoming about what problems exist.<ref>{{ cite web | url = http://news.com.com/8301-10784_3-6047727-7.html | title = Firefox more secure than MSIE after all | publisher = News.com }}</ref>

Free software advocates rebut that proprietary software do not have published flaws, but flaws could exist and are possibly already known to malicious users. The ability to view and modify the software provides many more people who can analyse the code, and possibly have a higher rate of finding bugs and flaws than an average corporation. Having access to the source code also makes creating [[spyware]] far more difficult.<ref>{{cite web|url=http://fsfeurope.org/documents/rms-fs-2006-03-09.en.html#freedom-one|title=Transcript where Stallman explains about spyware|}}</ref>

[[David A. Wheeler]] has published research concluding that free software is quantatively more reliable than proprietary software.<ref>{{cite web
|url=http://www.dwheeler.com/essays/high-assurance-floss.html
|title=High Assurance (for Security or Safety) and Free-Libre / Open Source Software (FLOSS)... with Lots on Formal Methods
|author=David A. Wheeler}}</ref>

== Adoption ==

Free software played a part in the development of the Internet, the World Wide Web and the infrastructure of [[dot-com companies]].<ref name="Web Server Survey">{{cite web|url=http://news.netcraft.com/archives/web_server_survey.html |title=Web Server Usage Survey |author=Netcraft}}</ref>
<ref name="Apache Strategy">{{cite web|url=http://www.unc.edu/~mohrmana/apache.pdf |title=Apache Strategy in the New Economy |author=The Apache Software Foundation}}</ref> 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 good]]. Companies that contribute to free software can increase commercial [[innovation]] amidst the void of [[patent]] [[cross licensing]] lawsuits. (See [[Mpeg2#Patent holders|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 little to 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.

== Controversies ==
=== Binary blobs ===
{{main|Binary blobs}}
In 2006, [[OpenBSD]] started the first campaign against the use of [[binary blobs]], in [[kernel]]s. 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 to effectively modify the software and distribute modified versions. Also, since the blobs are undocumented and may have [[computer bug|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 Linux distribution with all the binary blobs removed. The project received support from the [[Free Software Foundation]]<ref>[http://www.gnu.org/links/links.html#FreeGNULinuxDistributions GNU/Linux distributions we know of which consist entirely of free software, and whose main distribution sites distribute only free software.]</ref>

=== BitKeeper ===
{{main|BitKeeper#License concerns}}

[[Larry McVoy]] invited high-profile free software projects to use his proprietary [[versioning 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.<ref>{{cite web | title = Richard Stallman thanking Larry McVoy for ending the gratis licenses for BitKeeper | url = http://software.newsforge.com/article.pl?sid=05/04/25/130207 | publisher = [[NewsForge]] }}</ref>

Following the apparent [[reverse engineering]] of BitKeeper's protocols, McVoy withdrew permission for gratis use by free software projects, leading the Linux kernel community to develop a free software replacement in [[Git (software)|Git]].

=== Patent deals ===
{{main|Software patents and free software}}

In November of 2006, the [[Microsoft]] and [[Novell]] software corporations announced a controversial partnership involving, among other things, patent protection for some customers of Novell under certain conditions.<ref>{{ cite web | title = Ars Technica article on the Microsoft-Novell patent deal | url = http://arstechnica.com/articles/columns/linux/linux-20070128.ars }}</ref>

== See also ==
{{portal|Free software|Free Software Portal Logo.svg}}
* [[Free content]]
* [[Free software community]]
* [[Free file format]]
* [[Free software licenses]]
* [[Glossary of legal terms in technology]]
* [[List of free software packages]]
* [[List of free software project directories]]
* [[List of formerly proprietary software]]
* [[Libre knowledge]]

== External links ==
{{wikinewscat|FLOSS}}
* [http://www.gnu.org/philosophy/free-sw.html The Free Software Definition]
* [http://fsfe.org/transcripts Transcripts about Free Software] by [[FSFE]]
* [http://www.freesoftwaremagazine.com Free Software Magazine], which bills itself as "a free magazine for the free software world."
* [http://freedomdefined.org/Definition Free cultural works definition]
* [http://www.dwheeler.com/oss_fs_why.html Why Open Source Software / Free Software (OSS/FS)? Look at the Numbers!], analysis of the advantages of OSS/FS by [[David A. Wheeler]].
* [http://www.flossworld.org/index.php FLOSSWorld - Free/Libre/Open-Source Software: Worldwide impact study], to find out more about the recently announced European Union funded study.
* [http://www.teak.cc/softfree/software-freedom.html Software Freedom: An Introduction], by [[Robert J. Chassell]]

== References ==
{{reflist|2}}

{{software distribution}}

[[Category:Free software]]
[[Category:Software licenses]]
[[Category:Libre]]
[[Category:Digital Revolution]]
[[Category:Free software culture and documents]]

[[ar:برمجيات حرة]]
[[ast:Software llibre]]
[[zh-min-nan:Chū-iû nńg-thé]]
[[bs:Slobodni softver]]
[[br:Poellad frank]]
[[bg:Свободен софтуер]]
[[ca:Programari lliure]]
[[cs:Svobodný software]]
[[da:Fri software]]
[[de:Freie Software]]
[[et:Vaba tarkvara]]
[[es:Software libre]]
[[eo:Libera programaro]]
[[eu:Software libre]]
[[fa:نرم‌افزار آزاد]]
[[fr:Logiciel libre]]
[[gu:ફ્રી સૉફ્ટવૅર]]
[[ko:자유 소프트웨어]]
[[hr:Slobodna programska podrška]]
[[io:Libera programaro]]
[[ilo:Nawaya a software]]
[[id:Perangkat lunak bebas]]
[[ia:Software libere]]
[[is:Frjáls hugbúnaður]]
[[it:Software libero]]
[[he:תוכנה חופשית]]
[[ku:Nermalava azad]]
[[lt:Laisvoji programinė įranga]]
[[hu:Szabad szoftver]]
[[ml:സ്വതന്ത്ര സോഫ്‌റ്റ്‌വെയര്‍]]
[[mr:मुक्त सॉफ्टवेअर]]
[[ms:Perisian bebas]]
[[nl:Vrije software]]
[[ja:フリーソフトウェア]]
[[no:Fri programvare]]
[[oc:Logicial liure]]
[[pl:Free software]]
[[pt:Software livre]]
[[ro:Software liber]]
[[rmy:Mesto software]]
[[ru:Свободное программное обеспечение]]
[[sq:Program kompjuterik i lirë]]
[[si:නිදහස් මෘදුකාංග]]
[[simple:Free software]]
[[sk:Slobodný softvér]]
[[sl:Prosto programje]]
[[sr:Слободни софтвер]]
[[fi:Vapaa ohjelmisto]]
[[sv:Fri programvara]]
[[tl:Malayang software]]
[[ta:கட்டற்ற மென்பொருள்]]
[[th:ซอฟต์แวร์เสรี]]
[[tr:Özgür yazılım]]
[[uk:Вільне програмне забезпечення]]
[[zh:自由软件]]

Revision as of 16:24, 23 March 2008

Free 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 minimal restrictions only to ensure that further recipients can also do these things. 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 is a "free software licence", or, in theory, could be a notice saying that the source code is released into the public domain.

The free software movement was launched in 1983 to make these freedoms available to every computer user.[1] From the late 1990s onward, alternative terms for free software came into use. "Open source software" is the most common such alternative term. Others include "software libre", "free, libre and open-source software" ("FOSS", or, with "libre", "FLOSS"). The antonym of free software is "proprietary software" or non-free software.

Free software is distinct from "freeware" which is proprietary software made available free of charge. Users usually cannot study, modify, or redistribute freeware. The only permission freeware has in common with free software is the permission to use the software.

Since free software may be freely redistributed, it generally is available at little or no cost. Free software business models are usually based on adding value such as 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 a user having no choice but to pay for a licence in order to lawfully use a software product.

History

In the 50s, 60s, and 70s, it was normal for computer users to have the freedoms provided by free software. Software was commonly shared by individuals who used computers and by hardware manufacturers who were glad that people were making software that made their hardware useful. In the 70s and early 80s, the software industry began to apply copyright law, and began using technical measures such as only distributing binary copies, to prevent computer users from being able to study and modify the software.[2]

In 1983, Richard Stallman launched the GNU project after becoming frustrated with the effects of the change in culture of the computer industry and users. Software development for the GNU operating system began in January 1984, and the Free Software Foundation (FSF) was founded in October 1985. He introduced a free software definition and "copyleft", designed to ensure software freedom for all.

Free software is a huge international effort, producing software used by individuals, large organizations, and governmental administrations. Free software has a very high market penetration in server-side Internet applications such as the Apache web server, MySQL database, and PHP scripting language. Completely free computing environments are available as large packages of basic system software such as the many Linux distributions and FreeBSD. Free software developers have also created free versions of almost all commonly used desktop applications such as web browsers, office productivity suites, and multimedia players. It is important to note, however, that in many categories, free software for individual workstation or home users has only a fraction of the market share of their proprietary competitors. Most free software is distributed online without charge, or off-line at the marginal cost of distribution, but this is not required, and people may sell copies for any price.

The economic viability of free software has been recognised 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: 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.

Naming

The FSF recommends using the term "free software" and never "open source software" because that term and the associated marketing campaign focuses on technical issues and avoids talking about the value of freedom.[3] "Libre" is used to avoid the ambiguity of the word "free". However, libre is mostly used within the free software movement.

Definition

The first formal definition of free software was published by FSF in February 1986.[4] 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:

  • Freedom 0: The freedom to run the program for any purpose.
  • Freedom 1: The freedom to study and modify the program.
  • Freedom 2: The freedom to copy the program so you can help your neighbor.
  • Freedom 3: The freedom to improve the program, and release your improvements to the public, so that the whole community benefits.

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 users 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, Richard Stallman has long said: "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'".[5]

In the late 90s, 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,[6] 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 but users of these systems generally find the same set of software to be acceptable. However, rather than advocate the use of copyleft free software licenses, they see copyleft as being merely tolerable. Instead, they advocate permissive free software licenses which allow others to make software based on their source code and then not, in turn, also distribute the source. Their view is that this permissive approach is more free. The Kerberos, X.org, and Apache software licenses are substantially similar in intent and implementation. All of these software packages originated in academic institutions interested in the widest possible technology transfer (University of California, MIT, and UIUC).

Examples of free software

File:Free-software-badge.png
Free software badge

Notable free software:

The Free Software Directory is a free software project that maintains a large database of free software packages.

Free software licenses

All free software licenses must grant people 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.

Most free software uses a small set of licenses. The most popular of these are:

Free Software Foundation and Open Source Initiative both publish lists of licenses that they find to comply with their definition of free software and open-source software respectively.

These lists are necessarily incomplete, because a license need not be known by either organization in order to provide these freedoms.

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

However, it is rare that a license is announced as being in-compliance by FSF or OSI and not the other (the Netscape Public License used for early versions of Mozilla being an exception), so exact definitions of the terms have not become hot issues.

Permissive and copyleft licenses

The FSF categorizes licenses in the following ways:

  • Copyleft licenses, the GNU General Public License being the most prominent. The author retains copyright and permits redistribution and modification under terms to ensure that all modified versions remain free for as long as the author wishes.
  • BSD-style licenses, so called because they are applied to much of the software distributed with the BSD operating systems. The author retains copyright protection solely to disclaim warranty and require proper attribution of modified works, but permits redistribution and modification in any work, even proprietary ones, again, for as long as the author wishes.
  • Public domain software - the author has abandoned the copyright. Since public-domain software lacks copyright protection, it may be freely incorporated into any work, whether proprietary or free. Importantly, software released thus goes completely out of control of the author, who, even if he subsequently so desires, cannot impose any restriction on its use.

Security and reliability

There is debate over the security of free software in comparison to proprietary software, with a major issue being security through obscurity. A popular quantitative test in computer security is using 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. Some claim that method counts more vulnerabilities for the free software, since their source code is accessible and their community is more forthcoming about what problems exist.[8]

Free software advocates rebut that proprietary software do not have published flaws, but flaws could exist and are possibly already known to malicious users. The ability to view and modify the software provides many more people who can analyse the code, and possibly have a higher rate of finding bugs and flaws than an average corporation. Having access to the source code also makes creating spyware far more difficult.[9]

David A. Wheeler has published research concluding that free software is quantatively more reliable than proprietary software.[10]

Adoption

Free software played a part in the development of the Internet, the World Wide Web and the infrastructure of dot-com companies.[11] [12] 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 good. 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 little to 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.

Controversies

Binary blobs

In 2006, OpenBSD started the first campaign against the use of binary blobs, in kernels. Blobs are usually freely distributable device drivers for hardware from vendors that do not reveal driver source code to users or developers. This restricts the users' freedom to effectively 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 Linux distribution with all the binary blobs removed. The project received support from the Free Software Foundation[13]

BitKeeper

Larry McVoy invited high-profile free software projects to use his proprietary versioning 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.[14]

Following the apparent reverse engineering of BitKeeper's protocols, McVoy withdrew permission for gratis use by free software projects, leading the Linux kernel community to develop a free software replacement in Git.

Patent deals

In November of 2006, the Microsoft and Novell software corporations announced a controversial partnership involving, among other things, patent protection for some customers of Novell under certain conditions.[15]

See also

External links

References

  1. ^ "GNU project Initial Announcement".
  2. ^ David A. Wheeler. "Appendix "History" of Why OSS/FS, Look at the Numbers!". However, as years progressed, and especially in the 1970s and 1980s, software developers increasingly closed off their software source code from users. {{cite web}}: Cite has empty unknown parameter: |1= (help)
  3. ^ "Why "Open Source" misses the point of Free Software". The philosophy of open source, with its purely practical values, impedes understanding of the deeper ideas of free software; it brings many people into our community, but does not teach them to defend it.
  4. ^ "GNU's Bulletin, Volume 1 Number 1, page 8". {{cite web}}: Cite has empty unknown parameter: |1= (help)
  5. ^ Free Software Foundation. "The Free Software Definition". Retrieved 2007-04-22.
  6. ^ Bruce Perens. "Debian's "Social Contract" with the Free Software Community". debian-announce mailing list. {{cite web}}: Cite has empty unknown parameter: |1= (help)
  7. ^ "Debian -- License information". Retrieved 2008-01-08.
  8. ^ "Firefox more secure than MSIE after all". News.com.
  9. ^ "Transcript where Stallman explains about spyware". {{cite web}}: Cite has empty unknown parameter: |1= (help)
  10. ^ David A. Wheeler. "High Assurance (for Security or Safety) and Free-Libre / Open Source Software (FLOSS)... with Lots on Formal Methods".
  11. ^ Netcraft. "Web Server Usage Survey".
  12. ^ The Apache Software Foundation. "Apache Strategy in the New Economy" (PDF).
  13. ^ GNU/Linux distributions we know of which consist entirely of free software, and whose main distribution sites distribute only free software.
  14. ^ "Richard Stallman thanking Larry McVoy for ending the gratis licenses for BitKeeper". NewsForge.
  15. ^ "Ars Technica article on the Microsoft-Novell patent deal".