Hacker News new | past | comments | ask | show | jobs | submit login

I actually wrote that wording for LLVM, so i'm happy to explain the discrepancy.

Basically, we messed up when we changed the runtime license (I said MIT license when I meant zlib license, which only requires reproduction of notices in the source code), and had to issue a policy statement on the license to make people happy. It is not accurate, legally, in its description of the MIT license. Effectively, by this statement, we are giving permission to not reproduce the notice, even though the license would actually require it.

You don't have to take my word for it though, ask any other open source lawyer whether MIT requires notice reproduction for binaries.

:)

I would urge Rust not to make the same mistake. (This mistake is currently being fixed in a few other "new" languages, in fact)




What a hilarious coincidence. :)

I'm guessing you can't go giving out concrete legal advice for free, but could you point us towards languages that are fixing this? I see that Julia's stdlib uses MIT for non-external libraries,[1] and Go uses a BSD-style license that explicitly requires distributing the license with binaries,[2] so they're both in the same boat we are. AFAICT D's stdlib uses the Boost license[3] which explicitly allows one to forgo distributing the license with compiled artifacts, but I don't know if solving this issue entirely would require the entire compiler to be licensed under Boost as well. Presuming that interpreted languages can gracefully ignore this issue, I don't know which other "new" languages we could look at for inspiration.

[1] https://github.com/JuliaLang/julia/blob/master/LICENSE.md

[2] https://github.com/golang/go/blob/master/LICENSE

[3] https://github.com/D-Programming-Language/phobos/blob/master...


> I'm guessing you can't go giving out concrete legal advice for free, but could you point us towards languages that are fixing this?

Please note that kibwen is not part of the core Rust team.


Sure, but note:

If you don't fix this, you end up with two situations:

1. You accidentally create copyright infringers out of a lot of folks, because the number of people who will properly reproduce the license with static binaries is small.

2. Because of #1, you expose folks to a bunch of liability they weren't expecting.

Neither is a great thing to do to your users.

Combined with the fact that you don't have CLA's that grant you explicit sublicensing rights, anyone who contributes could go off and easily have a sane case against someone for not reproducing the notice. Statutory damages for copyright infringement are up to 150k in the US, sadly.

Anyway, as for other languages, this is being fixed for Go's runtime bits (and possibly stdlib), which i can talk about, but it's not really my secret to share in the case of the other languages I know about fixing it.


  > Anyway, as for other languages, this is being fixed for 
  > Go's runtime bits (and possibly stdlib), which i can talk 
  > about
Even if I have no power to change anything about Rust myself, if you care to advise I'd love to listen and potentially pass on your wisdom to the core team. And if you'd prefer a different medium than HN comments, you can find my email in my profile. :)


Indeed, just a concerned rando to whom the core team foolishly granted some modicum of influence. :)




Applications are open for YC Summer 2020

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

Search: