(1) Contributors and Recipients
Contributors refers to the person or entity (team, company, organization, etc.) that has provided code (including the original or modified) to an open source software or project, and Contributors according to the time of the open source of the participating software, can be divided into an initial Contributor and subsequent Contributors.
Recipients refers to open source software or project acquisition, obviously, subsequent Contributors also belong to the recipients of the column.
(2) Source Code and Object code
Source code refers to a variety of languages written in the sources, through the source codes, combined with the document, you can understand the entire software architecture and specific to a functional function of the implementation method.
Object code refers to the source code after compiling, generated similar to the "Class library", providing a variety of interfaces for others to use the target code, as I understand it, it is like common DLL, AtiveX, OCX control of the nature of things. (I don't know if that's the right thing to do). The purpose of these two concepts is that some open source, only the object Code, of course, most of the release is source code. Many protocols also have a clear constraint on what kind of code you are releasing.
(3) Derivative module and separate module the
Derivative module refers to the original "source code" of code generated by or containing the "original" or "open source" code obtained from others Enhancement (not equal to increase), improvement and continuation of the module, meaning "derivative module".
Separate module refers to, refer to or with the help of the original "source code", developed independent, does not contain, does not rely on the original "source code module", meaning "the Independent module". The purpose of understanding these two concepts is that many agreements are related to commercial release, which are derivative, which are independent, and have clear commercial publishing rules.
Next, let's talk about some common protocols. In fact, I gave a few articles in the link in the face of some common open source agreement has a relatively clear description, I here is just add a person's some understanding, hope to contact less people have certain help. &NBSP
GPL (Gun general public License) vesion 2.0 1991
The most common open source protocol, using it as the licensing protocol for the famous Linux. The two most notable features of the GPL are "viral transmission" and "non-closed-source commercial release", which are known online.
The so-called "viral transmission" means that, under the GPL, all the sources derived from the source code authorized by the GPL (that is, the derivativemodule mentioned above), or project that is mixed with the GPL-licensed source code, are subject to the GPL, Just like a virus, sticking to a relationship, it's "poisoned". The purpose of the GPL is to ensure that products protected under the GPL are not subject to other agreements or authorizations. That is, the GPL-related source code can be obtained free of charge. For example, if you use the GPL-licensed open source module in your improved Linux (and you have to use it, you can't go back to the kernel yourself, and if you do, you don't need to call Linux.) ), then your entire Linux product must also follow the GPL agreement to open source, not other ways to open source, and not allow closed source release. In this way, there will not be such a linux--this feature is licensed under the GPL, free access to the source code, and another feature is under other protocols, can not get the source code. This provision is a great convenience for those who use or study the product.
and "Do not allow closed source commercial release" means that, under the GPL, your software product can be commercially released and sold, but at the same time, you must also publish the source code of the product in GPL mode for free access to others. Maybe some people will be confused, take to sell, and at the same time open source, then who buy ah? How does this product make money?? This involves the open source product business model question, wants to know some related information, may see above I give the link some articles. As for the following, an essay on the business model of open source projects may be written.
A key point of commercial publishing under the GPL is like the Java Vision Forum Robbin that the GPL is copyright to the software source code, not to the software-compiled binary version. You have the right to free access to the source code of the software, but you do not have the right to obtain the software's binary release free of charge. The only limitation of the GPL to a software release is that your distribution must provide the full source code together. &NBSP
BSD (Berkeley software distribution)
is very different from the GPL, and the BSD protocol is an open source protocol that gives people great freedom. Its biggest feature is that Recipients can almost "do whatever" the source code, can be freely modified, free to use, modified and then published in other ways (commercial or open source). But, when you do these things, you still have to follow these rules:  
1. If the re-published product contains the original "source code", then in the original "source code" must have the original code in the BSD protocol.
2. If you re-publish only the Binary class library/software (Object code/product), you need to include the BSD protocol in the original code in the class library/software documentation and copyright notice.
3. The author/organization name of the open source code and the name of the original product may not be used for marketing.
In fact, the purpose of these rules are only to achieve a purpose: is someone else's thing, others to BSD open source, you can not make any statement and accounted for yourself, but not in the name of others to do business promotion. You only have absolute control over your own things.
For example, you use open source code (A) to modify or make other additions, resulting in product B, at this time, your control of B is up to you, you can use any protocol to open source, or closed source commercial release. However, because if B contains a part of a or a (not at all is not called modification), then you in the B product's copyright notice, you must mention that you have used to a, and attached to a open source agreement. And can not do business promotion when the B is the name of the original open source author to promote business promotion. The
BSD code encourages code sharing, but requires respect for the copyright of the author of the Code. BSD is a friendly agreement for business integration because it allows the user to modify and republish the code, and also allows the use or development of commercial software to be published and marketed on BSD code. And a lot of companies in the selection of open source products are preferred BSD protocol, because they can completely control these third-party code, when necessary can be modified or two times development. &NBSP
Apache Licence vesion 2.0
The
Apache Licence is the protocol used by the famous nonprofit open source organization Apache. The agreement is similar to BSD, encouraging code sharing and respecting the authorship of the original author, as well as allowing the code to be modified and republished (as open source or commercial software). The conditions to be met are similar to BSD: (equipped with the original English text, convenient and more accurate understanding)
1. Need to give Recipients a copy of Apache licence
(you must give any and Recipients of the work or derivativeworks a copy of this License)
2. If you modify the code, you need to explain it in the modified file.
(must cause any modified files to carry prominent noticesstating. Changed the files);
3. In the derivative module (the code that is derived from the modification and inclusion of the source code) requires an agreement with the original code, a trademark, a patent statement, and other instructions that are required by the original author.
(you must retain, in the Source form of any derivativeworks so you distribute, all copyright, patent, Trademar K, and Attribution noticesfrom the Source form of the work, excluding those notices that does not pertain to Anypart of the Derivative Works)
4. If the rereleased product contains a notice file, the Apache Licence is required in the notice file. You can add your own permission to the notice, but you may not be able to represent changes to apachelicence.
Apache licence is also a friendly license to commercial applications. Users can also modify the code as needed to meet their needs and publish/sell as open source or commercial products.
lgpl
The
LGPL is an open source protocol for the GPL that is designed primarily for use in class libraries. And the GPL requires that any software that uses/modifies/derives from the GPL library must be different from the GPL agreement. LGPL allows commercial software to use the LGPL class library through the Class Library Reference (link) without the need for code for open source commercial software. This allows open source code with the LGPL protocol to be referenced and published and sold as a class library by commercial software.
However, if the code or derivation of the LGPL protocol is modified, all the modified code, the additional code involved in the modification, and the derived code must adopt the LGPL protocol. The open source code of the LGPL protocol is therefore well suited to be referenced by commercial software as a third-party class library, but it is not intended to be used as a commercial software that is developed two times through modification and derivation, based on LGPL protocol code.
CPL (Common public liecense) vesion 1.0
CPL is an open source protocol proposed by IBM and approved by the OSI (open source Initiative). Mainly used in some IBM or IBM-related open source software/projects. such as the well-known Java development environment Eclipse, RIA development platform open Laszlo and so on.
Cpl is also a friendly agreement for business applications. It allows Recipients to make arbitrary use of the source code, reproduction, distribution, dissemination, display, modification and after the two commercial release of closed source, which is similar to BSD, also belong to a high degree of Freedom Open Source protocol. However, you need to follow:
1. When a contributors the whole or part of the source code is released again, it must continue to follow the CPL Open source agreement to publish, and not to use other protocols published. Unless you are authorized by the original "source" Owner.
Under the 2.CPL protocol, you can publish the source code without making any changes. But if you are going to open up the modified source, and when you re-publish the Objectcode, you have to declare that its source code is available, and tell the acquisition method
3. When you need to mix the CPL under the source code as a part of the other proprietary source to be a project release, you can publish the entire project/product as a private agreement, but to declare which part of the code is CPL, and declare that part of the code continues to follow the CPL.
4. Independent modules (separate module), no need for open source.
Paul Bagwell, a Ukrainian programmer, drew an analysis of the six most popular open source licenses----GPL, BSD, MIT, Mozilla, Apache, and LGPL.
Open Source Agreement (reprint)