Compatibility Matrix #552
Replies: 2 comments
-
Hi guys, I would need to be sure of my interpretation of White Source Software (points 1,2 and 7) expressly said that "the classpath exception protects you from having to release your project under the GNU license if you link to a GPL with classpath exception library— thereby protecting you from having to publically open your entire source code that you can use (or releasing under another type of license)". This would mean that in our Compatibility Matrix, it would be compatible with all the other licenses. |
Beta Was this translation helpful? Give feedback.
-
Hi guys, |
Beta Was this translation helpful? Give feedback.
-
GPL 2.0 or later
exception to
GPL 2.0 or later
The rows represent inbound licenses and the columns outbound licenses.
Please refer to this link for the updated matrix:
https://github.com/endocode/LCV-CM/blob/main/csv/licenses.csv
This matrix can be used to evaluate the following use case: "As a system vendor, I have created a product from multiple packages and want to evaluate that the way all the components are combined is compatible with my outbound license."
The compatibility matrix functions in this way:
QMSTR
will generate an array of licenses used within a project.The array elements will be matched against the outbound license declared for that specific project.
E.g. "Outrun 2nd edition" is released under GPL 3.0 license.
QMSTR
scans the project and found that three licenses are found within its binaries: Apache 2.0 and GPL 3.0.The resulting array is: [Apache 2.0 , GPL 3.0].
The GPL 3.0 column's value will be checked for each element, which is the outbound license.
As it is possible to see from the matrix Apache 2.0 has value True in the GPL3.0 column. This means GPL3.0 FOSS codebase can use Apache 2.0 codebase.
The matrix is not representing compatibility associations between the same version's license because there is no problem merging programs that have the same license, if it is a reasonably behaved license, as nearly all free licenses are [15].
In this example,
QMSTR
will declare the project compliant with its license.Whenever outbound licenses are not specified, each array element is matched against the other elements, providing a less permissive one as a possible outbound license.
The main reasoning represented by the matrix is:
Can the license in the row be released under the column license?
e.g. Can Apache2.0 licensed FOSS to be redistributed under GPL 3.0 license?
True indicates that it is possible. This means that a FOSS released under GPL 3.0 can include Apache 2.0 licensed software.
On the other hand, including FOSS released on GPL 3.0 on a FOSS released under Apache 2.0 cannot be done because GPL 3.0 does not allow the redistribution under Apache 2.0.
N.B. https://github.com/endocode/LCV-CM/blob/main/licenses.csv still represents True with 1 and False with 0, because originally this matrix was thought to be imported as a Postgres table, that makes use of bit data to represent them.
BSD-3-Clause compatible with MIT License and viceversa
BSD-3 redistributed under MIT License
In [13], it is claimed that BSD cannot be redistributed under MIT License.MIT redistributed under BSD-3 License
In [14], it is claimed that MIT can be redistributed under any BSD License.References
list
[13] https://softwareengineering.stackexchange.com/a/122008[14] https://opensource.stackexchange.com/a/7674
[15] https://www.gnu.org/licenses/license-compatibility.en.html, Richard Stallman
Beta Was this translation helpful? Give feedback.
All reactions