Pulp Licensing FAQ » History » Sprint/Milestone 3
bmbouter, 02/28/2019 04:07 PM
1 | 1 | bmbouter | # Pulp3 Licensing FAQ |
---|---|---|---|
2 | |||
3 | ### Why would Pulp3 Plugins be affected by the license of the pulpcore-plugin package? |
||
4 | |||
5 | 3 | bmbouter | The GPL FAQ states that subclassing as a mechanism is creating a derivative work. https://www.gnu.org/licenses/gpl-faq.en.html#OOPLang |
6 | 1 | bmbouter | |
7 | 3 | bmbouter | Coupled with the fact that the plugin API uses subclassing as a mechanism ( https://docs.pulpproject.org/en/pulpcore-plugin/nightly/plugin-writer/concepts/index.html#subclassing ) plugin code must be a "GPLv2 or later" compatible license. |
8 | 1 | bmbouter | |
9 | 2 | bmbouter | ### GPLv2 or later? |
10 | 1 | bmbouter | |
11 | 2 | bmbouter | The pulpcore and pulpcore-plugin packages both extend their license to users a "GPLv2 or later". |
12 | 1 | bmbouter | |
13 | 2 | bmbouter | https://github.com/pulp/pulp/blob/master/COPYRIGHT#L5 |
14 | https://github.com/pulp/pulpcore-plugin/blob/master/COPYRIGHT#L5 |
||
15 | 1 | bmbouter | |
16 | 2 | bmbouter | So a plugin can choose the license they want to use as either GPLv2 or GPLv3. |
17 | |||
18 | 1 | bmbouter | ### Why does the pulpcore package matter? Plugin code is only imported from pulpcore-plugin, not pulpcore? |
19 | |||
20 | For technical reasons, many of the objects in pulpcore-plugin are imported and offered from the pulpcore asset itself. There are enough of these cases that offering pulpcore and pulpcore-plugin as separate license types is infeasible. |
||
21 | |||
22 | 2 | bmbouter | ### Can I combine GPLv2 or GPLv3 licensed code with other license types? |
23 | 1 | bmbouter | |
24 | 2 | bmbouter | It depends on if the other license is "compatible" with GPLv2 or GPLv3. https://www.gnu.org/licenses/gpl-faq.html#WhatDoesCompatMean |
25 | |||
26 | ### Can I combine GPLv2 or GPLv3 licensed code with Apache 2.0 licensed code? |
||
27 | |||
28 | No for GPLv2, Yes for GPLv3. |
||
29 | |||
30 | https://www.gnu.org/licenses/license-list.html#apache2 |