Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

No, it really doesn't. People have been combining BSD and "other" stuff for decades. How many systems shipped with the TCP stack (or zlib, or libjpeg, or...) linked right into their binaries? How many of them ran into "really messy to use" license problems? They just shipped it. The license says they can, and they did.

This just seems extraordinarily meta to me. What is the actual risk here? Quantify "messy" and "be safe".

(And FWIW: the fourth clause was considered bad because it put a restriction on how the software was distributed and communicated about. None of the licenses we're talking about in this thread include the advertising clause, or anything like it.)



"No, it really doesn't. People have been combining BSD and "other" stuff for decades. "

hopefully, with proper notices :)

"This just seems extraordinarily meta to me. What is the actual risk here? Quantify "messy" and "be safe". " Okay.

The risk is: If you don't reproduce the copyright notice, and Intel doesn't like you, they could come after you for copyright infringement.

Just because you don't hear about it on reddit or hacker news doesn't mean people don't have private enforcement actions over this stuff.

Shocking, I know.

Now, don't get me wrong, Intel is a wonderful company and I love them, but exporting that kind of possible liability onto the rest of the world would be pretty irresponsible, regardless of how nice a company Intel is.

Past that, the other part is "everyone should be contributing on the same terms to an open source project".

Otherwise, you'll soon have a million copyright different notices to reproduce.


So... how is it conceivably "safe" to use Go in my own work, which is provided to me with the same (literally verbatim!) polluting copyright requirement. I love Google, but like you said, all it takes is for me to forget the copyright attribution and you guys are going to sue me into jelly.

Where am I missing the logic here? Or are you offering symmetric contributor agreements to everyone that asks?


So, for starters, let me point out that Google's CLA (which would require for contributions like this) grants rights from contributors directly to you. So if Intel signed the CLA and contributed this code, even if you forgot the notice, they would have no recourse.

(https://cla.developers.google.com/about/google-corporate, clause 2)

This leaves "Google itself". In that case, the problem you raise is one true of all BSD licensed stuff, not just Go.

So yeah, you should be careful with notices, no matter who they are from, google or anyone. You are trusting that if you mess up, you won't get screwed by those people. It seems highly unlikely google would ever sue anyone, but like i said, you are trusting it won't happen if you screw up. (I try to be straight with people about stuff like this).

Your only solution to this in toto would be "don't use BSD licensed software" in your works.

Note that this is true of plenty of other open sourvce licenses as well (IE if you screw up GPL compliance minorly, you are trusting the copyright author won't sue you). One of the only ones that doesn't require attribution for binaries is the zlib license. Statutory damages for intentional copyright infringement are quite high, and they don't actually even have to prove they lost profits or whatever.

As for Go, one of the other reasons we don't want to accept other-licensed code and code not under a CLA is so we can fix this problem by changing the runtime library license to not require attribution (but this will take a bit longer for various reasons) :).

(There are certain other languages that know they have this problem with the runtime license, but have decided they don't care if they are likely to make accidental/intentional copyright infringers of large classes of people. I will leave it to the crowd to figure out which these are :P)


> Quantify "messy"

Having to add multiple headers in my code that reuses crypto.go specifically, rather than using the same header that I use when reusing every other piece of code in the Go standard library.

> People have been combining BSD and "other" stuff for decades.

Yes, though not without practical implications, as described in the link I posted in my previous comment.

> They just shipped it. The license says they can, and they did.

They license says they can as long as they follow the terms of the license. If they do not include the correct header in all derivatives, they are no longer complying with the terms of the license.

I am willing to bet that the vast majority of projects out there that use BSD-licensed code do not actually comply with the terms of the BSD license. They're usually small and the licensors don't notice (or care), so they get away with it. But that doesn't make it right for the licensees to do so, either ethically or legally, and they could easily find themselves in legal hot water if the original licensors wanted to make their lives difficult[0].

> (And FWIW: the fourth clause was considered bad because it put a restriction on how the software was distributed and communicated about.

It was also considered bad because it was complicated to comply with in practice. From the page I linked in my previous comment:

> When people put many such programs together in an operating system, the result is a serious problem. Imagine if a software system required 75 different sentences, each one naming a different author or group of authors.

[0] And in this case, the "original licensor" in question would be Intel. If Intel wants to make your life difficult, they can make your life difficult.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: