3 ms·
BSD header must stay on the code. Council doesn't want BSD headers in the GO code. Not clear there is actually any way forward unless someone can find a way to
by hyperion2010 11y ago
BSD header must stay on the code. Council doesn't want BSD headers in the GO code. Not clear there is actually any way forward unless someone can find a way to convince them that it is manageable to put BSD code into the repo. Another good reminder that cooking your own license is a bad idea.
- chimeracoder 11y ago> Another good reminder that cooking your own license is a bad idea. I don't know what you're referring to here, since nobody has made their own license. The problem as I understand it is that (some of) the code in the patch is covered by a BSD license from Intel, which is not the same as the rest of the Go code, which is covered by a BSD license from the Go authors. The text of the BSD licenses themselves is mutually compatible, but because the licenses credit different sources ("Go authors" vs. "Intel Corporation"), that makes them different licenses. It is legally possible to combine them, but practically annoying for anyone else who may want to reuse the code later.
- hyperion2010 11y agoHrm. I think you're right. I had gone and looked at the GO license and was rather confused because it looked like the bsd 3 clause to me except for a change directly inserting Google's name into the 3rd clause. Could that be the source of the incompatibility?
- sangnoir 11y agoI am not a lawyer, forgive any inaccuracies. These are 2 instances of the same/similar license type - they remain 2 different licenses with different conditions that have to be met individually even if the code is merged. The licenses are compatible. However, for the Go team (and downstream lib users) to satisfy Intel's license, they'd have to credit Intel as authors, in addition to "the Go Team". This can become unwieldy if code is pulled from many different sources (code authors would need to check the authors of the various parts of the Go Standard libs they are using to give the correct attribution). This can be avoided if Intel itself makes the contribution & make use of a CLA (Contributor License Agreement) that assigns the necessary rights to the Go Team - meaning there is one license to be satisfied for the whole standard lib.