Free software

From Wikipedia, the free encyclopedia
  (Redirected from Free software development)
Jump to: navigation, search
gNewSense, an operating system composed entirely of free software

Free software, software libre, or libre software[1] is computer software that gives users the freedom to run the software for any purpose as well as to study, modify, and distribute the original software and the adapted versions.[2][3][4][5][6] The rights to study and modify free software imply unfettered access to its source code. For computer programs which are covered by copyright law this is achieved with a software license where the author grants users the aforementioned freedoms. Software which is not covered by copyright law, such as software in the public domain can also be free if the source code is in the public domain (or otherwise available without restrictions). Other legal and technical aspects such as software patents and DRM may impede users from exercising these rights, and thus prevent software from being free. Free software may be developed collaboratively by volunteer computer programmers or by corporations; as part of a commercial activity or not.

Free software is primarily a matter of liberty, not price: users, individually or collectively, are free to do whatever they want with it – this includes the freedom to redistribute the software free-of-charge, or to sell it (or related services such as support or warranty) for profit.[7] Free software thus differs from proprietary software (such as Microsoft Windows), which to varying degrees prevents users from studying, modifying and sharing the software. Free software is also distinct from freeware, which is simply a category of proprietary software which does not require payment for use. Proprietary software (including freeware), uses restrictive software licences or user agreements and usually does not provide access to the source code. Users are thus prevented from modifying the software, and this results in the user becoming dependent on software companies to provide updates and support (vendor lock-in). Users can also not necessarily reverse engineer, modify, or redistribute proprietary software.[8][9]

The term "free software" was coined in 1985 by Richard Stallman when launching the GNU project - a collaborative effort to create a freedom-respecting operating system - and the Free Software Foundation (FSF). The FSF's Free Software Definition[4] states that users of free software are "free" because they do not need to ask for any permission.[10]

History[edit]

From the 1950s up until the early 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, SHARE, were formed to facilitate exchange of software. By the early 1970s, 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.[11] 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. 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.

1980s: Foundation of the GNU project[edit]

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.[12] Software development for the GNU operating system began in January 1984, and the Free Software Foundation (FSF) was founded in October 1985. An article outlining the project and its goals was published in March 1985 titled the GNU Manifesto. The manifesto included significant explanation of the GNU philosophy, Free Software Definition and "copyleft" ideas.

1990s: Release of the Linux kernel[edit]

The Linux kernel, started by Linus Torvalds, was released as freely modifiable source code in 1991. The first licence wasn't a free or open-source software licence. However, with version 0.12 in February 1992, he relicensed the project under the GNU General Public License.[13] Much like Unix, Torvalds' kernel attracted the attention of volunteer programmers. FreeBSD and NetBSD (both derived from 386BSD) were released as free software when the USL v. BSDi lawsuit was settled out of court in 1993. OpenBSD forked from NetBSD in 1995. Also in 1995, The Apache HTTP Server, commonly referred to as Apache, was released under the Apache License 1.0.

Naming[edit]

The FSF recommends using the term "free software" rather than "open-source software" because, as 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. The FSF also notes that "Open Source" has exactly one specific meaning in common English, namely that "you can look at the source code." Stallman states that while the term "Free Software" can lead to two different interpretations, one of them is consistent with FSF definition of Free Software so there is at least some chance that it could be understood properly, unlike the term "Open Source".[14] Stallman has also stated that considering the practical advantages of free software is like considering the practical advantages of not being handcuffed in that it is not necessary for an individual to consider practical reasons in order to realize that being handcuffed restricts their freedom.[15] "Libre" is often used to avoid the ambiguity of the word "free" in English language; see Gratis versus libre.

Definition[edit]

