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

Need a verify script / test to confirm that new vendored dependencies have acceptable OSS licenses #878

Closed
bgrant0607 opened this issue Apr 14, 2017 · 25 comments
Assignees
Labels
kind/feature Categorizes issue or PR as related to a new feature. lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. priority/important-longterm Important over the long term, but may not be staffed and/or may need multiple releases to complete. sig/release Categorizes an issue or PR as relevant to SIG Release.
Projects
Milestone

Comments

@bgrant0607
Copy link
Member

Example: No LICENSE file:

https://github.com/reconquest/loreley

@fejta-bot
Copy link

Issues go stale after 90d 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

@fejta-bot
Copy link

Stale issues rot after 30d of inactivity.
Mark the issue as fresh with /remove-lifecycle rotten.
Rotten issues close after an additional 30d of inactivity.

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 rotten
/remove-lifecycle stale

@bgrant0607
Copy link
Member Author

/remove-lifecycle rotten

This is relevant right now:
kubernetes/steering#21

@cblecker
Copy link
Member

@kubernetes/sig-contributor-experience-feature-requests @grodrigues3 @spiffxp @parispittman @Phillels
This might be an important task for the 1.10 cycle.

@cblecker
Copy link
Member

cblecker commented Mar 7, 2018

@mattfarina pointed out that https://fossa.io/ is a SaaS product that does this. We'd have to talk to them about pricing and such (we don't have private repos, which is how they track "developers").

@bgrant0607 @thockin Would something like this be worth looking into?

@bgrant0607
Copy link
Member Author

We desperately need automated enforcement.
cc @caniszczyk

@tpepper
Copy link
Member

tpepper commented May 9, 2018

@spiffxp poked me to get some additional ContribEx eyes on this and try to run with it in his absence...

I'm worried we're reinventing an oft reinvented wheel here.

First it would be good if we could assume a forward world where SPDX license strings and headers are standard. But in the meantime we will need to deal with outliers cleanly to build a complete list of observed licenses and pieces of code where a license was not determined. There are existing tools that do this and comprehend the umpteen gazillion different variants of whitespace and surrounding delimiting text.

In https://github.com/clearlinux/autospec/tree/master/autospec/license* files there is an actively maintained scanner with a quite comprehensive set of license file hashes observed from maintaining a full featured linux distro for a number of years. I suspect it would be nice and usable here if we were to suggest to them (and help code?) separating it out into a standalone library and github project. They even package kubernetes and for example as of 1.9.4 had determined via that automation that k8s is:
License : Apache-2.0 BSD-2-Clause BSD-2-Clause-FreeBSD BSD-3-Clause CC-BY-4.0 CC-BY-SA-4.0 CC0-1.0 CDDL-1.0 GPL-2.0 ISC LGPL-3.0 MIT MPL-2.0-no-copyleft-exception NCSA

But there are also many many more similar tools. LF has for many years had a whole annual conference on license compliance topics and there's a tonne of tooling out there.

And then there's the whole question of what is the set of compatible licenses for the k8s project. @caniszczyk is there a CNCF determination documented on this?

@thockin
Copy link
Member

thockin commented May 11, 2018

@tpepper that seems like a cool tool that could be a great basis for the checker. As it is, we have bespoke tools that extract a best-guess at license info, and a slim list of reviewers who verify changes thereto.

https://github.com/kubernetes/kubernetes/blob/master/hack/update-godep-licenses.sh

https://github.com/kubernetes/kubernetes/blob/master/Godeps/LICENSES

If we had a tool, we could maybe simplify this file to be a list of license names, or at least augment the raw file with the detected name for easier human review.

Are you volunteering?

@tpepper
Copy link
Member

tpepper commented May 14, 2018

I’ve never used FOSSA so if that’s the CNCF preference I’ll defer to those who do have experience there. Otherwise I’m interested in contributing to making this layer of automation better.

@tpepper
Copy link
Member

tpepper commented May 14, 2018

(I note FOSSA as the thread in pr 62088 has revived and appears headed that way at the moment)

@mattfarina
Copy link

Note, in addition to Fossa there is also https://www.fossology.org/

@cblecker
Copy link
Member

Gonna take a trial run of FOSSA, based on the recommendation of @caniszczyk. Reached out to them here: https://groups.google.com/d/msg/kubernetes-sig-contribex/kpoYAyVUlew/4bTwVjTOBQAJ

/assign

@philips
Copy link
Contributor

philips commented Jul 19, 2018

any updates on your FOSSA research @cblecker ?

@cblecker
Copy link
Member

We met with FOSSA last month. The Github integration and periodic reports look decent, but the key was trying it out in our org and workflow.

My plate ended up overflowing with other tasks though, and I haven't got to setting it up and trialing it.

@philips
Copy link
Contributor

philips commented Jul 19, 2018

cc @justaugustus

@justaugustus
Copy link
Member

@philips --
@cblecker and I are planning to braindump on this and I'll take it over.

/assign
/cc @nikhita

@justaugustus
Copy link
Member

/unassign @cblecker

@justaugustus
Copy link
Member

Email update to steering + sig-release + sig-contribex: https://groups.google.com/d/msg/kubernetes-sig-release/6oljCwkD6HQ/sH8W-uwwAAAJ

@nikhita
Copy link
Member

nikhita commented Dec 25, 2018

/sig release
/remove-sig contributor-experience

@justaugustus
Copy link
Member

/milestone v1.18

@justaugustus justaugustus transferred this issue from kubernetes/kubernetes Dec 4, 2019
@justaugustus
Copy link
Member

/area licensing
/milestone v1.18
/priority important-longterm
/kind feature

@k8s-ci-robot k8s-ci-robot added this to the v1.18 milestone Dec 4, 2019
@k8s-ci-robot k8s-ci-robot added priority/important-longterm Important over the long term, but may not be staffed and/or may need multiple releases to complete. kind/feature Categorizes issue or PR as related to a new feature. labels Dec 4, 2019
@justaugustus justaugustus added the sig/release Categorizes an issue or PR as relevant to SIG Release. label Dec 9, 2019
@fejta-bot
Copy link

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

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 Mar 8, 2020
@fejta-bot
Copy link

Stale issues rot after 30d of inactivity.
Mark the issue as fresh with /remove-lifecycle rotten.
Rotten issues close after an additional 30d of inactivity.

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 rotten

@k8s-ci-robot k8s-ci-robot added lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. and removed lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. labels Apr 7, 2020
@fejta-bot
Copy link

Rotten issues close after 30d of inactivity.
Reopen the issue with /reopen.
Mark the issue as fresh with /remove-lifecycle rotten.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/close

@k8s-ci-robot
Copy link
Contributor

@fejta-bot: Closing this issue.

In response to this:

Rotten issues close after 30d of inactivity.
Reopen the issue with /reopen.
Mark the issue as fresh with /remove-lifecycle rotten.

Send feedback to sig-testing, kubernetes/test-infra and/or fejta.
/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.

Licensing automation moved this from Backlog to Done May 7, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/feature Categorizes issue or PR as related to a new feature. lifecycle/rotten Denotes an issue or PR that has aged beyond stale and will be auto-closed. priority/important-longterm Important over the long term, but may not be staffed and/or may need multiple releases to complete. sig/release Categorizes an issue or PR as relevant to SIG Release.
Projects
No open projects
Licensing
  
Done
Development

Successfully merging a pull request may close this issue.

10 participants