Free software license

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 license is free software as conferred by the copyright holder.

Some free software licenses include "copyleft" provisions which require all future versions to also be distributed with these freedoms. Other, "permissive", free software licenses are usually just a few lines containing the grant of rights and a disclaimer of warranty, thus also allowing distributors to add restrictions for further recipients.

Free software licenses before the 1980s were generally informal notices written by the developers themselves. At that time, sharing of software was common in certain developer communities and there were even questions about whether copyright law applied to software, so licenses weren't written with a view to having to be defended in court. Copyleft not yet having been invented, these early licenses were of the "permissive" kind.

In the mid-1980s, the GNU project produced individual free software licenses for each of its software packages. The first, GCC General Public License, was applied to the GNU Compiler Collection and was initially published in 1987.[1][2] 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.[3] Starting in the mid-90s and until the mid-00s, a trend began where companies and new projects wrote their own licenses, or adapting others' licenses to insert their own name. This license proliferation led to problems of complexity and license compatibility.[4] One free software license, the GNU GPL version 2, has been brought to court, first in Germany 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.[5] 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.[6]

Free Software Foundation, the group that maintains The Free Software Definition, maintains a non-exhaustive list of free software licences.[7] The list distinguishes between free software licenses that are compatible or incompatible with the FSF license of choice, the GNU General Public License, which is a copyleft license. The list also contains licenses which the FSF considers non-free for various reasons, but which are sometimes mistaken as being free.

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 since the two organizations have different requirements for approving licenses.

Certain licenses restrict distribution in order to force derived projects to allow the freedom to use, study, modify, and redistribute the derived project. Some free software licenses carry requirements and restrictions which apply to distributors. 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".

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

The free software 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. This is sometimes 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[10] that "no license can guarantee future software availability" and that the disadvantages of GPL outweigh[11] 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, whereas a copyleft license does grant that freedom.

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.

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.

Licenses of software packages containing contradictory requirements, render it impossible to combine source code from such packages in order to create new software packages.[12]

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[13] or in commercial organisations.[14] For this reason, such licenses are not considered free software by the standards of the FSF, OSI, Debian, or the BSD-based distributions.

The FSF's free software definition further states that development and distribution must not be restricted.[15] Thus, commercial distribution of free software is acceptable and has become common.

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.[16] 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.[citation needed]

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, other than the right to require that modifications be recontributed to the community. 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.[17] As a result, the BSD is less free than the GPL, except on the naive view that freedom is the same as the lack of any restrictions. Since the BSD license restricts the right of developers to have changes recontributed to the community, 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. 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.

Regarding the GNU Free Documentation License, Debian decided to apply the DFSG to everything in their distribution, including documentation. The FSF argues that documentation is qualitatively different from software and is subject to different requirements. The end result of a long discussion and the eventual vote in Debian[18] was that the works licensed under the GFDL are considered free as long as they do not contain unmodifiable sections (what the GFDL calls "Invariant Sections"). Most GNU documentation includes Invariant Sections.

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.

^"OpenBSD Copyright Policy". the restriction that source code must be distributed or made available for all works that are derivatives [...] As a consequence, software bound by the GPL terms cannot be included in the kernel or "runtime" of OpenBSD