Free software license

From Infogalactic: the planetary knowledge core
Jump to: navigation, search

Lua error in package.lua at line 80: module 'strict' not found.

Software licenses in context of copyright according to Mark Webbink.[1] From left to right less rights for a licensee/user of a software and more rights retained by the owner. First three license categories from left are considered being part of the "free software" ecosystem, also including public domain like licenses (e.g. CC0).
The free software licensing spectrum and some examples of programs under those licenses according to David A. Wheeler.[2]

A free software license is a notice that grants the recipient of a piece of software extensive rights to modify and redistribute that software. These actions are usually prohibited by copyright law, but the rights-holder (usually the author) of a piece of software can remove these restrictions by accompanying the software with a software license which grants the recipient these rights. Software using such a licence is free software (or free and open source software) as conferred by the copyright holder. Free software licenses are applied to software in source code as also binary object code form, as the copyright law recognizes both forms.[3]

Some free software licenses include "copyleft" provisions which require all future versions to also be distributed with these freedoms. The permissive free software licences are typically shorter and not as complex as copyleft licenses, only containing the grant of rights, a disclaimer of warranty and demanding sometimes attribution of the authors.

While historically the most widely used FOSS license has been the GNU General Public License v2, in 2015 according to Black Duck Software[4] as also GitHub statistics,[5] the permissive MIT license dethroned the GPLv2 to the second place while the permissive Apache license follows already at third place.

History

<templatestyles src="Module:Hatnote/styles.css"></templatestyles>

Pre 1980s

In the early times of software, sharing of software and source code was common in certain communities, for instance academic institutions. Before the US Commission on New Technological Uses of Copyrighted Works (CONTU) decided in 1974 that "computer programs, to the extent that they embody an author's original creation, are proper subject matter of copyright.",[6] software was not considered copyrightable. Therefore, software had no licenses attached and was shared as public domain software. The CONTU decision plus court decisions such as Apple v. Franklin in 1983 for object code, clarified that the Copyright Act gave computer programs the copyright status of literary works and started the software licensing.

Free software licenses before the late 1980s were generally informal notices written by the developers themselves. These early licenses were of the "permissive" kind.

1980s

In the mid-1980s, the GNU project produced copyleft free software licenses for each of its software packages. An early such license (the "GNU Emacs Copying Permission Notice") was used for GNU Emacs in 1985,[7] with subsequent revisions in 1986, 1987 and 1988 taking the name of "GNU Emacs General Public License".[8] Likewise, the similar GCC General Public License was applied to the GNU Compiler Collection, which was initially published in 1987.[9][10] The original BSD license is also one of the first free software licenses, dating to 1988. In 1989, version 1 of the GNU General Public License (GPL) was published. Version 2 of the GPL, released in 1991, went on to become the most widely used free software license.[11][12][13]

1990s to 2000s

Starting in the mid-1990s and until the mid-2000s, the open source movement pushed and focussed the free software idea forward in the wider public and business perception.[14] In the Dot-com bubble time, Netscape Communications' step to release its webbrowser under a FOSS license in 1998,[15][16] inspired many other companies to adapt to the FOSS ecosystem.[17] In this trend companies and new projects (Mozilla, Apache foundation, Sun etc, see also this list) wrote their own FOSS licenses, or adapted existing licenses. This License proliferation was later recognized as problem for the Free and open source ecosystem due to the increased complexity of license compatibility considerations.[18] While the creation of new licenses slowed down later, license proliferation and its impact are considered an ongoing serious challenge for the free and open source ecosystem.

From the free software licenses, the GNU GPL version 2 has been tested in to court, first in Germany (2004) and later in the USA. In the German case the judge did not explicitly discuss the validity of the GPL's clauses but accepted that the GPL had to be adhered to: "If the GPL were not agreed upon by the parties, defendant would notwithstanding lack the necessary rights to copy, distribute, and make the software 'netfilter/iptables' publicly available." Because the defendant did not comply with the GPL, it had to cease use of the software.[19] The US case (MySQL vs Progress) was settled before a verdict was arrived at, but at an initial hearing, Judge Saris "saw no reason" that the GPL would not be enforceable.[20]

