Compatible and Incompatible Licensing: Multiple and Cross Licensing
In writing code, a programmer may find that he wants to fuse elements from two or more programs into a new program. The two programs are under different licenses. The question arises: is it possible to take this code, under different licenses, and combine them in one work without violating the terms of either of the two licenses?
Warning
While two licenses may appear to be compatible, programmers must ensure that they are, in fact, compatible. Apparently innocuous terms in one or both licenses may make them incompatible with each other. Distribution or modification of programs, including incompatibly licensed code, will result in copyright infringement.
Those undertaking this analysis should note that with some exceptions (such as the GPL and the SCSL Licenses) the licenses described in this book are frequently templates for individual licenses, and their language may not be exactly the same as that described here. Simply because something is described as a "BSD-style" license, for example, does not mean that it is written just like the BSD License or contains exactly the same terms. In every case, a user considering combining works licensed under different licenses should read the licenses at issue very carefully.
It is much easier to describe those licenses that are incompatible than to assert with any assurance that two licenses are compatible. There are several scenarios in which the answers are obvious. If either ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access