Attention should be paid to open-source protocols

Source: Internet
Author: User
Http://inthirties.com: 90/viewthread. jsp? Tid = 1396 & frombbs = 1
Today, a former company colleague asked me about the types of open source protocols.

Common open-source protocols include GPL, lgpl, Apache, and BSD. Some special Java open-source projects do not fully comply with the mainstream open-source protocols.
Note. Therefore, when choosing your own technical framework and introducing open-source packages, you must pay special attention to this. Previously in the company
It also collects many protocol models for open-source packages. However, it is a pity that I have lost it for one or two years.

I have listed some open-source protocols that I have learned before. I would like to record them in conjunction with online materials.

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 it is used in a software program ("use" refers to the class library reference, modified code or derivative code) GPL
Protocol product, the software product must also adopt the GPL Protocol, both open source and free. This is the so-called "contagious ". The GPL protocol product is 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, commercial software or departments that require code confidentiality are not suitable for integration/collection.
It serves 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 code of the lgpl protocol is very
It is suitable for commercial software that is referenced as a third-party class library, but not suitable for commercial software that requires Second Development by modifying and deriving the 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.

The above two are relatively strict open source protocols. It can be used, but it should not be changed. If it is changed, it must be released in the form of GPL, that is, the source code, rather than the package. Obviously, this
It is quite uncomfortable to develop some commercial software.

BSD open source protocol (original BSD license, FreeBSD license, original BSD license)

BSD open source protocol is a protocol that gives users great freedom. Basically, users can "do whatever they want", freely use, modify the source code, or use the modified Code as open-source or proprietary software.
Release again.

However, when you publish code using the BSD Protocol or develop your own product based on the BSD Protocol code, you must meet the following three conditions:

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 sharing is encouraged, but the author's copyright must be respected. BSD allows users to modify and re-release code, and can also use or develop commercial software release and sales on BSD code.
Friendly protocols for business 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 license 2.0 (APACHE license, version 2.0, Apache license,
Version 1.1, Apache license, version 1.0)

Apache
Licence is a protocol adopted by Apache, a famous non-profit open-source organization. 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 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, you need to modify it in the file.

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 shall be included.

4. If a new product contains a notice file
Licence. 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.

The two are obviously loose. They are Java
Opensource is an open source protocol that is highly respected and encouraged. But please note that you should know more about it. Sometimes you may have your own open-source statement in the released package. If it is a good thing, don't bother with it.
The lawsuit is complete.

  • Provides Oracle management/troubleshooting/optimization/installation/RAC/Backup Recovery technical services, and professional Oracle training and consulting services.
  • Mail: inthirties@gmail.com
  • MSN: inthirties@hotmail.com
  • QQ: inthirties@qq.com
  • Tel: 13828706466
  • Technical blog http://blog.csdn.net/inthirties
  • Personal site http://blog.inthirties.com

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.