

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.
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.
Комментариев нет:
Отправить комментарий