Reprinted from the article: https: //www.oschina.net/news/90054/opensource-license-introduction
As a developer, if you intend to open your own code, do not forget to choose an open source license (license).
Many developers know very little of the open-source license, the license is not clear what should be how to choose. This article describes the basics of open-source licenses, the main reference OpenSource.com ( 1 , 2 ).
First, what is open source licenses
Open source license is a legal license. Through it, the copyright owner explicitly allowed, the user is free to use, modify and share copyrighted software.
Copyright law prohibits sharing default, meaning that no software licenses, equivalent to retain the copyright, although open source, users can only look at the source, can not use, a use would be a copyright infringement. So open source software, you must explicitly grant users of open source licenses.
Second, the kind of open-source licenses
At present, the internationally recognized open source license total more than 80 . Their common feature that allows the user free to use, modify, share source code, but have their own conditions of use.
If an open-source license without any conditions, even the retention of information is not required, then it is equivalent to giving up the copyright. In this case, the software can be declared directly into the "public domain" (public domain).
Depending on the conditions of use, open-source license is divided into two categories.
Loose fitting (permissive) license
Copyleft licenses
Third, relaxed style license
3.1 Features
Relaxed style license (permissive license) is the most basic type, almost no limit to the user. The user can close the modified source code.
It has three basic characteristics.
(1) there is no use restrictions
Users can use the code, do whatever you want.
(2) there is no guarantee
Does not guarantee the quality of the code, users own risk.
(3) disclosure requirements (notice requirement)
Users must disclose the original author.
3.2 Common License
Common loose fitting There are four licenses. They allow the user to use arbitrary codes, except that the different requirements of the user to comply with conditions.
(1) BSD (two terms edition)
When you distribute software, you must retain the original license statement.
(2) BSD (three terms edition)
When you distribute software, you must retain the original license statement. The original author's name should not be used as a promotional software.
(3)
When you distribute software, you must retain the original license statement, consistent with the BSD (two terms edition).
(4)Apache 2
When you distribute software, you must retain the original license statement. All modified files, you must explain to the user that the file modified; no modified files, the license must be kept unchanged.
Four, Copyleft licenses
4.1 Copyleft meaning
Copyleft is Richard Stallman a word invention, as the Copyright (copyright) of antonyms.
Copyright literal translation is "reproduction rights", which is the core of the copyright system, meaning without permission, users do not have to copy. As antonyms, Copyleft meaning is not licensed, the user can freely copy.
However, it comes with a prerequisite, to be more relaxed than the limit type license.
If you distribute a binary format, you must provide the source code
The modified source code must remain consistent with the previous permit modification
Not beyond the original license, have additional restrictions
The core of the above three conditions is this: the modified code can not Copyleft closed source.
4.2 Common License
Common Copyleft licenses are also four (limit user sorted from strongest to weakest).
(1) Affero GPL (AGPL)
If the cloud service (ie SAAS) is the code used by the license, the code must be open source cloud services.
(2) LPG
If the project contains the code of the GPL license, the entire project must be licensed under the GPL.
(3)LGPL
If the project uses dynamic link library call this license, the project may not open source.
(4)Mozilla(MPL)
Other files that license as long as the code in a separate file, the new can not open source.
V. Frequently Asked Questions
This section answers some frequently asked questions open-source license.
5.1 What is the distribution (distribution)?
In addition to Affero GPL (AGPL), additional licenses are prescribed only when the "distribution", only need to comply with the license. In other words, if you do not "distribute", you do not need to comply.
Simply put, it refers to the distribution of copyright works from one person to another. This means that if you own use is not available to others, there is no distribution. In addition, this "man" also refers to "legal person", so if you use a company party and in-house use only, do not need to comply with the license.
Cloud services (SaaS) constitutes "distribution" mean? The answer is not constituted. So you use open source software to provide cloud services, do not provide the source code. However, with the exception Affero GPL (AGPL) license, which provides cloud services must also provide source code.
5.2 How open source software patent process?
Some licenses (Apache 2 and GPL v3) contain explicit provisions to grant users permission to use proprietary software all included.
Other licenses (BSD, MIT and GPL v2) did not mention patents. But generally believed, they default to give users of the patent license does not constitute patent infringement.
Generally speaking, unless there is a clear "reservations patent" clause, the use of open source software will not constitute patent infringement.
5.3 What are the disclosure requirements?
All are open source licenses with a "disclosure requirements" (notice requirement), which requires distributors of software must be disclosed to the user, there are open source software.
In general, as long as you provide the software inside the full text of the original permit, and to disclose the original author, satisfied the "disclosure requirements."
5.4 GPL virus is that true?
GPL licensing requirements, as long as your project contains GPL code, the entire project would have become GPL. Some people call this contagious likened "GPL virus."
Many companies want to avoid this provision, it is necessary to use GPL software, not their own proprietary code open source. In theory, this can not be done. Because the design purpose of the GPL, is to prevent this situation.
But in fact, does not comply with GPL, the worst case is to be prosecuted. If you said it could not fulfill the conditions of the GPL to court, the judge will only decision you stop using GPL code (called "stop infringement" on the law), but you will not be mandatory source code open source, because it's "Copyright Law", "remedies for breach "There is no mention of default must be open source, it referred only to stop the infringement and damages.
Reprinted from the article: https: //blog.csdn.net/Erice_s/article/details/79992517