Differences between Open Source Licenses

Source: Internet
Author: User

GPL
I don't want to explain the long GPL translation or longer FAQ here. To put it simply, the GPL software user has the right to get the software code. As long as GPL is used, the whole project must also be GPL during redistribution, that is, the base of the main process and static Link (Linux. A and windows. lib) must be GPL, dynamic link library (Linux. so, windows. DLL) must be more compatible with GPL. GPL compatibility is a library that can be used in GPL software. These licenses must be weaker than GPL (such as lgpl and BSD), rather than a commercial license. Here is a compatibility list of FSF approved software licenses. Because of this, GPL is highly contagious. As long as your software uses GPL code, open source code with GPL, in addition, your project cannot have any libraries that are not compatible with GPL.

Lgpl
GPL is highly contagious. If a library is published using GPL, all software using this library must also be published using GPL, this is a fatal blow to commercial software that doesn't want to open source code-you can choose not to use other libraries, but the most basic libc cannot be bypassed in any way, if libc is published with GPL, It is equivalent that all software must be published with GPL. Therefore, lgpl (lesser GPL) was born. Lgpl is defined as that when a new library is developed based on the Library released by lgpl, the new library must be released by lgpl. However, if it is only a dynamic link, it is not subject to any restrictions. In this way, commercial software can use the lgpl library at will. Therefore, lgpl is also contagious, but it is limited to libraries developed based on it, rather than the program itself-it is much less infectious than GPL.

BSD, Apache 2.0

Compared with the open source code of GPL/lgpl, BSD and Apache 2.0 are much loose-commercial software can use BSD and software code released by Apache 2.0 without open source code, you only need to mention the source of the Code. The methods mentioned in BSD and Apache 2.0 are slightly different. For details, refer to the details of the Protocol. They are GPL compatible

Let's take a look at the case of choosing an open source license below:

Android uses the loose Apache 2.0 release because Google, as a commercial company, does not want to lose support for commercial software. It wants to unite all the android development efforts that can be united, to expand your business, you can use Apache 2.0. Google does not lose control of Android itself, so it will not worry that another company will take away Android code to develop a closed-source Android competitor. Because, as long as Android continues to produce new versions, the Community keeps following up and constantly modifies the API, other Android-based companies have to bring their patches back to the trunk. Otherwise, it will inevitably take a lot of manpower and material resources to maintain your own patch (you have been fighting Google for money ?), The loss is not worth the candle. In addition, when the source is closed, the entire community becomes an enemy. As a project to locate the software platform, a large number of application software developers will be lost, no business company will do such stupid things that won't win.

Check why Linux published with GPL is better than FreeBSD published with BSD. In fact, it is precisely because of the contagious nature of GPL. After a developer develops a new function on the basis of Linux, he has to use GPL to open source code and contribute back to Linux. In this way, the Linux itself can grow and keep a considerable number of developers, the formation of a good software-> many users and contributors-> contribution-> better software-> more users and contributors....

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.