Open-source Protocol

Source: Internet
Author: User

During the process of learning technology, we often encounter some problems.Source codeIf you want to use it in a real project, you need to understand the Open Source protocol. Below I will briefly list some open source protocols that I often see on the Internet.

BSD open source Protocol

BSD open source protocol is a protocol that gives users great freedom to use and modify the sourceCodeYou can also release the modified Code as an open-source or proprietary software.

When you publish code that uses the BSD Protocol, or perform secondary development of your own product based on the BSD Protocol code, you must meet three requirements:
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 allows users to modify and re-release code, and also allows users to use or develop commercial software release and sales on BSD code, because
This is a friendly protocol for commercial integration. 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, it is described in the file to be modified.
    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 must be included.
    4. If the published product 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 (GNU General Public License)

We are familiar with the use of GPL in Linux. GPL protocol and BSD, Apache
License 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, but it cannot be modified or derivative
Code as a closed source commercial software release and sales. That's why we can use free Linux, including various Linux and Linux companies from individuals, organizations, and vendors.
Free software developed by software companies.

The main content of the GPL protocol is as long as you use ("use" refers to the class library reference, modified code or derivative code) the GPL protocol in a software product, 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 (GNU lesser General Public License)

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 a class library and
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 lgpl Protocol
Code can be referenced by commercial software as a third-party class library, but it is not suitable for commercial software that requires second-development based on lgpl protocol code.

GPL and lgpl both protect the intellectual property rights of the original author and prevent people from copying and developing similar products using open-source code.

MIT (MIT)

MIT is the same as BSD's wide-range license agreement. The author only wants to retain the copyright without any other restrictions. that is to say, you must include the original license agreement statement in your release, whether published in binary or source code.

CPL(Common public liecense) vesion 1.0

CPL is an open source protocol proposed by IBM and approved by OSI (Open Source Initiative. It is mainly used in some open-source software/projects related to IBM or IBM. Such as the well-known Java Development Environment eclipse and the RIA development platform open Laszlo. CPL is also a friendly protocol for commercial applications. It allows recipients to use, copy, distribute, disseminate, present, modify and modify the source code.Secondary commercial release of closed sourceThis is similar to BSD, which is also an open-source protocol with a high degree of freedom. However, you must follow the following steps:

    1. When a contributors releases the entire or part of the source code again, it must continue to follow the CPL open-source protocol for release, rather than using other protocols for release. Unless you are authorized by the original "source code" Owner.
    2. You can publish the source code commercially without any modification. However, if you want to open the source code after the modification, and when you release the object code, you must declare that its source code can be obtained, and you need to inform the Retrieval Method
    3. When you need to mix the source code under CPL as a part with other private source codes into a project for release, you can publish the entire project/product in a private protocol, however, you need to declare which part of the Code is under CPL, and declare that the part of the Code continues to follow Cpl.
    4. Independent module (separate module), no need for Open Source
MS-pl( Microsoft Public License)

MS-rl(Microsoft reciprocal License)

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.