Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Question: Can vendor LGPL3 Go code be included? #35557

Closed
lpabon opened this issue Oct 25, 2016 · 27 comments
Closed

Question: Can vendor LGPL3 Go code be included? #35557

lpabon opened this issue Oct 25, 2016 · 27 comments
Assignees
Labels
priority/important-soon Must be staffed and worked on either currently, or very soon, ideally in time for the next release. sig/architecture Categorizes an issue or PR as relevant to SIG Architecture. sig/contributor-experience Categorizes an issue or PR as relevant to SIG Contributor Experience. sig/release Categorizes an issue or PR as relevant to SIG Release.

Comments

@lpabon
Copy link
Contributor

lpabon commented Oct 25, 2016

In our GlusterFS storage manager we are contemplating changing our license from Apache 2 to LPGL 3.

Currently this code is used in the vendor/... for the storage dynamic provisioner of GlusterFS. Would there be any conflicts if we change license?

I also noticed that the Yaml code is currently using a LGPL3 with a clause to allow static linking, although they changed their license in their repo to Apache 2.

@foxish
Copy link
Contributor

foxish commented Oct 25, 2016

cc @sarahnovotny @bgrant0607

@bgrant0607 bgrant0607 added team/none sig/contributor-experience Categorizes an issue or PR as relevant to SIG Contributor Experience. and removed area/ui team/ux labels Oct 26, 2016
@bgrant0607
Copy link
Member

We should file a separate issue about this somewhere (maybe not in this repo):

We need an official, documented policy about which licenses are permitted.

Probably some subset of these:
https://opensource.org/licenses

cc @kubernetes/contributor-experience

@sarahnovotny
Copy link
Contributor

This is one of the places where I would like to get CNCF Legal advice. @dankohn and or @caniszczyk can you work with the LF lawyers to list CNCF acceptable licenses for /vendor within our project?

@caniszczyk
Copy link
Contributor

@sarahnovotny alright, we'll put this on the list, it's not super clear in the CNCF Charter's IP Policy, but we would lean towards permissive licensed options (ASL, MIT etc)

@lpabon I'd give you advice to keep the Apache license here was going to a less permissive license isn't the best idea for adoption IMHO (also license changes are never fun)

@obnoxxx
Copy link
Contributor

obnoxxx commented Nov 1, 2016

@caniszczyk I am not a lawyer, but if I get it right, the IP section of the CNCF charter is relevant for contributions to the actual project's code, not so much for the external project's code included under vendor/ - correct?

And I appreciate the hint regarding adaption, but the major question here is whether relicensing the heketi parts (under vendor/) to LGPLv3 would be problematic for the kubernetes project. We'll care about the broader adaption separately.

@caniszczyk
Copy link
Contributor

@obnoxxx we would really prefer permissive licenses and licenses that match the parent project, it simplifies distribution, thanks!

@fejta-bot
Copy link

Issues go stale after 30d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.

Prevent issues from auto-closing with an /lifecycle frozen comment.

If this issue is safe to close now please do so with /close.

Send feedback to sig-testing, kubernetes/test-infra and/or @fejta.
/lifecycle stale

@k8s-ci-robot k8s-ci-robot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Dec 19, 2017
@dankohn
Copy link
Contributor

dankohn commented Dec 19, 2017

It appears that heketi decided on a license: https://github.com/heketi/heketi/blob/master/LICENSE

Note that the CNCF charter applies to both the licenses of a project's code and its dependencies, and that there are concerns with LGPLv3. But since this project is dual-licensed, that doesn't apply.

@lpabon lpabon closed this as completed Dec 21, 2017
@dims dims reopened this Nov 8, 2018
@dims
Copy link
Member

dims commented Nov 8, 2018

We still have files that are just LGPLv3 OR GPLv2 in the code we pull in from heketi:
https://cs.k8s.io/?q=or%20the%20GNU%20General%20Public%20License%2C%20version%202&i=nope&files=&repos=kubernetes/kubernetes

We had a couple of attempts from our side in #67448 and #66305, but we cannot fix it in k/k repository.

Please see heketi/heketi#1279 that tracks the problem in heketi repo

@dims
Copy link
Member

dims commented Nov 8, 2018

FWIW, the intent in the https://github.com/heketi/heketi/blob/master/LICENSE is very clear, However it does not match the files we need for GlusterFS in-tree plugin to work in k/k

@dims
Copy link
Member

dims commented Nov 8, 2018

@dims
Copy link
Member

dims commented Nov 8, 2018

/remove-lifecycle stale

@k8s-ci-robot k8s-ci-robot removed the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Nov 8, 2018
@dims
Copy link
Member

dims commented Nov 8, 2018

/sig release
/sig architecture

cc @kubernetes/steering-committee

