Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Licensing is unclear #7

Open
gnidan opened this issue Nov 15, 2022 · 5 comments
Open

Licensing is unclear #7

gnidan opened this issue Nov 15, 2022 · 5 comments

Comments

@gnidan
Copy link
Member

gnidan commented Nov 15, 2022

This project does not currently state any license for public consumption or to inform potential contributors of their rights, if there are any.

It's unclear (to me) whether there's any added complexity here due to the EIP process requirement that all proposals be public domain. If we do intend to target an EIP as an output of this work, we certainly need to ensure that all contributors are aware that their work will be released without copyright.

Not sure if there's a reason to impose licensing constraints on non-EIP portions of this work (like, if we implement CI systems for formal schema validation, or build internal tools to generate code examples, etc. – is there any reason for this kind of ancillary stuff to reserve copyright?)

Seems worth just checking this one off quickly to prevent future headaches.

@chaals
Copy link

chaals commented Nov 15, 2022

I suggest that Apache 2.0, which includes some measure of protection against rogue actors patenting the space and using that nastily later on, is a better approach than CC0. You might want to explicitly request the right to republish as CC0 if the group decides to do so, in order to be compatible with EIP process. (Patents are potentially very nasty beasts)

@gnidan gnidan added this to the 2022-12-02 Meeting milestone Nov 16, 2022
@ekpyron
Copy link
Contributor

ekpyron commented Nov 29, 2022

FYI, the main restriction from our end on this is that solc is under GPLv3, so the license should ideally be compatible with that, s.t. we don't need to worry about it when implementing.

@chaals
Copy link

chaals commented Nov 29, 2022

Compatible with that generally means "GPL v3" (since the point of viral licensing is that it infects everything that touches it :) ).

From a patent perspective, GPL3 offers some protection (it's not brilliant in that it explicitly denies defensive use, but it's a lot better than nothing - especially if the developers involved have been scrupulous about patenting or clearly publishing everything that might be an invention, with demonstrable dates).

On the other hand, GPL3 is problematic for organisations that use a business model other than "completely open source everything". For a specification, that's not such an issue, but when you're assuming that everything integrates with a specific piece of GPL code, it's not as much fun...

@ekpyron
Copy link
Contributor

ekpyron commented Nov 29, 2022

I meant "compatible" merely in the sense of "being usable by", i.e. this project doesn't need to include the compiler, so GPLv3 won't infect anything here :-). We just may need to use output artifacts of this project in the compiler - so that's what needs to be possible under GPLv3. So I'm not suggesting to use GPLv3 as license here, just saying that being usable from solc, which is GPLv3 licensed (which we can't change), is a requirement. Apache 2.0 as well as CC0 qualify for that.

@chaals
Copy link

chaals commented Nov 29, 2022

@ekpyron clarified:

...this project doesn't need to include the compiler, so GPLv3 won't infect anything here :-) ...

Ah. In my head it occurred to me that we might need to do that. If not, I'd suggest going with Apache, or something similar that is both permissive rather than viral, and that provides as much patent protection as we can get. IMHO, allowing RF licenses to be withdrawn for the purpose of defending an implementation against patent litigation is a net positive if it's properly constrained.

Note that It's always worth asking a friendly lawyer, if you have one. I am not one, just someone who has dealt with far too many patent claims for my own liking.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants