Open Source License Agreement summary

Source: Internet
Author: User

Reference Documentation:



What is a license agreement?

What is a license, when you issue a license for your product, you are selling your rights, but you still have the copyright and the patent (if you apply), the purpose of the license is to provide certain privileges to the person who uses your product.

Whether the product is free to distribute to the public, or sell, it is very useful to make a license agreement, otherwise, for the former, you are tantamount to giving up all your rights, no one is obligated to show your original authorship, for the latter, you will have to spend more than the development of energy to deal with the user's authorization problem.

and the open source license makes these things simple, and it's easy for developers to contribute their code to a project that protects the identity of your original author, giving you at least a recognition, and an open source license that prevents others from keeping a product for themselves. The following are the 5 major licensing agreements for the open source community.

OSI: Open source Initiative,

License Agreement approved by OSI:

Understanding the License Agreement Contributors (contributor)-refers to the person or entity (team, company, organization, etc.) that provided code (including the original or modified) to an open source software or project. According to the order of contributions can be divided into "founder" (an initial contributor) and "participants" (subsequent Contributors). Recipients (the person who acquired it)-Refers to users of open source software or projects. Obviously, subsequent contributors also belongs to the recipients. source code (source)--refers to the source code written in various languages. object Code (target)--refers to the source code after compiling, generated similar to the "Class library", provides a variety of interfaces for others to use the object (such as DLL, jar, etc.). derivative module (derived modules)--The code that relies on or contains "original" or "open source" from others is an enhancement, improvement, and continuation of the "Source code module". separate module (standalone modules)-Refers to the use of "source code" developed by the Independent, does not contain, do not rely on the original "Source code module" function module.

Understanding Open Source License Agreement:


GNU general public Licence, the GPL guarantees that the source code and its derivative will always remain open source, does not allow the post-modification and derivative code to be released and marketed as a closed source commercial software, and does not apply to commercial software. This license agreement is used by Linux.

The GPL is "contagious" and as long as it is used in a software ("Use" refers to a class library reference, modified code or derivative code) of the GPL-licensed product, the SOFTWARE product must also be under the GPL, both open source and free.

The GPL is for software Copyright of source code, rather than the software-compiled binary version of the copyright. You have the right to free access to the source code of the software, but you do not have the right to obtain the software's binary release free of charge. The only limitation of GP to a software release is that your distribution must be provided with the full source code. -Robbin from the Java Vision Forum Rule terms:
    • Ensure that the software is published in open source form from start to finish, protecting development results from theft for commercial sale. Any set of software, provided that the source of the third-party software protected by the GPL is used and published to non-developers, the software itself automatically becomes a GPL-protected and constrained entity. In other words, it must open the source code at this time.
    • The GPL is generally a left-hand copyright (Copyleft, or translated as "anti-copyright", "copyright belongs to the left", "copyright is not", "version of the responsibility", etc.) embodiment. You can get rid of all the original copyright information, as long as you keep open source, and with the source code, binary plate with the GPL license, so that posterity can be very clear about this software licensing information. The essence of the GPL is that, as long as the software in the case of full open source, as far as possible to allow users to free play space, so that the software to achieve faster and better development.
    • Regardless of the form in which the software is published, the source code must be attached. For example, to provide a download on the Web, you must download the same page in the binary version (if any), providing a clear link to the source code download. If you publish as a disc, you must also attach a CD-ROM of the source file.
    • Companies or individuals that develop or maintain software developed under the GPL may charge a service fee for the user. However, the full source code of the software must be provided free of charge, and the source code should not be bundled with the service or bundled in any disguised form.

Some of the protocols used for some programs have some problems and limitations, and you can take a look at the article @PierreJoye written by practical Guide to the GPL Compliance. With the GPL protocol, you must include the appropriate information in the source code and the protocol itself.


Lesser general public LICENCE,LGPL allows commercial software to use the LGPL class library through the Class Library Reference (link) without the need for open source commercial software code, which enables open source code with the LGPL protocol to be referenced and published and marketed by commercial software as a class library. Suitable for open source class libraries or frameworks for non-GPL or non-open source products.

GPL/LGPL protects the original author's intellectual property and avoids the use of open source code to replicate and develop similar products.

Rule terms:

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 code that references or modifies LGPL and its derivation must also use LGPL open source, the code originating from the closed source does not need to be open source).

The open source code of the LGPL protocol is therefore well suited as a third-party class library to be directly referenced by commercial software, but is not intended to be used as a two-time commercial software development based on open source code, modified and derivative.


(Berkeley software Distribution, Berkeley Software suite), BSD has fewer software distribution limitations than other open source agreements such as the GNU GPL. There are several versions of the protocol, the most significant of which are two, the new BSD protocol and the simple BSD protocol, both of which are modified to be compatible with the GPL and are recognized by the open source organization.

Encourage code sharing, require respect for the authorship of the original author, allow the user to modify and republish the code (in other forms), and allow closed source commercial release and sale.

Rule terms:

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

The new BSD (BSD 3-clause, 3) in the software distribution, in addition to the need to include a copyright notice and disclaimer, there are no restrictions. In addition, the Agreement prohibits the endorsement of derivative products on behalf of the developer, but the simple BSD agreement (BSD 2-clause, section 2) removes this provision.


Apache licence is the protocol used by the famous non-profit open source organization Apache. Apache Protocol 2.0 and other open source agreements, in addition to providing users with copyright licenses, there is a patent license , for those involved in the patent content of the developer, the agreement is the most suitable (here is an article to explain this problem).

Encourage code sharing, require respect for the authorship of the original author, allow the user to modify and republish the code (including in other forms), and allow closed source commercial release and sale.

Rule terms:

    • Give the code user a copy of Apache Liences. (The person participating in the development is recognized in the statement and contains a copy of the original license agreement)
    • If the code is modified, it needs to be described in the modified file.
    • The modified or derived code requires an agreement, a trademark, a patent statement, and other claims that the original author requires to be protected in the original code.
    • If you re-release the product to protect notice, the notice file will have Apache Liences, which can be added to your license, but not as a change to Apache Lience.


MIT protocol, from MIT, also known as x License, X11 License. As loose as BSD.

Only the copyright of the author is required and there are no other restrictions.

Rules of the terms:

    • The software and its related documentation are free for all and can be disposed of, including use, reproduction, modification, merger, publication, distribution, re-authorization, or sale.
    • The only limitation is that the original copyright and license notices must be included in the software, either in the source code or in the binary release.

MPL License (Mozilla public License)

Allows free re-posting, free modification, but requires the modified code to be copyrighted by the originator of the software.

This authorization maintains the interests of commercial software, and it requires the free contribution of copyright to the software based on the modification of such software.

In this way, all the code around the software is copyrighted and is concentrated in the hands of the initiating developer.

But the MPL is allowed to be modified, free to use.

The MPL software does not require links. (Requires that if you modify a source code based on the MPL protocol, you must include or disclose your modifications if the other source code is not based on the MPL and does not need to expose its source code)


Common Development and distribution License, the general development and sales License Agreement, is an extension of the MPL (Mozilla public License), which allows for the use of publicly copyrighted, royalty-free, and patent protection, can be integrated into commercial software, allowing self-publishing of licenses.


The Eclipse public License 1.0,EPL allows recipients to use, copy, distribute, transmit, display, modify, and change two commercial releases of the closed source at any time.

Rule terms:
    • When a contributors the whole or part of the source code is released again, it must continue to follow the EPL open source agreement to publish, but not to use other protocols. Unless you have the original "source" Owner's authorization;
    • Under the EPL agreement, you can publish the source code without making any changes. But if you want to post the modified source code, or when you re-publish the object code, you have to declare that its source code is available, and to inform the acquisition method;
    • When you need to EPL the source code as a part of the other private source mixed with the other to become a project release, you can put the entire project/product as a private agreement, but to declare which part of the code is EPL, and declare that part of the code continues to follow EPL;
    • Standalone modules (separate module), without the need for open source.
Creative Commons

Creative Commons (CC), a Knowledge sharing license agreement, is not a strictly open source license, it is designed primarily for the purpose of using the Knowledge Sharing license agreement on your work, and does not imply a waiver of your copyrights, but rather grants your part of your rights to users in the public domain under certain conditions. Creative Commons has a variety of protocols, each of which provides the appropriate licensing model, but is primarily composed of the following 4 basic rights combinations:

    • Attribution rights
      The reproduction, distribution, exhibition, performance, screening, broadcasting or dissemination of information to the public through the network of Works and derivative works shall be permitted, but must be signed in the name of the original author in these processes.
    • Non-commercial
      Reproduction, distribution, exhibition, performance, screening, broadcasting, or dissemination through the information network to the public, for non-commercial purposes only, is permitted for works and derivative works. But the definition of business is vague, for example, some people think that non-commercial use refers to the inability to sell, some think it is not even on the advertising site, some people think that non-commercial means non-profit.
    • Cannot derive new works
      Reproduction, distribution, exhibition, performance, screening, broadcasting or dissemination to the public through an information network shall be permitted without deduction.
    • Stay consistent
      The release of derivative works is permitted only if the new work is in the same license agreement as the original work.

These licensing forms can be combined with the most severe combination of " attribution, non-commercial, not derivative works ", which means that you can share the work but cannot change or profit from it, and must be signed by the original author. In this licensing model, the original author also has complete control over the work, and the most relaxed combination is " attribution ", meaning that it is free to dispose of as long as the original author's signature is used.

How to choose an open source protocol

Open Source License Agreement summary

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