Around 2004 lawyer Lawrence Rosen argued in the essay Why the public domain isn't a license software could not truly be waived into public domain and can't be interpreted as very permissive FOSS license,[21] a position which faced opposition by Daniel J. Bernstein and others.[22] In 2012 the dispute was finally resolved when Rosen accepted the CC0 as open source license, while admitting that contrary to his previous claims copyright can be waived away, backed by Ninth circuit decisions.[23]

In 2007, after years of draft discussion, the GPLv3 as major update of the GPLv2 was released. The release was controversial[24] due to the significant extended scope of the license, which made it incompatible with the GPLv2.[25] Several major FOSS projects (Linux kernel,[26][27] MySQL[28] BusyBox,[29][30] Blender,[31] VLC media player[32]) decided against adopting the GPLv3. On the other hand in 2009, two years after the release of the GPLv3, Google open-source programs office manager Chris DiBona reported that the number of open-source projects licensed software that had moved to GPLv3 from GPLv2 was 50%, counting the projects hosted at Google Code.[33]

2010s

In 2011, four years after the release of the GPLv3, 6.5% of all open-source licensed projects are GPLv3 while 42.5% are still GPLv2 according to Black Duck Software data.[27][34] Following in 2011 451 Group analyst Matthew Aslett argued in a blog post that copyleft licenses went into decline and permissive licenses increased, based on statistics from Black Duck Software.[35][36]

In 2015 according to Black Duck Software[4] and GitHub statistics,[5] the permissive MIT license dethroned the GPLv2 as most popular Free software license to the second place while the permissive Apache license follows already at third place.

Definitions

OSI-approved "open source" licenses

<templatestyles src="Module:Hatnote/styles.css"></templatestyles>

The group Open Source Initiative (OSI) defines and maintains a list of approved open source licenses. OSI agrees with FSF on all widely used Free Software licenses, but differ from FSF's list, as it approves against the Open Source Definition rather than the Free Software Definition. It considers Free Software Permissive license group to be a reference implementation of a Free Software license.[citation needed][clarification needed] Thus its requirements for approving licenses are different.

FSF-approved "free software" licenses

The Free Software Foundation, the group that maintains the Free Software Definition, maintains a non-exhaustive list of Free Software licences.[37] The Free Software Foundation (FSF) is a nonprofit with a worldwide mission to promote computer user freedom and to defend the rights of all free software users.[1] Free software developers guarantee everyone equal rights to their programs; any user can study the source code, modify it, and share the program. By contrast, most software carries fine print that denies users these basic rights, leaving them susceptible to the whims of its owners and vulnerable to surveillance.

The Free Software Foundation prefers copyleft (share-alike) Free Software licensing rather than permissive Free Software licensing for most purposes. Its list distinguishes between free software licenses that are compatible or incompatible with the FSF's copyleft GNU General Public License.

Restrictions in "free software licenses"

There exists an ongoing debate within the free software community regarding the fine line between what restrictions can be applied and still be called "free".

Only "public domain software" and software under a public domain-like license is restriction free. Examples public domain like licenses are for instance the WTFPL or the CC0 license. Permissive licenses might carry small obligations like attribution of the author but allow practically all code use cases. Certain licenses, namely the copyleft licenses, include intentionally stronger restrictions (especially on the distribution/distributor) in order to force derived projects to guarantee specific rights which can't be taken away.

Copyleft

<templatestyles src="Module:Hatnote/styles.css"></templatestyles>

The free software sharealike licenses written by Richard Stallman in the mid-1980s pioneered a concept known as "copyleft". Ensuing copyleft provisions stated that when modified versions of free software are distributed, they must be distributed under the same terms as the original software. Hence they are referred to as "share and share alike" or "quid pro quo". This results in the new software being open source as well. Since copyleft ensures that later generations of the software grant the freedom to modify the code, this is "Free Software". Non-copyleft licenses do not ensure that later generations of the software remain free.

Developers who use GPL code in their product must make the source code available to anyone when they share or sell the object code. In this case, the source code must also contain any changes the developers may have made. If GPL code is used but not shared or sold, the code is not required to be made available and any changes may remain private. This permits developers and organizations to use and modify GPL code for private purposes (i.e. when the code or the project is not sold or otherwise shared) without being required to make their changes available to the public.

