Software developers want to open source software, not just open sources, it is important to choose a license, a license to the software is equivalent to the value of the ordinary people, represents the basic character of the software. A faulty license selection can directly lead to a failure of the entire project.
The main limitation of various open source licenses is still redistribution (release), so the software developed by the personal/Commercial company contains the GPL code, which you can use whenever you do not publish it.
Here are the differences between several open source licenses:
Gpl
The user of the GPL software has the power to obtain the code of the software, and as long as the GPL is used, the entire project must also be GPL, i.e. the main program and the statically linked library (Linux. A and Windows. lib) must be GPL, dynamic-link library (redistribution). (. so,windows. dll for Linux) must be GPL-compatible. GPL-compatible, which is a library that can be used in GPL software, which must be weaker than the GPL (e.g. LGPL,BSD) and not a commercial license. Because of this, the GPL is highly contagious, as long as your software uses the GPL code, then open the source code with the GPL, and you cannot have any libraries in your project that are incompatible with the GPL.
Lgpl
The GPL is highly contagious, so if a library is published using the GPL, then all the software used in this library must be released using the GPL, which is a deadly blow to commercial software that doesn't want to open the source code-you don't have to use other libraries, but the most basic libc are anyway. If LIBC is released under the GPL, it is equivalent to all software being released under the GPL. So, LGPL (Lesser GPL) was born.
LGPL is defined as the new library must be published in LGPL when a new library is developed based on a library published by LGPL, but it is not restricted if it is a dynamic link only. In this way, commercial software can use the LGPL library freely. As a result, LGPL is also contagious, but it is limited to the libraries it develops on its own, without limiting the use of its program itself-which is much less contagious than the GPL.
BSD, Apache 2.0
Relatively GPL/LGPL open source code, Bsd,apache 2.0 is much looser-commercial software can use arbitrary bsd,apache 2.0 released software code, without the need for open source code, just need to mention the source of the code is possible. BSD and Apache 2.0 are mentioned in slightly different ways, depending on the details of the agreement. They're GPL-compatible.
Take a look at the following examples of selecting open source licenses:
Andorid uses the loose Apache 2.0 release, because Google as a commercial company, and do not want to lose the support of commercial software, it wants to unite all the power to join the development of Android, to grow their own camp, using Apache 2.0 is understandable. And Google itself, does not lose control of Android, will not worry about another company took the Android code developed a closed-source Android opponents. Because, as long as Android constantly out of the new version, the community constantly follow up, and constantly modify the API, other Android-based development companies have to put their patches back to the trunk, otherwise, Will inevitably cost a lot of manpower and resources in the maintenance of their patches (money this aspect you have to fight Google?) ), not worth the candle. Moreover, after the close of the source, and the whole community as an enemy, as a positioning software platform project, will churn out a large number of application software developers, to small broad, any business company will not do this kind of low-odds stupid.
See why Linux released with the GPL is more successful than the BSD release of FreeBSD. In fact, it is because of the GPL's contagion. When a developer develops a new feature on Linux, it is necessary to open the source code in the GPL and contribute back to Linux, so that the Linux itself becomes stronger and retains a considerable number of developers, creating a good software--many users and contributors More users and contributors to the more excellent software --- The virtuous circle.
Open Source license GPL, LGPL, BSD, Apache 2.0