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

Define which Licences are okay to depend on #1011

Closed
haerdib opened this issue Sep 20, 2022 · 12 comments
Closed

Define which Licences are okay to depend on #1011

haerdib opened this issue Sep 20, 2022 · 12 comments
Assignees
Labels

Comments

@haerdib
Copy link
Contributor

haerdib commented Sep 20, 2022

We should have a list somewhere which licences are okay to depend on and which are not for the worker.
E.g.

  • Apache II ✔️
  • GPL 2.0 - 3.0 ❌
  • GPL with linking exception ✔️
  • MIT ?
@haerdib
Copy link
Contributor Author

haerdib commented Sep 20, 2022

@Niederb probably makes sense if you do that. What do you think?

@Niederb
Copy link
Contributor

Niederb commented Sep 26, 2022

I think it makes most sense to directly start using a tool to automate the process. I think we could use cargo-about (https://crates.io/crates/cargo-about) as it can check the licenses and also automatically generate a html-site with all the licenses used (which we then could attach to our releases).
Other tools:

@haerdib
Copy link
Contributor Author

haerdib commented Sep 26, 2022

I like that! But this does not include non cargo-deps such as Github Actions, correct? E.g.

uses: dev-drprasad/delete-tag-and-release@v0.2.0

@Niederb
Copy link
Contributor

Niederb commented Sep 26, 2022

Yeah, this would not be included but I think in this case this is not so bad:

  • The build scripts (and similar) are not part of a binary release. As we do not distribute we do not need to include them in the License text.
  • ...but you are right for other things. For example if we have C/C++ dependencies (Intel...). Something to keep in mind.
  • Depending on the repo the license file is not so important as most users will probably rely on our code directly and not in the form of a binary

@Niederb
Copy link
Contributor

Niederb commented Sep 28, 2022

I did a bit of research regarding the classpath exception. It is my understanding that the classpath exception is fine for our use case in that it does not force us to license the rest of the code under GPL. In particular it does not distinguish between static and dynamic linking and does allow for both (seems to be the main difference to the LGPL). Again I'm not a lawyer...

@haerdib
Copy link
Contributor Author

haerdib commented Sep 28, 2022

Very cool. Thanks for the link. I think that one matters:

Here is where the Classpath Exception is invaluable. It clearly states that the code under the license is (L)GPL, but anything using that code can follow whatever license they'd like. No ifs, ands, or buts. If you change the core code (e.g. fixing bugs), you do still have to release those changes as part of the GPL. But using does NOT infect you.

@Niederb
Copy link
Contributor

Niederb commented Sep 28, 2022

@haerdib Yes, I think so too.
I created now a PR in the pallets as a "demo" that we could then apply to the other repos as well. See integritee-network/pallets#98

  • The build fails if there are incompatible licenses
  • After the build job finished the generated license fail can be downloaded.
  • If there are warnings (due to undefined licenses) the build still passes and the warnings are quite easy to overlook. I think in the long run we want a failure in case of warnings.

@Niederb
Copy link
Contributor

Niederb commented Oct 11, 2022

Current status:

@haerdib
Copy link
Contributor Author

haerdib commented Nov 11, 2022

Regarding the array-bytes : Have you notified parity about this? It's still there and actually violating their Apace license.

@haerdib
Copy link
Contributor Author

haerdib commented Nov 14, 2022

Tracking issue: paritytech/substrate#12689

@Niederb
Copy link
Contributor

Niederb commented Nov 14, 2022

Yes, we had contacted parity. Anyway it seems the problem will hopefully be solved soon. Nice

@clangenb
Copy link
Contributor

I will close this issue for now, I think have enough consensus about this.

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

No branches or pull requests

3 participants