Supporters of GPL claim that by mandating that derivative works remain under the GPL, it fosters the growth of free software and requires equal participation by all users. Opponents of GPL claim[38] that "no license can guarantee future software availability" and that the disadvantages of GPL outweigh[39] its advantages. Some also argue that restricting distribution makes the license less free. Whereas proponents would argue that not preserving freedom during distribution would make it less free. For example, a non-copyleft license does not grant the author the freedom to see modified versions of his or her work if it get publicly published, whereas a copyleft license does grant that freedom.

Patent retaliation

<templatestyles src="Module:Hatnote/styles.css"></templatestyles>

During the 1990s, free software licenses began including clauses, such as patent retaliation, in order to protect against software patent litigation cases - a problem which had not previously existed. This new threat was one of the reasons for writing version 3 of the GNU GPL in 2006.[40] In recent years, a term coined tivoization describes a process where hardware restrictions are used to prevent users from running modified versions of the software on that hardware, which the TiVo device is an example of. It is viewed by the FSF as a way to turn free software to effectively non-free, and is why they have chosen to prohibit it in GPLv3.[41] Most newly written free software licenses since the late 1990s include some form of patent retaliation clauses. These measures stipulate that one's rights under the license (such as to redistribution), may be terminated if one attempts to enforce patents relating to the licensed software, under certain circumstances. As an example, the Apple Public Source License may terminate a user's rights if said user embarks on litigation proceedings against them due to patent litigation. Patent retaliation emerged in response to proliferation and abuse of software patents.

Hardware restrictions

<templatestyles src="Module:Hatnote/styles.css"></templatestyles>

Version 3 of the GNU GPL includes specific language prohibiting additional restrictions being enforced by hardware restrictions and digital rights management (DRM), a practice FSF calls Tivoization.

Attribution, disclaimers and notices

The majority of free software licenses require that modified software not claim to be unmodified. Some licenses also require that copyright holders be credited. One such example is version 2 of the GNU GPL, which requires that interactive programs that print warranty or license information, may not have these notices removed from modified versions intended for distribution.

Practical problems with licenses

License compatibility

License compatibility between common FOSS software licenses according to David A. Wheeler (2007): the vector arrows denote an one directional compatibility, therefore better compatibility on the left side ("permissive licenses") than on the right side ("copyleft licenses").[42]

<templatestyles src="Module:Hatnote/styles.css"></templatestyles>

Licenses of software packages containing contradictory requirements, render it impossible to combine source code from such packages in order to create new software packages.[43] License compatibility between a copyleft license and another license is often only a one-way compatibility.[44] This "one-way compatibility" characteristic is for instanced criticized by the Apache Foundation, who provides the more permissive Apache license which doesn't have this characteristic.[45] Non-copyleft licenses as the FOSS permissive licenses have a less complicated license interaction and have most often a in general better license compatibility.[46][47] For example, if one license says "modified versions must mention the developers in any advertising materials", and another license says "modified versions cannot contain additional attribution requirements", then, if someone combined a software package which uses one license with a software package which uses the other, it would be impossible to distribute the combination because these contradictory requirements cannot be simultaneously fulfilled. Thus, these two packages would be license-incompatible. When it comes to copyleft software licenses, they are not inherently compatible with other copyleft licenses, even the GPLv2 is by itself not compatible with the GPLv3.[25][48]

Purpose of use

Restrictions on use of a software ("use restrictions") are generally unacceptable according the FSF, OSI, Debian, or the BSD-based distributions. Examples include prohibiting the software to be used private only, for military purposes, for comparison or benchmarking, for good use, for ethically questionable means,[49] or in commercial organisations.[50]

Definition conflicts

As there are several defining organizations and groups who publish definitions and guidelines about FOSS licenses, notably the FSF, the OSI, the Debian project and the BSDs, there are sometimes conflicting opinions and interpretations.

Permissive versus copyleft opinions

Many users and developers of BSD-based operating systems have a different position on licensing. The main difference is the belief that the copyleft licenses, particularly the GNU General Public License (GPL), are undesirably complicated and/or restrictive.[51] The GPL requires any derivative work to also be released according to the GPL while the BSD license does not. Essentially, the BSD license's only requirement is to acknowledge the original authors, and poses no restrictions on how the source code may be used. As a result, BSD code can be used in proprietary software that only acknowledges the authors. For instance, the IP stack in Microsoft Windows NT 3.1 and Mac OS X are derived from BSD-licensed software.[52] On the positive side, due to very limited restrictions (typically only attribution) of BSD-like permissive licenses have, they have also an excellent license compatibility, even with copyleft licenses.[46][47]

