User:TechTony/Source code license

Source code license is a is a legal instrument (usually by way of contract law (or it should be!)) governing the use, modification or redistribution of source code.

Source code licenses can vary immensely, as software developers can place whatever conditions of use on their source code as they so desire, within legal limitations, of course.

Permissive and restrictive source code licenses
Source code licenses can be categorized, in one way, according to their degree of permissiveness and/or restrictiveness. Some source code licenses, impose minimal conditions of use of the source code upon users (permissive licenses), while others impose more than just minimal conditions of use upon users(restrictive licenses). Conditions of use often regard copying, distribution, modification, integration within other source code, derivative works.

Source code licenses which are sold, be it for profit or not for profit, are usually restrictive so that profit, recovery of development costs, or other goals are not undermined. Open-source code licenses can span the range from permissive to restrictive. For examples, the BSD license and MIT license impart few conditions of use upon users and are therefore permissive, while the GNU GPL imparts a number of conditions of use upon software and is therefore restrictive.

OSI-approved "open source" licenses
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 requirement for approving licenses.

BSD-style licenses
The BSD license and the MIT license, give unlimited permission to use, study, and privately modify the software, and include only minimal requirements on redistribution. This gives a user the permission to take the code and use it as part of closed-source software or software released under a proprietary software license.

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.

GPL-style licenses
GNU General Public License-style (GPL) licenses, also knows as "copyleft" licenses, allow the end-user to use, study, and privately modify the software without accepting the license. However, if the user wishes to distribute the software, then the end-user must accept the conditions given in the software license. The GPL requires any derivative work to also be released according to the GPL.

BSD-style license vs. GPL-style license issues
Supporters of the BSD license assert that it is more permissive (or, then, less restrictive) than the GPL because it allows users to use the source code with minimal conditions of use. They hold that BSD-licensed software is second only to software in the public domain software in regards to minimal conditions of use. An assertion is made that GPL-style licenses, particularly the GNU General Public License (GPL), are undesirably complicated and/or restrictive.

BSD-licensed source code can be incorporated into proprietary products, leading to BSD code being used in common, widely used proprietary software. Supporters of the GPL license are against allowing the use of permissively-licensed source code in closed-source software.

Source code licensed under a permissive software license, such as the BSD license, can be incorporated into source code licensed under the restrictive GPL license. 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 only one-way-compatible, for the combination as a whole in the former scenario must be distributed under the terms of the GPL, and not the permissive license.

Many users and developers of BSD-based operating systems have a different positions on licensing. 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. (Indeed however, note that as of mid 2010 FreeBSD for example are moving from GCC to the upcoming 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.