zesterer / tao

A statically-typed functional language with generics, typeclasses, sum types, pattern-matching, first-class functions, currying, algebraic effects, associated types, good diagnostics, etc.
https://tao.jsbarretto.com/
Mozilla Public License 2.0
1.09k stars 23 forks source link

License #52

Closed matthiasbeyer closed 1 year ago

matthiasbeyer commented 1 year ago

First of all, to get that out of the way: I am not a lawyer.


We discussed on mastodon about putting a license into this repository. You noted that you liked my suggestion of MPL-2.0, so here's a PR that adds that license, plus some github-action based checks whether the license header is in all rust files (plus, of course, adding the license headers to these files).

Tell me what you think!


To be extra safe:

I hereby allow all my contributions up until now (10. March 2023, 11:50 GMT+1) to be relicensed as MPL-2.0, if the Author of this repository, namingly @zesterer , wishes.

:wink:


Closes #26

netlify[bot] commented 1 year ago

Deploy Preview for thriving-beignet-855860 ready!

Name Link
Latest commit 44fe21baea53d7ebb14acd37dbf233a9bf9e787f
Latest deploy log https://app.netlify.com/sites/thriving-beignet-855860/deploys/640b484caf044b00085b8899
Deploy Preview https://deploy-preview-52--thriving-beignet-855860.netlify.app
Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site settings.

zesterer commented 1 year ago

This looks broadly fine to me.

However, I'm not sure about the license being applied to every header file. I've been doing what research I can, and I've yet to find anything that implies that it's truly necessary for the license to apply to the repository.

The license field in the Cargo.toml + a copy of the license in the repository seems to conventionally be sufficient for basically everyone. Given that it's quite a maintenance burden to keep up to date and that open-source has gained enough momentum that blanket licensing for entire projects is fairly well understood nowadays, I think I'd rather that we avoided this.

matthiasbeyer commented 1 year ago

Yep, after reading up a bit on this (https://users.rust-lang.org/t/does-the-mpl-2-0-require-headers-in-every-file/84179) I agree.

matthiasbeyer commented 1 year ago

I can squash away the unnecessary commits if you want! :smile:

zesterer commented 1 year ago

I think this good to go, thanks so much for taking the time to do this!

zicklag commented 1 year ago

I might be missing something, but the license commited in this PR is the Apache license, not the MPL license.

Is that right?

zesterer commented 1 year ago

This is true. When googling initially it seemed like the two licenses were compatible, but on further reading this might not be true. @matthiasbeyer did you happen to know anything more about this?

zicklag commented 1 year ago

OK, that's fine, I'm not worried about it either way, I just wanted to make sure it wasn't an accident. :)

matthiasbeyer commented 1 year ago

I might be missing something, but the license commited in this PR is the Apache license, not the MPL license.

OMFG. How did this happen? I mean... I went to choosealicense.com and copied the MPL.

@zesterer do you want me to submit a PR to rewrite the LICENSE file to MPL?

I don't know too much about compatibilities, I only know that the most projects in Rustland use MIT + Apache2, so they must be compatible. But IIRC you were in favour of the copyleft that MPL gives, so we should change, right?