Project

Profile

Help

Pulp Licensing FAQ » History » Sprint/Milestone 8

bmbouter, 03/22/2019 07:33 PM

1 8 bmbouter
# Pulp Licensing FAQ
2 1 bmbouter
3 4 bmbouter
### What license does pulpcore and pulpcore-plugin use?
4 1 bmbouter
5
The pulpcore and pulpcore-plugin packages both extend their license to users a "GPLv2 or later".
6
7 6 bmbouter
https://github.com/pulp/pulpcore/blob/master/COPYRIGHT#L5  
8 1 bmbouter
https://github.com/pulp/pulpcore-plugin/blob/master/COPYRIGHT#L5
9
10 8 bmbouter
So a plugin can choose either GPLv2 or GPLv3.
11 5 bmbouter
12 8 bmbouter
### Why would a Pulp plugin be affected by the license of the pulpcore-plugin package?
13 5 bmbouter
14
The GPL FAQ states that subclassing as a mechanism is creating a derivative work. https://www.gnu.org/licenses/gpl-faq.en.html#OOPLang
15
16 8 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", that is GPLv2 or GPLv3.
17 2 bmbouter
18 1 bmbouter
### Why does the pulpcore package matter? Plugin code is only imported from pulpcore-plugin, not pulpcore?
19
20 8 bmbouter
Many of the objects in pulpcore-plugin are imported from the pulpcore package itself. There are enough of these cases that offering pulpcore and pulpcore-plugin as separate license types would be too confusing.
21 1 bmbouter
22 2 bmbouter
### Can I combine GPLv2 or GPLv3 licensed code with other license types?
23 1 bmbouter
24
It depends on if the other license is "compatible" with GPLv2 or GPLv3. https://www.gnu.org/licenses/gpl-faq.html#WhatDoesCompatMean
25
26 2 bmbouter
### Can I combine GPLv2 or GPLv3 licensed code with Apache 2.0 licensed code?
27
28 8 bmbouter
Yes, you can combine GPLv3 and Apache 2.0 licensed code together into a larger program as long as the larger work is GPLv3 licensed. You can do this because Apache v2 is compatible with GPLv3: https://www.gnu.org/licenses/license-list.html#apache2
29
30
You cannot combine GPLv3 and Apache 2.0 licensed code together into a larger program and have the larger work licensed as Apache v2. This is stated as prohibited by Apache Software Foundations interpretation of the Apache v2 license. See https://www.apache.org/licenses/GPL-compatibility.html for more details.
31 2 bmbouter
32 7 bmbouter
You cannot combine GPLv2 and Apache 2.0 licensed code also as stated here: https://www.gnu.org/licenses/license-list.html#apache2