Open source protocol Learning

Source: Internet
Author: User
Recently, I have been paying attention to a domestic JSF framework-AOM (apusic operamasks). I saw a post on the AOM open-source Protocol on its forum. I feel that I need to learn about the open-source protocol, the post provides better analysis and answers to the AOM protocol. Interested readers can view http://www.operamasks.org/bbs/apusic-operamasks/723751794
Knowledge about open source protocols is as follows:
 

GPL (GUN General Public License) vesion 2.0 1991
The most common open-source protocol, which is used as the authorization protocol for a well-known Linux. Two of the most notable characteristics of GPL are known on the Internet as "virus sexual transmission" and "commercial release of closed source is not allowed ".
The so-called "virus transmission" refers to the GPL rules that all sources derived from the GPL protocol authorization (that is, the derivativemodule mentioned above ), or projects mixed with the source code authorized by GPL must comply with the GPL protocol. Just like a virus, it is "poisoned" when the relationship is attached. The purpose of GPL is to ensure that products under the protection of GPL are no longer subject to any other agreement or authorization. That is, the source code related to GPL can be obtained for free. For example, if your improved Linux system uses the open-source module authorized by GPL (which must also be used, you cannot re-build the kernel by yourself. If so, you don't have to call it Linux either .), In this case, your entire Linux product must follow the GPL protocol to open source, and cannot be released in other ways. In this way, there will be no such Linux-this function is authorized by the GPL protocol, and the source code can be obtained for free. Another function is under other protocols and cannot obtain the source code. This provision is a great convenience for those who use or study the product.
"Closed-source commercial release is not allowed" means that, under the GPL authorization, your software products can be commercially released and sold for money. However, at the same time, you must also publish the source code of the product in the form of GPL protocol for free. Some people may be confused, sell, and open source at the same time. Who will buy it? How can this product make money ?? This involves the business model of open-source products. If you want to learn more about the business model, you can refer to some of the articles on the link I provided above. Later, I may write an article about the business model of open-source projects.
A key aspect of commercial release under the GPL protocol, as Robbin of the Java sight Forum said, GPL is the copyright of the software source code, not the copyright of the binary version after the software is compiled. You have the right to obtain the source code of the software for free, but you do not have the right to obtain the binary release version of the software for free. The only restriction of GPL on the software release version is that your release version must provide the complete source code together.

BSD (Berkeley Software Distribution)
Unlike GPL, BSD is an open-source protocol that gives people great freedom. Its biggest feature is that recipients can "Do whatever you want" the source code, modify it, use it freely, and release it in other ways (commercial or open-source) after modification ). However, when you do these things, you must follow the following rules:
1. If the re-release product contains the original "source code", the original "source code" must contain the BSD Protocol in the original code.
2. If only binary class libraries/software (object code/product) are released, 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.
In fact, the purpose of these rules is only to achieve one goal: it is something of others. If someone else is open-source with BSD, you cannot make any declaration and take possession of yourself, it cannot be used for commercial promotion in the name of another person. You only have absolute control over your own things.
For example, after you use open source code (A) to modify or add other products, product B is generated. At this time, your control over B is determined by yourself, you can use any protocol to make it open-source, or close the source for commercial release. However, if B contains a part of A or a (not included at all), then in the copyright statement of product B, it must be mentioned that you have used a and come with the Open Source protocol of. In addition, B cannot be named as the original open-source author to promote commercial promotion.
BSD Code encourages code sharing, but it must respect the copyright of the Code author. BSD is a friendly protocol for business integration because it allows users to modify and re-release code, and also allows users to use or develop commercial software release and sales on BSD code. 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 vesion 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: (the original English text is provided to facilitate more accurate understanding)
1. A copy of Apache licence is required for the recipients.
(You must give any other recipients of the work or derivativeworks a copy of this License)
2. If you have modified the code, you must describe it in the modified file.
(You must cause any modified files to carry prominent noticesstating that you changed the files)
3. In the derivative module (Code derived from modification and inclusion of source code), the protocols, trademarks, patent statements and other instructions required by the original author must be included.
(You must retain, in the source form of any derivativeworks that you distristri, all copyright, patent, trademark, and attribution noticesfrom the source form of the work, excluding those notices that do not pertain to anypart of the derivative works)
4. If the product to be released 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 the composition of apachelicence.
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.

Lgpl
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 class libraries for concurrent 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 code of the lgpl protocol is suitable for being referenced by commercial software as a third-party class library, but it is not suitable for the lgpl protocol code, secondary Development of commercial software is implemented through modification and derivative methods.

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 source code, and implement secondary commercial release of closed source after modification. This is similar to BSD, it is also an open-source protocol with high degrees 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. Under the CPL protocol, you can release the source code without any modification. However, if you want to open the source code after modification, and when you release objectcode again, you must declare that its source code can be obtained, and 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 modules (separate module), no need for Open Source

 

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.