@k8s-ci-robot k8s-ci-robot added sig/release Categorizes an issue or PR as relevant to SIG Release. sig/architecture Categorizes an issue or PR as relevant to SIG Architecture. labels Nov 8, 2018
@timothysc
Copy link
Member

/assign @childsb
/cc @erinboyd

@timothysc
Copy link
Member

@dims do we have a tracking issue on the steering board that we can cross ref?

@dims
Copy link
Member

dims commented Nov 8, 2018

@timothysc xref kubernetes/steering#57

@AishSundar
Copy link
Contributor

Is it something we think will land in 1.13 with Code freeze on 11/16? I am adding the 1.13 milestone anyway to keep this in our radar

/milestone v1.13

@k8s-ci-robot k8s-ci-robot added this to the v1.13 milestone Nov 8, 2018
@AishSundar
Copy link
Contributor

/priority important-soon

@k8s-ci-robot k8s-ci-robot added the priority/important-soon Must be staffed and worked on either currently, or very soon, ideally in time for the next release. label Nov 8, 2018
@AishSundar
Copy link
Contributor

if we are targeting this for 1.13, the Code freeze date is 11/16.

@humblec
Copy link
Contributor

humblec commented Nov 8, 2018

@AishSundar we are trying our best to get this for 1.13. The updates will be followed on heketi issue referenced by @dims

@humblec
Copy link
Contributor

humblec commented Nov 8, 2018

@dims apologies for the lack of updates in heketi issue. We are on it :)

@AishSundar
Copy link
Contributor

Looks like we now have #70802 issue to track this work in k/k. So I will remove this from the 1.13 milestone. Please post all progress to #70802. Thanks

/remove milestone

@AishSundar
Copy link
Contributor

/milestone none

@k8s-ci-robot
Copy link
Contributor

@AishSundar: The provided milestone is not valid for this repository. Milestones in this repository: [next-candidate, v1.10, v1.11, v1.12, v1.13, v1.14, v1.4, v1.5, v1.6, v1.7, v1.8, v1.9]

Use /milestone clear to clear the milestone.

In response to this:

/milestone none

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@AishSundar
Copy link
Contributor

/milestone clear

@k8s-ci-robot k8s-ci-robot removed this from the v1.13 milestone Nov 8, 2018
obnoxxx added a commit to obnoxxx/heketi that referenced this issue Nov 8, 2018
In a sequence of commits

fc8e4c5
31b83a8
7c3cd4c

Heketi was relicensed from Apache to the following model:

- the rest api client code is under dual Apache2 or LGPLv3+
- all other parts (server, cli, tests, ...) are under dual LGPLv3+ or GPLv2

Now an oversight/mistake was made in that parts of the pkg/utils are
used in the client and hence apache-licensed projects that compile
in heketi client, like kubernetes, have a license problem since they
pull GPL code in. See:

heketi#1279
kubernetes/kubernetes#35557
kubernetes/kubernetes#70802

This patch fixes the oversight by relicensing the remaining
pieces of pkg/utils to the same dual Apache2 or LGPLv3+ license
after those parts that are only used in the server have been
moved out of pkg/utils.

Resolves: heketi#1279

Signed-off-by: Michael Adam <obnox@redhat.com>
Signed-off-by: John Mulligan <jmulligan@redhat.com>
obnoxxx added a commit to heketi/heketi that referenced this issue Nov 9, 2018
In a sequence of commits

fc8e4c5
31b83a8
7c3cd4c

Heketi was relicensed from Apache to the following model:

- the rest api client code is under dual Apache2 or LGPLv3+
- all other parts (server, cli, tests, ...) are under dual LGPLv3+ or GPLv2

Now an oversight/mistake was made in that parts of the pkg/utils are
used in the client and hence apache-licensed projects that compile
in heketi client, like kubernetes, have a license problem since they
pull GPL code in. See:

#1279
kubernetes/kubernetes#35557
kubernetes/kubernetes#70802

This patch fixes the oversight by relicensing the remaining
pieces of pkg/utils to the same dual Apache2 or LGPLv3+ license
after those parts that are only used in the server have been
moved out of pkg/utils.

Resolves: #1279

Signed-off-by: Michael Adam <obnox@redhat.com>
Signed-off-by: John Mulligan <jmulligan@redhat.com>
@dims
Copy link
Member

dims commented Nov 13, 2018

heketi license issue has been taken care of

/close

@k8s-ci-robot
Copy link
Contributor

@dims: Closing this issue.

In response to this:

heketi license issue has been taken care of

/close

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
priority/important-soon Must be staffed and worked on either currently, or very soon, ideally in time for the next release. sig/architecture Categorizes an issue or PR as relevant to SIG Architecture. sig/contributor-experience Categorizes an issue or PR as relevant to SIG Contributor Experience. sig/release Categorizes an issue or PR as relevant to SIG Release.
Projects
None yet
Development

Successfully merging a pull request may close this issue.