The first formal definition of free software was published by FSF in February 1986.[16] 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.[17] (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 to be available because studying and modifying software without its source code can range from highly impractical to nearly impossible.

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, 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'".[17] See Gratis versus libre.

In the late 1990s, other groups published their own definitions that describe an almost identical set of software. The most notable are Debian Free Software Guidelines published in 1997,[18] 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.

Examples[edit]

Creating a 3D car racing game using the free/open-source Blender Game Engine
Modern desktop: Here is a screenshot of Linux Mint running the Xfce desktop environment, Firefox, a calculator program, the built-in calendar, Vim, GIMP , and VLC media player. Thousands of other free desktop applications are available on the Internet. Users can easily download and install this free software via a simple package manager that comes with most Linux distributions.

The Free Software Directory 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.

Licensing[edit]

Main article: Free software license

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

Editing an audio file using the free/open-source audio editor Audacity

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

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 license, but non-free according to FSF).

There are different categories of free software.

  • Public domain 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. The FSF recommends the CC0 public domain dedication for this purpose.[20]
  • Permissive licenses, also called BSD-style because they are applied to much of the software distributed with the BSD operating systems: these licenses are also known as copyfree as they have no restrictions on distribution.[21] 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. In this sense, a permissive license provides an incentive to create non-free software, by reducing the cost of developing restricted software. Since this is incompatible with the spirit of software freedom, many people consider permissive licenses to be less free than copyleft licenses.
  • Copyleft licenses, with the GNU General Public License 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 license. Due to the restriction on distribution not everyone considers this type of license to be free.[22][23]

Security and reliability[edit]

Almost all computer viruses can only affect the Microsoft Windows operating system,[24][25][26] but antivirus software such as ClamAV (shown here) is still provided for Linux and other Unix-based systems, so that users can scan files to detect malware that might infect Windows hosts

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 to use relative counting of known unpatched security flaws. Generally, users of this method advise avoiding products that lack fixes for known security flaws, at least until a fix is available.

Free software advocates strongly believe that this methodology 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,[27] (This is called "Security Through Disclosure"[28]) and proprietary software can have undisclosed societal drawbacks, such as disenfranchising less fortunate would-be users of free programs. 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.[29] 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. Free or opensource software is acquiring philanthropist funding and being adopted in the mainstream media as a panacea.[citation needed]

Some quantitative studies have been done on the subject.[30][31][32][33]

Many free operating systems such as Debian Linux, OpenBSD, and FreeBSD have more secure default installation configurations than Microsoft Windows, resulting in far fewer compromised systems. Furthermore, users of free operating systems have access to a wide array of free security software, such as the packet analyzer Wireshark (shown here), which they can use to secure their operating systems and networks

Binary blobs and other proprietary software[edit]

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 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 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.[34] As of October 2012, Trisquel is the most popular FSF endorsed GNU/Linux distribution ranked by Distrowatch (over 12 months).[35]

Business model[edit]

Since free software may be freely redistributed, it is generally available at little or no fee. 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 that 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.

Fees are usually charged for distribution on compact discs and bootable USB drives, or for services of installing or maintaining the operation of free software. Development of large, commercially used free software is often funded by a combination of user donations, corporate contributions, and tax money. The SELinux project at the United States National Security Agency is an example of a federally funded free software project.

In practice, for software to be distributed as free software, the source code, a human-readable form of the program from which an executable form is produced, must be accessible to the recipient along with a document granting the same rights to free software under which it was published. Such a document is either a free software license or the release of the source code into the public domain.

Selling software under any free software licence is permissible, as is commercial use. This is true for permissive licences, such as the BSD licence,[36][37] or copyleft licences such as the GNU GPL.

The Free Software Foundation encourages selling free software. As the Foundation has written, "Distributing free software is an opportunity to raise funds for development. Don't waste it!".[38] For example the GNU GPL that 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."[39]

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."[40] This misunderstanding is based on a requirement of copyleft licenses (like the GPL) that if one distributes modified versions of software, they must release the source and use the same license. This requirement does not extend to other software from the same developer. The claim of incompatibility between commercial companies and Free Software is also a misunderstanding. There are several large companies, e.g. Red Hat and IBM, which do substantial commercial business in the development of Free Software.

Economical aspects and adoption[edit]

