This article mainly analyzes and introduces several open source software protocols that are common among developers.
Mozilla Public License
MPLLicense allows free redistribution and free modification, but requires that the copyright of the modified code belongs to the originator of the software. This kind of authorization protects the interests of commercial software, and it requires free contribution of copyright to the software based on modifications of the software. In this way, the copyright of all code surrounding the software is concentrated in the hands of the originating developer. However, MPL allows modification and free use. MPL software has no requirements for linking.
BSD Open Source Agreement
BSD Open Source Agreement is an agreement that gives users great freedom. You can use it freely, modify the source code, and re-release the modified code as open source or proprietary software. When you release code that uses the BSD protocol, or develop your own product based on the BSD protocol code, you need to meet three conditions:
1. If the re-released product contains source code code, the BSD protocol in the original code must be included in the source code.
2. If only a binary class library/software is redistributed, the BSD protocol in the original code needs to be included in the documentation and copyright statement of the class library/software.
3. Do not use the name of the author/organization of the open source code or the name of the original product for marketing purposes.
BSD code encourages code sharing, but the copyright of the code author needs to be respected. BSD is a protocol that is friendly to commercial integration because it allows users to modify and redistribute code, and also allows commercial software to be released and sold using or developed on BSD code. Many companies prefer the BSD protocol when choosing open source products, because they can fully control these third-party codes and can modify or develop them again when necessary.
Apache License 2.0
Apache License is a protocol adopted by Apache, a well-known non-profit open source organization. This agreement is similar to BSD. It also encourages code owners to share and respect the copyright of the original author, and also allows code modification and redistribution (as open source or commercial software). Conditions that need to be met:
1. The user of the code needs to be given an Apache License
2. If you modify the code, it needs to be stated in the modified file.
3. In the extended code (code modified and derived from source code), the agreement, trademark, patent statement and other instructions specified by the original author in the original code need to be included.
4. If the re-released product contains a Notice file, the Notice file needs to contain an Apache License. You can add your own license to the Notice, but it cannot appear to be a change to the Apache License.
The Apache License is also a license friendly to commercial applications. Users can also modify the code to meet their needs when needed and publish/sell it as an open source or commercial product.
GPL
The GPL license is the most widely used software license for free software. People can modify one or several copies of the program or any part of the program to form a program based on Derivative works of these programs. Modified files must be accompanied by a clear statement that you modified this file and the date of any modification. You must allow works you post or publish, including all or part of the Program, or works derived from all or part of the Program, to be used by third parties under the terms of this License, and you must not And charges.
LGPL
Linux adopts the GPL. The GPL agreement is very different from licenses such as BSD and Apache License that encourage code reuse. The starting point of GPL is the open source/free use of code and the open source/free use of reference/modification/derivative code, but the modified and derived code is not allowed to be released and sold as closed source commercial software.
This is why we can use all kinds of free Linux, including Linux from commercial companies and various free software on Linux developed by individuals, organizations, and commercial software companies.
The main content of the GPL agreement is that as long as a product under the GPL agreement is used in a software ("use" refers to class library reference, modified code or derivative code), the software product must also adopt the GPL agreement. , which must be both open source and free. This is called "infectiousness". There is no problem in using GPL-licensed products as a separate product, and you can also enjoy the advantage of being free.
Since the GPL strictly requires that software products that use the GPL class library must use the GPL protocol, it is not suitable to integrate/adopt open source code that uses the GPL protocol, commercial software, or departments that have confidentiality requirements for the code as a class library. The basis for libraries and secondary development.
Other details such as re-distribution need to be accompanied by GPL agreement, similar to BSD/Apache etc.
Public Domain
Public Domain Authorization. License the software as public domain. These software packages do not have a licensing agreement and anyone can use it at will.
zlib/libpng
Anyone may use this software for any purpose, including commercial applications, as long as the origin of the software is not misrepresented and the original release notice is preserved
< p>Artistic license enables the author to maintain control over further development.MIT
MIT is the same broad license agreement as BSD. The author only wants to retain the copyright without any other restrictions. That is, you must include a statement of the original license agreement in your distribution, whether you distribute it as a binary or as source code.