Current location - Trademark Inquiry Complete Network - Trademark inquiry - Common protocols for open source software
Common protocols for open source software

LGPL License

The LGPL license is the abbreviation of LESSER GENERAL PUBLIC LICENSE, also called LIBRARY GENERAL PUBLIC LICENSE, which is translated in Chinese as "Looser Public License" or " Function library public license". This license applies to some specially designed software packages - such as function libraries (Library) - by the Free Software Foundation and other software authors who decide to use this license. LGPL license is also a type of Free Software Alliance GNU open source software license. Most GNU software, including some function libraries, are protected by the original GPL license. The LGPL license is suitable for specially designed function libraries, and is very different from the original General Public License. It gives the licensee more relaxed rights, so it is called "Leaser Public License" certificate". Use it in specific libraries to allow nonfree programs to link with those libraries. When a program is linked to a library, whether statically or using a shared library, the combination of the two can reasonably be said to be a combined work, a derivative of the original library. Therefore, the original General Public License allowed linking only if the entire combination met its criteria for freedom. The Lesser General Public License allows other program code to be linked to the library under more relaxed standards. For example, in rare cases, there may be special needs that encourage the widest possible use of a particular library, thus making it a de facto standard. To achieve this goal, nonfree programs must be allowed to use the library. A more common situation is that a free library does the same job as a widely used non-free library. In this case, there is not much benefit in restricting the free library to only free software, so We use LGPL license. In other cases, allowing nonfree programs to use specific libraries allows more people to use large parts of free software. For example, allowing non-free programs to use the GNU C library would allow more people to use the entire GNU operating system, and its variant, the GNU/Linux operating system. Although the LGPL license provides less protection for users' freedom, it does ensure that users of programs linked to this library have the freedom and the necessary means to execute the program using a modified version of the library.

MPL License

MPL is the abbreviation of The Mozilla Public License. It is a software license designed by Netscape's Mozilla team in early 1998 for its open source software projects. The most important reason for the emergence of the MPL license is that Netscape believes that the GPL license does not well balance developers' needs for source code and the benefits they obtain from using the source code. Compared with the famous GPL license and BSD license, MPL is the same as them in many rights and obligations (because they are both open source software licenses that comply with OSIA recognition). However, in comparison, MPL has the following significant differences: ◆ Although MPL requires that modifications to the source code released under the MPL license must be sublicensed under the MPL license to ensure that others can Source code is shared under the terms of the MPL. However, the definition of "release" in the MPL license is "a file released in the form of source code", which means that MPL allows an enterprise to add an interface to its existing source code library, except for the source code of the interface program. While the code is licensed under an MPL license, the source code in the source code library can be compulsorily licensed without an MPL license. These leave a gap for the behavior of learning from other people's source code and using it for your own commercial software development. ◆ Article 3, Section 7 of the MPL License allows the licensee to mix the source code obtained through the MPL license with other types of its own code to obtain its own software program.

◆ Regarding the attitude towards software patents, the MPL license does not explicitly oppose software patents like the GPL license, but it clearly requires the source code provider not to provide source code that is already protected by a patent (unless he is the patentee himself and License these source codes to the public free of charge in writing), nor can you apply for patents related to these source codes after licensing these source codes in the form of an open source license. ◆ Definition of source code In the MPL (version 1.1) license, the definition of source code is: "Source code refers to the most preferred form for modifying the work, which includes: all source programs of all modules , plus the definition of the relevant interface, plus a 'script' that controls the installation and compilation of the executable work, or source code that is either significantly different from the original source code or has been selected by the source code contributor Program code available from the public domain. "◆ Article 3 of the MPL license has a special provision regarding the description of source code modifications, which requires all redistributors to have a special file. The time and method of modification of the source code program are described.

BSD License

The BSD license was originally used on each 4.4BSD/4.4BSD-Lite version released by the University of California, Berkeley (BSD is the abbreviation of Berkly Software Distribution) , and it was gradually used later. In 1979, the University of California, Berkeley, released BSD Unix, which is known as the pioneer of open source code. The BSD license developed with BSD Unix. The BSD license is now adopted by open source software such as Apache and the BSD operating system. Compared with the strictness of the GPL license and the MPL license, the BSD license is much more relaxed. You only need to attach the original text of the license, but what is more interesting is that it also requires all further developers to transfer their copyrights. The data is put there, so you may encounter a small situation when you get software released under the BSD license, that is, the license space of these copyrighted materials takes up more space than the program.

QPL License

QPL is the abbreviation of The Qt Public License, which was created by a Norwegian organization. The basic requirements of the QPL license are to obtain the source code, modify the source code, and separate the modifications from the original code; modifications can be combined into new versions according to the author's wishes; the binary code can have the same name as the original code, which is important for This is especially important for dynamic link libraries; errors can be corrected by anyone, which is critical for publishers of the system; and modified software can be released under any open source software license that meets the basic requirements of the QPL license.

QNCL License

The QNCL license is the abbreviation of Qt Non Commercial License and is the "sibling version" of the QPL license, just like the relationship between the GPL license and the LGPL license , the QNCL license is more stringent than the QPL license. In terms of modification and release regulations, the QNCL license is the same as the QPL license. The difference lies in the scope of the software, or in terms of connection. The QNCL license stipulates that "If an application provides you with an entrance that gives you the right to use the functions of the software under the QNCL license to develop programs, reuse part of the program or part of other software, then the application The use is deemed to be the use of software under the QNCL license, and the application shall be subject to the QNCL license." The QNCL license is more stringent than the QPL license in that, like the GPL license, the QNCL license completely prohibits the open source software obtained under this license from being released together with other software that is connected to non-system library functions through other licensing methods.

Common License

The full name of Common License is Common Public License.

After meeting the premise of OSIA open source software license certification standards, the Common license also has some detailed provisions worth referring to: ◆ Patent authorization is clarified. In general open source software, the copyright holder of the source code clearly licenses his/her modification rights, reproduction rights and other copyright rights to the public, but retains the right of authorship. On this basis, the Common License also clarifies that if the source code contains patent rights, The source code patentee licenses the exclusive right to copy and use to the public. ◆ Provides that source code and modified source code may be combined with other types of code not subject to this License and released in the form of new products, as long as the source code and modified source code obtained under this License can Just publish it according to the requirements of this license. ◆ The circumstances under which the license will be terminated are detailed, including the occurrence of patent infringement litigation. ◆ It clarifies the principle of independent responsibility, that is, if the user who uses the source code under this license applies the source code obtained for commercial use, then he must be responsible for any consequences that occur due to the use of the source code program in the commercial application. We shall bear full responsibility for any infringement lawsuits that arise. This provision is quite special, and most open source software licenses do not require this.

IBM License

The full name of the IBM license is IBM Public License. On the premise of meeting the OSIA open source software license certification standards, the IBM license also has the following detailed provisions: ◆ Patent authorization is clarified. Generally, open source software clarifies that the copyright holder of the source code licenses his/her modification rights, reproduction rights and other copyright rights to the public, but retains the right of authorship. On this basis, the IBM license also clarifies that if the source code contains patent rights, the source code The code patentee licenses the exclusive right to copy and use to the public. ◆ The circumstances under which the license will be terminated are detailed, including failure to release and use source code in accordance with the requirements of the license, patent infringement litigation, etc. ◆ Like the Common license, the IBM license also clarifies the principle of independent responsibility, that is, if the user who uses the source code under this license uses the source code obtained for commercial use, then he will be responsible for any errors that appear in the commercial application. assumes full responsibility for infringement lawsuits arising from the use of this source code program.

Jabber License

The full name of Jabber license is Jabber Open Source License, which is provided by Jabber, Inc. in the United States. The Jabber license is basically the same as other licenses in terms of source code copying and distribution regulations, but there are some detailed provisions worth learning from: ◆ Source code and modified source code obtained through this license can be combined with other types of licenses Combining code that is not subject to this license and releasing it in the form of a new product, as long as the source code and modified source code obtained under this license can be used in other products that are similar to the requirements of this license and comply with OSI certification. Released under an open source software license. ◆ It is clarified that the time required to make the source code available to the public should be at least 12 months. ◆ Statement of legal rights by third parties. If the user discovers that the source code and application programming interface obtained through this license have intellectual property rights owned by one party, he should make a separate statement with the title "LEGAL" when releasing the source code, stating the details of the intellectual property rights claims, The recipient of the source code is reminded to know which intellectual property rights have been authorized, and let the recipient of the source code know how to contact the intellectual property right holder. ◆ Details of the circumstances under which the license will be terminated, including failure to release and use source code as required by the license and occurrence of patent infringement litigation.

Protocol comparison

BSD open source protocol

BSD open source protocol is a protocol that gives users a lot of freedom. Basically, users can "do whatever they want" and can use it freely, modify the source code, or re-release the modified code as open source or proprietary software.

But the premise of "doing whatever you want" is when you release code that uses the BSD protocol, or develop your own products based on the BSD protocol code, you need to meet three conditions: ◆ If the re-released product contains source code, Then the source code must contain the BSD protocol in the original code. ◆If you redistribute only binary class libraries/software, you need to include the BSD protocol in the original code in the documentation and copyright statement of the class library/software. ◆Do not use the name of the author/organization of the open source code and 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.

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. The MIT protocol, also known as the MIT License, was originally developed by the Massachusetts Institute of Technology. Rights of the authorized person: 1. The authorized person has the right to use, copy, modify, merge, publish, distribute, sublicense and sell the software and copies of the software. 2. The authorized person can modify the authorization terms to the appropriate content according to the needs of the program. Licensee Obligations: A copyright notice and a license notice must be included in the Software and in all copies of the Software.

GNU GPL

The Linux we are very familiar with 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 ("use" refers to class library reference, modified code or derivative code) in a software, the software product must also adopt the GPL agreement, and it must be 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 GPL strictly requires that software products that use GPL class libraries must use the GPL protocol, open source codes that use the GPL protocol, commercial software, or departments that have code confidentiality requirements are not suitable for integration/adoptation as the basis for class libraries and secondary development. . Other details, such as the need to accompany the GPL agreement when redistributing, are similar to BSD/Apache, etc.

GUN LGPL

LGPL is an open source protocol of GPL designed mainly for use with class libraries. Unlike the GPL, which requires that any software that uses/modifies/derives a GPL class library must adopt a GPL license. LGPL allows commercial software to use LGPL class libraries through class library references (links) without requiring the code of open source commercial software. This allows open source code using the LGPL license to be referenced by commercial software as a class library and released and sold. However, if you modify the code or derivatives of the LGPL agreement, all modified code, additional code involving the modified part and derivative code must adopt the LGPL agreement. Therefore, the open source code of the LGPL protocol is very suitable for being referenced by commercial software as a third-party class library, but it is not suitable for commercial software that hopes to use the LGPL protocol code as a basis for secondary development through modification and derivatives.

Both GPL/LGPL protect the intellectual property rights of original authors and prevent others from using open source code to copy and develop similar products.

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). The conditions that need to be met are similar to BSD: ◆The user of the code needs to be given an Apache License. ◆If you modify the code, it needs to be stated in the modified file. ◆In extended code (code modified and derived from source code), the agreement, trademark, patent statement and other instructions stipulated by the original author need to be included in the original code. ◆If the re-released product contains a Notice file, the Apache License must be included in the Notice file. 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.