See also: Linux adoption
Free software
Titan1.jpg
Of the world's five hundred fastest supercomputers, 480 (96%) use Linux.[41] The world's second fastest computer is the Oak Ridge National Laboratory's Titan supercomputer (illustrated), which uses the Cray Linux Environment.[42]

Free software played a significant part in the development of the Internet, the World Wide Web and the infrastructure of dot-com companies.[43][44] 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.[citation needed] (See mpeg2 patent holders.)

“We migrated key functions from Windows to Linux because we needed an operating system that was stable and reliable -- one that would give us in-house control. So if we needed to patch, adjust, or adapt, we could.”

Official statement of the United Space Alliance, which manages the computer systems for the International Space Station (ISS), regarding their May 2013 decision to migrate ISS computer systems from Windows to Linux[45][46]

The economic viability of free software has been recognized by large corporations such as IBM, Red Hat, and Sun Microsystems.[47][48][49][50][51] 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.

Under the free software business model[further explanation needed], 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.[52]

Free software is generally available at no cost and can result in permanently lower TCO costs compared to proprietary software.[53] 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.[54] In spite of this, Eric S. Raymond argues that the term free software is too ambiguous and intimidating for the business community. Raymond promotes the term open-source software as a friendlier alternative for the business and corporate world.[55]

See also[edit]

