This article is referenced in the literature: http://www.fsf.org/licensing/licenses/
There are many open source agreements that exist today, and there are currently 58 types of open Source initiative that have been approved by the organization. Our common open source agreements such as BSD, GPL, lgpl,mit, etc. are all OSI-approved protocols. If you want to open up your own code, it's best to choose these approved open source protocols.
Here we look at four of the most common open source protocols and their scope for developers/manufacturers who are ready to open source or use open source products.
BSD Open source Protocol (original BSD license, FreeBSD license, original BSD license)
The BSD Open source agreement is an agreement that gives users a great deal of freedom. Basically users can "do whatever", can use freely, modify the source code, you can also use the modified code as open source or proprietary software re-release.
But the premise of "doing what you want" when you publish code that uses the BSD protocol, or two times to develop your own product based on the BSD protocol code, you need to meet three conditions:
If the re-published product contains source code, it must be in the source code with the BSD protocol in the original code.
If you re-publish only binary class libraries/software, you need to include the BSD protocol in your original code in the class library/software documentation and copyright notice.
The author/organization name of the open source code and the name of the original product may not be used for marketing.
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.
Apache Licence 2.0 (Apache License, version 2.0, Apache License, version 1.1, Apache License, version 1.0)
Apache licence is the protocol used by the famous non-profit 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 that need to be met are similar to BSD:
- Need to give code to users a copy of Apache Licence
- If you modify the code, it needs to be changed again in the file described.
- In the extended code (modified and in code derived from the source code) need to have the original code of the Agreement, trademarks, patent statements and other original author rules need to include the instructions.
- 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 make changes to Apache licence.
- Apache licence is also a friendly license for commercial applications. Users can also modify the code as needed to meet their needs and publish/sell as open source or commercial products.
GPL (GNU general public License)
We are familiar with the use of Linux is the GPL. Licenses that encourage code reuse, such as the GPL and BSD, Apache licence, are very different. The starting point of the GPL is the code of open source/free use and citation/modification/derivative code of Open source/free use, but does not allow the modification and derivative of the code to be released and marketed as closed source commercial software. That's why we can use a variety of free Linux, including free software developed by individuals, organizations, and commercial software companies on Linux and Linux in commercial companies.
The main content of the GPL agreement is that the SOFTWARE product must also be licensed under the GPL, both open source and free, as long as it is used in a software ("Use" refers to a class library reference, modified code or derivative code) of the GPL-based product. This is known as "contagious". GPL products are used as a standalone product without any problems and can also enjoy the benefits of free.
Since the GPL is strictly required for software products that use the GPL class library, it is not appropriate for an open source code that uses the GPL agreement to use a business software or a department that has confidentiality requirements for the code to integrate/adopt as the basis for a class library and two development.
Other details, such as Bsd/apache, need to be accompanied by the GPL and other similar issues.
LGPL (GNU Lesser general public License)
LGPL is a GPL-open source protocol 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 you modify the code or derivation of the LGPL protocol, 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.
GPL/LGPL protects the original author's intellectual property and avoids the use of open source code to replicate and develop similar products.
Four open source protocol comparisons: BSD, Apache, GPL, LGPL