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

x/build/cmd/release: collect open source NOTICES into top-level NOTICES file? #25405

Open
bradfitz opened this Issue May 15, 2018 · 4 comments

Comments

Projects
None yet
5 participants
@bradfitz
Member

bradfitz commented May 15, 2018

We should probably make x/build/cmd/release collecting all the misc LICENSE/NOTICE files from the packages we depend on and concatenate them all together into one top-level NOTICES file next to our LICENSE file in Go's release.

We'd also need to make such NOTICE files for each directory where the notice is currently in the source code at the top.

Look at Debian's packaging of Go to find the list.

/cc @rsc @FiloSottile @ianlancetaylor @andybons @bcmills

@bradfitz bradfitz added this to the Go1.11 milestone May 15, 2018

@gopherbot gopherbot added the Builders label May 15, 2018

@pciet

This comment has been minimized.

Contributor

pciet commented May 16, 2018

Is there a lawyer that approves the Go releases? I think their input would be best for this.

@bradfitz

This comment has been minimized.

Member

bradfitz commented May 16, 2018

@pciet, yes, we have a lawyer and have talked to them.

@bradfitz bradfitz modified the milestones: Go1.11, Go1.12 Jul 13, 2018

@vikramcse

This comment has been minimized.

vikramcse commented Aug 4, 2018

@bradfitz Can I work on this issue.

What I understood from above description is, we have to traverse each package/folder from go repository and collect all the LICENSE/NOTICE files and append it into a top level LICENSE/NOTICE file.

@flowchartsman

This comment has been minimized.

flowchartsman commented Sep 4, 2018

I've done some work on this since GopherCon, and I'm probably at least 90% of the way done, but I need some clarification. @bradfitz, just a couple questions:

  1. This issue is on the golang repo, but it sounds like it should actually be against https://github.com/golang/build? Just making sure.

  2. When you say:

We'd also need to make such NOTICE files for each directory where the notice is currently in the source code at the top.

Do you mean that all directories in src need to be recursively walked for source files that match something like (?i)^\s*copyright, and that this line should be extracted?

  1. There are no NOTICE files in the golang source tree. LICENSE files only. Just want to make sure I'm not missing anything.

  2. I've currently written it to compact multiple, identical notices using a hash behind the scenes. This way, multiple licenses with the same contents will appear something like this:

src/bar/foo/LICENSE,
src/foo/LICENSE:
--------------------------------------------------
License text lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed in vehicula urna.
Proin feugiat varius cursus. Integer felis tellus, bibendum ut justo id, pellentesque eleifend turpis.
Nulla quis neque ac purus finibus egestas in rhoncus metus. Ut lobortis neque a mattis mattis.

Does that work for you?

  1. Wasn't quite sure what I should be looking for in the Debian package. I didn't find anything in there worth noting, but I might have missed it.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment