google / google/closure-compiler
Using closure modules results in JS output appearing to be licensed as apache v2
- Dominant language
- JavaScript
- Stars
- 7.7k
- Forks
- 1.2k
- Avg merge
- 2d 12h
- Merged PRs (30d)
- 6
Description
From https://developers.google.com/closure/compiler/docs/js-for-compiler#tag-license, it appears that any `@license` comments end up in the compiled output, and no flags can prevent that (and perhaps, nor should they). Given a project which uses goog.provides/module/etc, the https://github.com/google/closure-library/commit/1fe1bd873b1b772cca7de983cbaf72ef4011de0b commit appears to add a license header advertising only apache v2 to the JS output, where previously a (potentially proprietary) project might have had no license shown, giving the impression that the entire file is now apache v2.
My hunch is that this is to make sure that the apache license terms are upheld, but at least as I understand apache v2 this isn't sufficient - the full text of the license still needs to be included elsewhere, so I'm not sure why this is now mandatory.
Sorry for such an open ended report, but I'm not sure what the takeaway should be for downstream projects - including licenses is mandatory? Fork closure-library to remove it? Introduce additional command line args to make this optional (`--license-file-provided-outside-js=true`)?
Contributor guide
Assessment
This issue has not been assessed yet.