Source: http://mixiaobo.cnblogs.com
Indirect Source: http://www.juntuan.net
Open source is already widely used in today's software industry, but does it mean that users canCodeWhat do you want? The answer is no. Open-source sports also have their own game rules and ethics. Failing to comply with these rules will not only damage the healthy development of the open source movement, but also cause reputational and market losses to violators, and more likely fall into legal disputes and compensation.
There are many open-source protocols, and there are currently 58 open-source protocols approved by the Open Source Initiative Organization. Common open-source protocols such as BSD, GPL, lgpl, and MIT are OSI-approved protocols. If you want to open up your own code, it is best to select these approved Open Source protocols.
Here we will look at the four most commonly used open-source protocols and their applicability for the reference of developers/manufacturers who are preparing to open-source or use open-source products.
BSD open source Protocol
BSD open source protocol is a protocol that gives users great freedom. Basically, users can "do whatever they want" and can freely use and modifySource codeYou can also release the modified Code as an open-source or proprietary software.
However, when you publish code using the BSD Protocol or develop your own product based on the BSD Protocol code, you must meet the following three conditions:
1. If the released product contains the source code, the BSD Protocol in the original code must be included in the source code.
2. If you only release binary class libraries/software, you must include the BSD Protocol in the original code in the Library/software documentation and copyright statement.
3. Open-source author/organization name and original product name cannot be used for marketing.
BSD Code encourages code sharing, but it must respect the copyright of the Code author. BSD is a friendly protocol for business integration because it allows users to modify and re-release code, and also allows users to use or develop commercial software release and sales on BSD code. Many companies prefer the BSD Protocol when selecting open-source products, because they have full control over these third-party code and can modify or perform secondary development as necessary.
Apache licence 2.0
Apache licence is a well-known non-profit open-source Apache protocol. Similar to BSD, this Protocol also encourages code sharing and respect for the copyright of the original author. It also allows code modification and re-release (as an open source or commercial software ). The conditions to be met are similar to those of BSD:
1. A copy of Apache licence is required for the code user.
2. If you have modified the code, you need to modify it in the file.
3. In the extended code (Modification and code derived from source code), the Protocol, trademark, patent statement in the original code and other instructions required by the original author shall be included.
4. If the product to be released contains a notice file, Apache licence must be included in the notice file. You can add your own license to notice, but it cannot be expressed as a change 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 release/sell as open-source or commercial products.
GPL
We are familiar with the use of GPL in Linux. The GPL protocol and BSD, Apache licence, and other licenses that encourage code reuse are very different. The starting point of GPL is the open-source/free use of code and the open-source/free use of reference/modification/derivative code, however, modification and derivative Code cannot be released and sold as commercial software with closed source. That's why we can use a variety of free Linux, including commercial companies' Linux and Linux various free software developed by individuals, organizations, and commercial software companies.
The main content of the GPL protocol is as long as it is used in a software ("use" refers to the class library reference, modified code or derivative code, the software must also adopt the GPL protocol, which is both open-source and free. This is the so-called "contagious ". The GPL protocol product can be used as a separate product without any problems. You can also enjoy the free advantage.
Because GPL strictly requires that software products that use the GPL class library use the GPL protocol, for open source code that uses the GPL protocol, commercial software or departments that require code confidentiality are not suitable for integration/adoption as the basis for class libraries and secondary development.
Other details, such as the GPL Protocol, must be similar to BSD/Apache.
Lgpl
Lgpl is an open-source protocol designed mainly for class libraries. Unlike GPL, any software that uses/Modifies/derives the GPL class library must use the GPL protocol. Lgpl allows commercial software to use the lgpl class library through class library reference (Link) without the need for open source commercial software code. This allows open source code using the lgpl protocol to be referenced by commercial software as class libraries for concurrent release and sales.
However, if you modify or derive the lgpl protocol code, all the modified Code, the additional code involved in the modification part, and the derived code must adopt the lgpl protocol. Therefore, the open source code of the lgpl protocol is suitable for being referenced by commercial software as a third-party class library, but it is not suitable for the lgpl protocol code, secondary Development of commercial software is implemented through modification and derivative methods.
GPL and lgpl both protect the intellectual property rights of the original author and prevent people from using open-source code to copy and develop similar products.
Open source protocol list
License Approval process
License information
* Academic free license
* Adaptive Public License
* Apache Software License
* Apache licensing, 2.0
* Apple public source license
* Artistic license
* Attribution assurance licenses
* New BSD license
* Computer Associates trusted open source license 1.1
* Common development and distribution license
* Common Public License 1.0
* CUA Office Public License Version 1.0
* EU DataGrid software license
* Eclipse Public License
* Educational community license
* Eiffel Forum license
* Eiffel Forum license V2.0
* Entessa Public License
* Fair license
* Frameworx license
* GNU General Public License (GPL)
* GNU Library or "lesser" General Public License (lgpl)
* Historical permission notice and disclaical
* IBM Public License
* Intel open source license
* Jabber open source license
* Lucent Public License (plan9)
* Lucent public license version 1.02
* Mit license
* Mitre collaborative virtual workspace license (cvw License)
* Motosoto license
* Mozilla Public License 1.0 (MPL)
* Mozilla Public License 1.1 (MPL)
* The NASA open source agreement 1.3
* Naumen Public License
* Nethack General Public License
* Nokia open source license
* OCLC research Public License 2.0
* Open Group test suite license
* Open Software License
* PHP license
* Python license (CNRI Python License)
* Python Software Foundation license
* QT Public License (qpl)
* RealNetworks public source license V1.0
* Reciprocal Public License
* Ricoh source code Public License
* Sleepycat license
* Sun industry standards source license (sissl)
* Sun Public License
* Sybase open Watcom Public License 1.0
* University of Illinois/NCSA open source license
* Vovida software license v. 1.0
* W3C license
* Wxwindows library license
* X. net license
* Zope Public License
* Zlib/libpng license