Project

Profile

Help

Task #4080

closed

Licensing Options for Plugin Writers

Added by bmbouter over 5 years ago. Updated over 3 years ago.

Status:
CLOSED - WONTFIX
Priority:
Normal
Assignee:
-
Category:
-
Sprint/Milestone:
-
Start date:
Due date:
% Done:

0%

Estimated time:
Platform Release:
Groomed:
No
Sprint Candidate:
No
Tags:
Sprint:
Quarter:

Description

The state of things

Pulp3 has two Python software packages. One is the "core" which provides the HTTP API for users to use, and the other is a "plugin API" which is Python API that "plugin writers" will import into their plugin package and use.

pulpcore - the core, depends on nothing.
pulpcore-plugin - the Python plugin API. It provides lots of objects, e.g. Artifact or RepositoryVersion. It has a Python dependency on pulpcore-plugin.

Both packages ^ are licensed as GPLv2 + Common Cure

Plugin writer usage of GPLv2 licensed code

Plugin writer's would both "use" and "subclass" plugin-API code (the GPLv2 code).

Use

Plugin writer's code would "use" code from the plugin API as-is with code statements like:

from pulpcore.plugin.models import Artifact
my_artifact = Artifact(data=data).save()

Subclassing

Plugin writer's code would "subclass" from the plugin API objects.

from pulpcore.plugin.models import Content

class MySubclassedNewContentObject(Content):
    field1 = ...
    field2 = ....

Who is distributing the plugin code?

The plugin writers distribute their plugin code directly to their users. The pulpcore and pulpcore-plugin packages need to be present for that code to work.

Questions from plugin writer

Assuming a plugin writer's code both "uses" and "subclasses" a GPLv2 asset from Pulp's plugin API, may a plugin, be licensed with a non-GPL license, e.g. MIT or Apachev2?

Also available in: Atom PDF