4 ms·
I thought this was going to be some sort of crazy patent issue or something to do with Intel's proprietary compilers, but instead it's a simple license incompat
by bri3d 11y ago
I thought this was going to be some sort of crazy patent issue or something to do with Intel's proprietary compilers, but instead it's a simple license incompatibility where authors are trying to transfer code (that's been BSD/Apache dual-licensed in OpenSSL) into Go, which uses its own license.
- hyperion2010 11y agoTitle should probably s/licensing/license because it is actually a license issue not a licensing issue.
- teraflop 11y agoMore to the point, if I understand correctly: mixing these licenses is legally permissible for the Go team (or anyone else who wishes to apply to the patch) but the resulting codebase is no longer uniformly governed by Go's CLA. Intel doesn't want to relicense their code (which would AFAICT not meaningfully change the terms of the license, but would result in its authorship being lumped together with the rest of "The Go Authors" for licensing purposes) and the Go team's legal counsel apparently has some reason for being unwilling to accept the resulting mixed-license state.
- chimeracoder 11y ago> apparently has some reason for being unwilling to accept the resulting mixed-license state. As someone who writes a lot of Go, I can understand the reason for this. If I reuse a function from the standard library, I don't want to have to check which headers happen to pertain to that. I'd much rather know that all Go code is covered by the same license, and therefore the same header. For what it's worth, all Go code so far is under the same license[0]. Even the Go-specific parts of gccgo are under the same license as gc (though when distributed with gccgo, the combined package is distributed under the GPL). [0] http://golang.org http://golang.org lists these as the only exceptions to the BSD licensing for code and CC-BY licensing for non-code, which basically just means the obvious Google brand-specific stuff. https://developers.google.com/site-policies#restrictions https://developers.google.com/site-policies#restrictions
- mordocai 11y agoOne of the reasons the GO legal council insists on all code being under the CLA is that if google ever wants to change the license of the go codebase they can do it without asking the contributors. If any code is not under the CLA, changing the license becomes complicated.
- DannyBee 11y agoAs "the legal council in question", this is actually not the problem at all :) There are actually remarkably simpler problem than this: For starters, Everyone in the world, using go, would now have to reproduce two copyright notices, instead of one. If they messed up, intel could sue them :) Exporting that liability to the rest of the world would be irresponsible. In any case, it's not just about mixed licenses. In a good open source project, everyone contributes on the same terms. Period.
- mordocai 11y agoYou are unlikely to read this at this point, but I was going through my old comments and just saw your reply. In any case, I was commenting on the purpose of the CLA in general. I believe my comment still applies accurately to that. As far as the specific issue goes, I agree that everyone should be contributing under the same license.
- kstrauser 11y ago> Go, which uses its own license. Citation? The license listed on their website at http://golang.org/LICENSE http://golang.org/LICENSE is is the 3-Clause BSD license (see: http://opensource.org/licenses/BSD-3-Clause http://opensource.org/licenses/BSD-3-Clause) with the one exception that "THE COPYRIGHT HOLDER" was changed to "THE COPYRIGHT OWNER" in the final paragraph.
- stock_toaster 11y agoThere is also a requirement to submit a signed CLA, as seen here[1]. Additionally, on that page there is a requirement for a standard copyright header, specifying "The Go Authors" as the copyright holders. [1]: https://golang.org/doc/contribute.html#copyright https://golang.org/doc/contribute.html#copyright
- jerf 11y agoThe CLA is not a term of the license; it's a term of Google's stewardship of the code. If you fork Go and keep the BSD license, you can do as you like. Many projects of many varying license types use CLAs. The Linux kernel deliberately uses the fact it doesn't have one to ensure that nobody could ever un-GPL2 it because there's no possibility that you could ever reach every contributor for a license change.