Differences and connections between GPL and BSD and Apache

GPL and BSD and Apache

The difference between open source licenses GPL, BSD, MIT, Mozilla, Apache and LGPL
<ignore_js_op> The 

following is a brief introduction to the above protocol:
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 modify the source code, or they can release the modified code as open source or proprietary software.

But "whatever they want" a prerequisite when you use code released BSD agreement, protocol or places BSD code base to do secondary development of their own products, need to meet three conditions:

    if re-released product contains the source code, The BSD protocol in the original code must be included in the source code.
    If only the binary class library / software is released, the BSD agreement in the original code needs to be included in the class library / software documentation and copyright notice.
    The author / institution name of the open source code and the name of the original product cannot be used for marketing.

BSD code encourages code sharing, but the copyright of the code author needs to be respected. BSD is a very friendly agreement for commercial integration because it allows users to modify and redistribute the code, and also allows the use or development of commercial software to be released and sold on the BSD code. Many companies prefer the BSD protocol when choosing open source products, because they can fully control the codes of these third parties, and can modify or redevelop when necessary.

Apache Licence 2.0
Apache Licence is a protocol adopted by the famous non-profit open source organization Apache. The agreement is similar to BSD. It also encourages code sharing and respects the original author's copyright. It also allows code modification and re-release (as open source or commercial software). The conditions to be met are also similar

    to BSD: you need to give users of the code a copy of Apache Licence.
    If you modify the code, you need to explain it in the modified file.
    In the extended code (modified and derived code of the source code), it is necessary to carry the agreement, trademark, patent statement and other original author's instructions in the original code.
    If the re-released product contains a Notice file, then Apache Notice needs to be included in the Notice file. You can add your own license in Notice, but it cannot be reflected as a change to Apache Licence.

Apache Licence is also a license that is friendly to commercial applications. Users can also modify the code when needed to meet the needs and publish / sell it as an open source or commercial product.
GPL

We are very familiar with Linux is the use of GPL. The GPL and BSD, Apache Licence, and other licenses that encourage code reuse are very different. The starting point of the GPL is the open source / free use of code and the open source / free use of reference / modification / derivative code, but the modified and derivative 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 commercial company Linux and various free software developed by individuals, organizations, and commercial software companies on Linux.

The main content of the GPL agreement is that as long as it is used in a software ("use" refers to the class library reference, modified code or derivative code) GPL agreement products, the software product must also use the GPL agreement, which must also be open source and free . This is called "infectious". GPL agreement products are used as a single product without any problems, and you can also enjoy the advantage of free.

Since GPL strictly requires that software products using GPL libraries must use the GPL agreement, for open source code using the GPL agreement, commercial software or departments that have confidentiality requirements for the code are not suitable for integration / adoption as the basis for class libraries and secondary development .

Other details such as the need to accompany the GPL agreement when re-released are similar to BSD / Apache.

LGPL
LGPL is an open source agreement designed by GPL for use primarily by class libraries. Unlike the GPL, any software that uses / modifies / derivates GPL libraries must use the GPL protocol. LGPL allows commercial software to use LGPL class libraries through class library links without the need for open source commercial software code. This allows open source code that uses the LGPL protocol to be referenced by commercial software as a class library and released and sold.

However, if the code or derivative of the LGPL agreement is modified, all modified codes, additional codes and derivative codes involving modified parts must adopt the LGPL agreement. Therefore, the open source code of the LGPL agreement is very suitable as a third-party class library to be referenced by commercial software, but it is not suitable for commercial software that hopes to use the LGPL agreement code as a basis for secondary development through modification and derivative methods.

GPL / LGPL are the original author of protecting intellectual property rights, prevent people from copying and use of open-source development of similar products

MIT
License MIT and BSD is as wide range of authors want to retain the copyright, without any other restrictions. That , You must include a statement of the original license agreement in your distribution, whether you are releasing it in binary or source code.

MPL
MPL is short for The Mozilla Public License, which was open sourced by Netscape's Mozilla team in early 1998 Software license for software project design. The most important reason for the emergence of the MPL license is that Netscape believes that the GPL license does not balance the needs of developers for source code and the benefits they obtain from using source code. Compared with the well-known GPL license and BSD license, MPL is identical to them in terms of many rights and obligations (because they are in accordance with OSIA's open source software license). However, in comparison, MPL has the following significant differences:

◆ Although MPL requires that changes to the source code released under the MPL license also be re-licensed in the form of an MPL license, to ensure that others can share the source code under the terms of the MPL. However, the definition of "release" in the MPL license is "files released in source code", which means that MPL allows an enterprise to add an interface to its own source code library, except for the source of the interface program. The code is externally licensed in the form of an MPL license, and the source code in the source code library can be forcedly licensed without the MPL license. All of this leaves a gap for learning from other people's source code and using it for their own commercial software development.
◆ Article 3, paragraph 7 of the MPL license allows the licensee to mix the source code obtained through the MPL license with his own other types of code to obtain his own software program.
◆ With regard to software patents, the MPL license does not expressly oppose software patents like the GPL license, but it clearly requires that the source code provider cannot provide source code that has been protected by the patent (unless he himself is the patentee, and The book licenses these source codes free of charge to the public), 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 of modification of the work, which includes: all source programs of all modules , Plus the definition of the relevant interface, plus the "original" (original "Script") that controls the installation and compilation of executable works, or the source code that is significantly different from the original source code is selected by the source code contributor The program code is available from the public domain. "
◆ Article 3 of the MPL license has a special section on the description of the source code modification, which requires all redistributors to have a special file on the source code The program modification time and modification method are described.

Published 19 original articles · praised 4 · 170,000 views +

Guess you like

Origin blog.csdn.net/u011250186/article/details/105495038