References[edit]

  1. ^ See GNU Project. "What is Free Software". Free Software Foundation. 
  2. ^ Free Software Movement (gnu.org)
  3. ^ Philosophy of the GNU Project (gnu.org)
  4. ^ a b What is free software (fsf.org)
  5. ^ Free Software Free Society: Selected Essays of Richard M. Stallman, 2nd Edition
  6. ^ "Software Freedom Law Center". 
  7. ^ Selling Free Software (gnu.org)
  8. ^ Dixon, Rod (2004). Open Source Software Law. Artech House. p. 4. ISBN 978-1-58053-719-3. Retrieved 2009-03-16. 
  9. ^ Graham, Lawrence D. (1999). Legal battles that shaped the computer industry. Greenwood Publishing Group. p. 175. ISBN 978-1-56720-178-9. Retrieved 2009-03-16. 
  10. ^ "GNU project Initial Announcement". 
  11. ^ Fisher, Franklin M.; McKie, James W.; Mancke, Richard B. (1983). IBM and the U.S. Data Processing Industry: An Economic History. Praeger. ISBN 0-03-063059-2. 
  12. ^ William 2002
  13. ^ "Release notes for Linux kernel 0.12". Kernel.org. 
  14. ^ "Why "Open Source" misses the point of Free Software". 
  15. ^ Stallman, Richard (2013-05-14). "The advantages of free software". Free Software Foundation. Retrieved 2013-08-12. 
  16. ^ "GNU's Bulletin, Volume 1 Number 1, page 8". 
  17. ^ a b Free Software Foundation. "What is free software?". Retrieved 14 December 2011. 
  18. ^ Perens, Bruce. "Debian's "Social Contract" with the Free Software Community". debian-announce mailing list. 
  19. ^ "Debian -- License information". Retrieved 2008-01-08. 
  20. ^ "Various Licenses and Comments about Them". gnu.org. Retrieved 20 March 2014. 
  21. ^ Copyfree: Unfetter your ideas
  22. ^ Charvolant.org
  23. ^ Blog.sunsetbrew.com
  24. ^ Mookhey, K.K. et al (2005). Linux: Security, Audit and Control Features. ISACA. p. 128. ISBN 9781893209787. 
  25. ^ Toxen, Bob (2003). Real World Linux Security: Intrusion Prevention, Detection, and Recovery. Prentice Hall Professional. p. 365. ISBN 9780130464569. 
  26. ^ Noyes, Katherine (Aug 3, 2010). "Why Linux Is More Secure Than Windows". PCWorld. 
  27. ^ "Firefox more secure than MSIE after all". News.com. 
  28. ^ The Benefits of Open Source
  29. ^ "Transcript where Stallman explains about spyware". 
  30. ^ David A. Wheeler: Why Open Source Software / Free Software (OSS/FS, FLOSS, or FOSS)? Look at the Numbers! 2007
  31. ^ Michelle Delio: Linux: Fewer Bugs Than Rivals Wired.com 2004
  32. ^ Barton P. Miller, David Koski, Cjin Pheow Lee, Vivekananda Maganty, Ravi Murthy, Ajitkumar Natarajan, Jeff Steidl (October 1995). "Fuzz Revisited: A Re-examination of the Reliability of UNIX Utilities and Services" (pdf). Madison, WI 53706-1685 USA: University of Wisconsin: Computer Sciences Department. Archived from the original on 21 June 2010. Retrieved 1 May 2013. "...The reliability of the basic utilities from GNU and Linux were noticeably better than those of the commercial systems [sic]" 
  33. ^ Barton P. Miller, Gregory Cooksey, Fredrick Moore (20 July 2006). "An Empirical Study of the Robustness of MacOS Applications Using Random Testing" (pdf). Madison, WI 53706-1685 USA: University of Wisconsin: Computer Sciences Department. pp. 1, 2. Archived from the original on 21 June 2010. Retrieved 1 May 2013. "We are back again, this time testing... Apple’s Mac OS X. [...] While the results were reasonable, we were disappointed to find that the reliability was no better than that of the Linux/GNU tools tested in 1995. We were less sure what to expect when testing the GUI- based applications; the results turned out worse than we expected." 
  34. ^ Linux distributions we know of which consist entirely of free software, and whose main distribution sites distribute only free software.
  35. ^ "DistroWatch Page Hit Ranking". DistroWatch. 30 October 2012. Retrieved 30 October 2012. 
  36. ^ Linfo.org
  37. ^ Freebsd.org
  38. ^ Selling Free Software gnu.org
  39. ^ GNU General Public License, section 4. gnu.org
  40. ^ Ballmer calling open source a 'cancer', saying it's "not available to commercial companies" at the Wayback Machine (archived June 15, 2001) Chicago Sun-Times, 2001
  41. ^ "Top500 - List Statistics - June 2013". Top500.org. Retrieved 21 July 2013. .
  42. ^ "Roadrunner - BladeCenter QS22/LS21 Cluster, PowerXCell 8i 3.2 Ghz / Opteron DC 1.8 GHz, Voltaire Infiniband". Top500.org. Retrieved 30 March 2013. 
  43. ^ Netcraft. "Web Server Usage Survey". 
  44. ^ The Apache Software Foundation. "Apache Strategy in the New Economy". 
  45. ^ Gunter, Joel (May 10, 2013). "International Space Station to boldly go with Linux over Windows". The Telegraph. 
  46. ^ Bridgewater, Adrian (May 13, 2013). "International Space Station adopts Debian Linux, drops Windows & Red Hat into airlock". Computer Weekly. 
  47. ^ "IBM launches biggest Linux lineup ever". IBM. 1999-03-02. Archived from the original on 1999-11-10. 
  48. ^ Hamid, Farrah (2006-05-24). "IBM invests in Brazil Linux Tech Center". LWN.net. 
  49. ^ "Interview: The Eclipse code donation". IBM. 2001-11-01. Archived from the original on 2009-12-18. 
  50. ^ "Sun begins releasing Java under the GPL". Free Software Foundation. November 15, 2006. Retrieved 2007-09-23. 
  51. ^ Rishab Aiyer Ghosh (November 20, 2006). "Study on the: Economic impact of open source software on innovation and the competitiveness of the Information and Communication Technologies (ICT) sector in the EU" (PDF). European Union. p. 51. Retrieved 2007-01-25. 
  52. ^ Andy Dornan. "The Five Open Source Business Models". [dead link]
  53. ^ Total cost of ownership of open source software: a report for the UK Cabinet Office supported by OpenForum Europe
  54. ^ "Open Source". Standish Newsroom. Standishgroup.com. 2008-04-16. Retrieved 2010-08-22. 
  55. ^ Eric S. Raymond. "Eric S. Raymond's initial call to start using the term open source software, instead of free software". 

Further reading[edit]

External links[edit]

Definition and philosophy
Presentations
Software