"Go" open source license the difference between GPL, BSD, MIT, Mozilla, Apache, and LGPL

Source: Internet
Author: User

First borrow a fairly straightforward diagram of the people who are interested to divide the various protocols: Open source License GPL, BSD, MIT, Mozilla, Apache and LGPL differences

The following is a brief introduction to the above agreement:
BSD Open Source Agreement
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 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

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
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

MIT
MIT is the same wide license agreement as BSD, and 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 publish it in binary or source code.

MPL
The MPL is a shorthand for the Mozilla Public License, a software license designed by Mozilla Group Netscape in early 1998 for its open source software projects. The most important reason for the MPL license is that Netscape believes that the GPL license does not well balance the developer's need for source code and the benefits they derive from using the source code. Compared to the famous GPL license and BSD license, the MPL is the same as many of the rights and obligations (because they are all open source software licenses that are OSIA certified). However, there are several notable differences in MPL compared to the following:

The MPL requires that modifications to the source code issued by the MPL license be re-licensed in the form of an MPL license to ensure that other people can share the source under the MPL's terms. However, the definition of "release" in the MPL License is "file published as source code", which means that the MPL allows an enterprise to add an interface to its existing source code base, except that the source of the interface program is licensed in the form of an MPL license, The source code repository can be used to force external licensing without the MPL license. These, for reference to other people's source code for their own business software development behavior left a gap.
The MPL License in section 7th allows licensee to mix the source code obtained by the MPL license with its own other types of code to obtain its own software program.
In the case of software patents, the MPL license does not expressly object to software patents as the GPL permits, but expressly requires that the source code provider be unable to provide the protected source code (unless he is a patent owner, and that the source codes are freely licensed to the public in writing), It is also not possible to apply these source code licenses in the form of an open source license before applying for patents related to these source codes.
Definition of the source code
In the MPL (1.1 version) license, the source code is defined as: "The source code refers to the work to modify the first playable form, it includes: all the modules of all the source program, plus the definition of the interface, plus control of the installation and compilation of executable Works ' original ' (Original is ' Script '), or is not significantly different from the original source code is the source code contributor selected from the public domain can get the program code. ”
MPL License 3rd There is a special section on the source code changes to describe the provisions, that is, all the re-publishers have to have a special file on the source code changes in the time and the way the changes are described.

English Original: http://www.mozilla.org/MPL/MPL-1.1.html

"Go" open source license the difference between GPL, BSD, MIT, Mozilla, Apache, and LGPL

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.