Supporters of the BSD license argue that it is more free than the GPL because it grants the right to do anything with the source code, provided that the attribution is preserved. For example, users might incorporate the BSD-licensed code into proprietary products. The approach has led to BSD code being used in common, widely used proprietary software. In response, proponents of the GPL point out that once code becomes proprietary, users lack the freedoms that define free software.[53] As a result, they consider the BSD license less free than the GPL, and freedom a distinct concept from the lack of any restrictions. Since the BSD license restricts the right of developers to have changes recontributed to the community,[dubious ] neither it nor the GPL is "free" in the sense of "lacking any restrictions."

Code licensed under a permissive free software licence, such as the BSD license, can be incorporated into copylefted (e.g. GPL'd) projects. Such code is thus "GPL-compatible". There is no need to secure the consent of the original authors. In contrast, code under the GPL cannot be relicensed under the BSD license without securing the consent of all copyright holders. Thus the two licenses are compatible, but (unless such consent has been obtained) the combination as a whole must be distributed under the terms of the GPL, not the permissive license.

Existing free software BSDs tend to avoid including software licensed under the GPL in the core operating system, or the base system, except as a last resort when alternatives are non-existent or vastly less capable, such as with GCC. For example, starting with FreeBSD 10.0 release GCC was replaced to the Clang/LLVM compiler, perhaps primarily for this reason.[citation needed] The OpenBSD project has acted to remove GPL-licensed tools in favor of BSD-licensed alternatives, some newly written and some adapted from older code.[54]

Debian

The Debian project uses the criteria laid out in its Debian Free Software Guidelines (DFSG). The only notable cases where Debian and Free Software Foundation disagree are over the Artistic License and the GNU Free Documentation License (GFDL). Debian accepts the original Artistic License as being a free software license, but FSF disagrees. This has very little impact however since the Artistic License is almost always used in a dual-license setup, along with the GNU General Public License.

Controversial borderline cases

The vast majority of free software uses undisputed free software licenses; however, there have been many debates over whether or not certain other licenses qualify for the definition.

Examples of licenses that provoked debate were the 1.x series of the Apple Public Source License, which were accepted by the Open Source Initiative but not by the Free Software Foundation or Debian and the RealNetworks Public Source License, which was accepted by Open Source Initiative and Free Software Foundation but not by Debian.

Also, the FSF recommended GNU Free Documentation License,[55] which is incompatible with the GPL,[56] was considered "non-free" by the Debian project around 2006,[57] Nathanael Nerode[58] and Bruce Perens.[59] The FSF argues that documentation is qualitatively different from software and is subject to different requirements. Debian accepted in a later resolution the GNU FDL to comply with the Debian Free Software Guidelines when the controversial "invariant section" is removed, but considers it "still not free of trouble".[60] But, most GNU documentation includes "Invariant Sections". Similarly, the FLOSS Manuals foundation, an organization devoted to creating manuals for free software, decided to eschew the GFDL in favor of the GPL for its texts in 2007, citing the incompatibility between the two, difficulties in implementing the GFDL, and the fact that the GFDL "does not allow for easy duplication and modification", especially for digital documentation.[61]

See also

Notes

  1. Lua error in package.lua at line 80: module 'strict' not found.
  2. The fight for freedom by David A. Wheeler (2015)
  3. Lua error in package.lua at line 80: module 'strict' not found.
  4. 4.0 4.1 Lua error in package.lua at line 80: module 'strict' not found.
  5. 5.0 5.1 Lua error in package.lua at line 80: module 'strict' not found.
  6. Lemley, Menell, Merges and Samuelson. Software and Internet Law, p. 34 "computer programs, to the extent that they embody an author's original creation, are proper subject matter of copyright."
  7. Lua error in package.lua at line 80: module 'strict' not found.
  8. Lua error in package.lua at line 80: module 'strict' not found.
  9. Lua error in package.lua at line 80: module 'strict' not found.
  10. Lua error in package.lua at line 80: module 'strict' not found.
  11. Lua error in package.lua at line 80: module 'strict' not found.
  12. Lua error in package.lua at line 80: module 'strict' not found.
  13. Lua error in package.lua at line 80: module 'strict' not found.
  14. Lua error in package.lua at line 80: module 'strict' not found.
  15. Lua error in package.lua at line 80: module 'strict' not found.
  16. Lua error in package.lua at line 80: module 'strict' not found.
  17. Lua error in package.lua at line 80: module 'strict' not found.
  18. Report of License Proliferation Committee and draft FAQ, Open Source Initiative (2007-12-12)
  19. Lua error in package.lua at line 80: module 'strict' not found.
  20. See Progress Software Corporation v. MySQL AB, 195 F. Supp. 2d 328 (D. Mass. 2002), on defendant's motion for preliminary injunction.
  21. Lua error in package.lua at line 80: module 'strict' not found.
  22. Placing documents into the public domain by Daniel J. Bernstein on cr.yp.to "Most rights can be voluntarily abandoned ("waived") by the owner of the rights. Legislators can go to extra effort to create rights that can't be abandoned, but usually they don't do this. In particular, you can voluntarily abandon your United States copyrights: "It is well settled that rights gained under the Copyright Act may be abandoned. But abandonment of a right must be manifested by some overt act indicating an intention to abandon that right. See Hampton v. Paramount Pictures Corp., 279 F.2d 100, 104 (9th Cir. 1960)."" (2004)
  23. Lua error in package.lua at line 80: module 'strict' not found.
  24. Lua error in package.lua at line 80: module 'strict' not found.
  25. 25.0 25.1 Lua error in package.lua at line 80: module 'strict' not found.
  26. Lua error in package.lua at line 80: module 'strict' not found.
  27. 27.0 27.1 Lua error in package.lua at line 80: module 'strict' not found.
  28. MySQL changes license to avoid GPLv3 on Computer business review online (January 04, 2007)
  29. Lua error in package.lua at line 80: module 'strict' not found.
  30. Lua error in package.lua at line 80: module 'strict' not found.
  31. Lua error in package.lua at line 80: module 'strict' not found.
  32. Lua error in package.lua at line 80: module 'strict' not found.
  33. Lua error in package.lua at line 80: module 'strict' not found.
  34. GPL, copyleft use declining faster than ever on ITworld on December 16, 2011 by Brian Proffitt
  35. Lua error in package.lua at line 80: module 'strict' not found.
  36. On the continuing decline of the GPL December 15th, 2011 by Matthew Aslett
  37. Lua error in package.lua at line 80: module 'strict' not found.
  38. Lua error in package.lua at line 80: module 'strict' not found.
  39. Lua error in package.lua at line 80: module 'strict' not found.
  40. Lua error in package.lua at line 80: module 'strict' not found.
  41. Lua error in package.lua at line 80: module 'strict' not found.
  42. The Free-Libre / Open Source Software (FLOSS) License Slide by David A. Wheeler on September 27, 2007
  43. Lua error in package.lua at line 80: module 'strict' not found.
  44. Lua error in package.lua at line 80: module 'strict' not found.
  45. Lua error in package.lua at line 80: module 'strict' not found.
  46. 46.0 46.1 Lua error in package.lua at line 80: module 'strict' not found.
  47. 47.0 47.1 Lua error in package.lua at line 80: module 'strict' not found.
  48. Lua error in package.lua at line 80: module 'strict' not found.
  49. Lua error in package.lua at line 80: module 'strict' not found.
  50. Lua error in package.lua at line 80: module 'strict' not found.
  51. Lua error in package.lua at line 80: module 'strict' not found.
  52. FreeBSD der unbekannte Riese on heise.de (in German)
  53. Lua error in package.lua at line 80: module 'strict' not found.
  54. Goals on openbsd.org
  55. GNU project: Frequently Asked Questions about the GNU Licenses: Why don't you use the GPL for manuals? Retrieved 20 June 2009.
  56. Richard Braakman on Debian-legal about GFDL/GPL incompatibility
  57. Lua error in package.lua at line 80: module 'strict' not found.
  58. Lua error in package.lua at line 80: module 'strict' not found.
  59. Lua error in package.lua at line 80: module 'strict' not found.
  60. Debian Project: Resolution: Why the GNU Free Documentation License is not suitable for Debian. Voted February–March 2006. (Accessed June 20, 2009)
  61. Lua error in package.lua at line 80: module 'strict' not found.

References

  • Lua error in package.lua at line 80: module 'strict' not found.

External links

Lua error in package.lua at line 80: module 'strict' not found.