News for hackers. Stuff that matters.
Re:Crypto optimizations for Go from CloudFlare/Intel blocked... by jgrahamc on Monday May 18, 2015 @06:31PM (#9567224)
Not sure this needs to be on the top of HN. It's a licensing issue that I'm sure we can work out between CloudFlare, Google and Intel.
Re:Crypto optimizations for Go from CloudFlare/Intel blocked... by striking on Monday May 18, 2015 @06:38PM (#9567239)
If it makes anyone feel any better, it's really between Google and Intel as the last post notes:

>I'm afraid that, without Intel's permission, it doesn't appear that this change can move forward.

What I don't get is this:

>Intel do not wish to publish this code under the Go license and having bits of the Go repo under different licenses is sufficient unpleasant that counsel didn't want to entertain the idea.

What makes the Go license different than the BSD under which Intel has published their code?

HN is a place for things that make people think. This made me think, so I gave it an upvote.

Re:Crypto optimizations for Go from CloudFlare/Intel blocked... by DannyBee on Tuesday May 19, 2015 @07:28PM (#9573796)
"What makes the Go license different than the BSD under which Intel has published their code? " The go license is not different than the BSD license. Both the intel and the go stuff is bsd licensed.

However, the BSD license requires you reproduce the copyright notices attached to it the top of the license.

If you do not, you are in violation of the license (which in the US, is usually copyright infringement). By using "the go authors" as the copyright notice, go ensures you only ever have to reproduce one notice.

If it says "copyright intel", now you have to reproduce

A. The go notice when you use go without the stuff that is copyright intel

B. The go notice and the intel notice when you use go and the stuff that is copyright intel.

C. The intel notice when you use the intel stuff without anything else that is copyright go.

Now, when 3 other companies decide they want their notices in there too (after all, if intel is special, why isn't broadcom, or whoever), and only add it to some files, imagine the fun that results for users.

There are other issues, too, but succinctly, you don't want to live in this world.

It leads to shipping things which reproduce 100's of pages of notices in documentation.

Re:Crypto optimizations for Go from CloudFlare/Intel blocked... by jgrahamc on Monday May 18, 2015 @06:40PM (#9567246)
I agree, but CloudFlare wants to do whatever we can to make sure this stuff gets into Go.
Re:Crypto optimizations for Go from CloudFlare/Intel blocked... by briansmith on Monday May 18, 2015 @06:42PM (#9567256)
I'm glad y'all are working it out. The licensing for that stuff really is confusing, and discourages the use of that code.

It's worse in OpenSSL because the x86 and ARM adaptations are licensed under the OpenSSL/Cryptograms licenses instead of BSD/Apache. Big chunks are labeled as transliterations of the X64 code, so I'd expect them to also be BSD/Apache licensed. Also, it isn't clear what Andy Polyakov's significant improvements of the the X64 code mean for the copyright, licensing, and re-licensing from Apache to dual BSD/Apache. In other words, it seems the copyright lines should, at a minimum, mention Andy's copyright, and it should be made clearer whether Andy agrees to dual license his contributions under the BSD/Apache dual license.

Re:Crypto optimizations for Go from CloudFlare/Intel blocked... by justonepost on Monday May 18, 2015 @06:43PM (#9567259)
I disagree, it is relevant for HN: it's open source. I'm really curious as to why we can't just use it anywhere given the BSD license.
Re:Crypto optimizations for Go from CloudFlare/Intel blocked... by jacquesm on Monday May 18, 2015 @06:47PM (#9567277)
That's why larger companies (and smart smaller ones) will ask their lawyers before accepting commits like these lest some SCO/Novell/Microsoft like demon jumps at them at some unspecified but presumably inconvenient time in the future.

It's actually a really nice illustration of how hairy such stuff can be even with all the parties meaning well and as such it definitely is relevant for HN.

Re:Crypto optimizations for Go from CloudFlare/Intel blocked... by hyperion2010 on Monday May 18, 2015 @06:50PM (#9567284)
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.
Re:Crypto optimizations for Go from CloudFlare/Intel blocked... by chimeracoder on Monday May 18, 2015 @07:36PM (#9567433)
> 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.

Re:Crypto optimizations for Go from CloudFlare/Intel blocked... by hyperion2010 on Monday May 18, 2015 @10:28PM (#9567878)
Hrm. 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?
Re:Crypto optimizations for Go from CloudFlare/Intel blocked... by sangnoir on Monday May 18, 2015 @11:40PM (#9568040)
I 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.

Re:Crypto optimizations for Go from CloudFlare/Intel blocked... by 4ad on Monday May 18, 2015 @06:51PM (#9567288)
It's not that the subject is irrelevant (it is), it's just that the issue is trivial and will be resolved by the parties involved; right now the title gives the false impression that this was a very final thing.
Re:Crypto optimizations for Go from CloudFlare/Intel blocked... by jacquesm on Monday May 18, 2015 @06:55PM (#9567304)
Likely that impression is fuelled by the tone of the last comment.