Compatibility and Multi-licensing
Code licensed under several other licenses can be combined with a program under the GPL without conflict, as long as the combination of restrictions on the work as a whole does not put any additional restrictions beyond what GPL allows. In addition to the regular terms of the GPL, there are additional restrictions and permissions one can apply:
- if you want to combine code licensed under different versions of GPL, then this is allowed if the code with the older GPL version includes an "any later version" statement.
- Code licensed under LGPL can be linked with any other code no matter what license that code has. Code licensed under LGPLv2 without the "any later version" statement can be relicensed if the whole combined work is licensed to GPLv2 or GPLv3.
FSF maintains a list of GPL-compatible free software licenses with many of the most common free software licenses, such as the original MIT/X license, the BSD license (in its current 3-clause form) and the Artistic License 2.0.
David A. Wheeler has advocated that free/open source software developers use only GPL-compatible licenses, because doing otherwise makes it difficult for others to participate and contribute code. As a specific example of license incompatibility, Sun Microsystems' ZFS cannot be included in the GPL-licensed Linux kernel, because it is licensed under the GPL-incompatible CDDL. Furthermore, ZFS is protected by patents, so distributing an independently developed GPL-ed implementation would still require Oracle's permission.
Read more about this topic: GNU General Public License