-
Notifications
You must be signed in to change notification settings - Fork 662
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
chore: Add MIT and Apache licenses and update crate licenses #4732
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Are you sure that these crates do not have GPL dependencies? In general we cannot switch to apache or MIT license in nearcore due to GPL dependencies
vm-logic:
primitives:
All others changes are dependencies of these. Is there a concern that one of these is licensed other than these and just not updated in cargo? What are the dependencies that are gpl3? I can't even find any on |
There are some parity dependencies (pwasm-utils) for example. |
@chefsale could you review this change? |
This looks reasonable to me. Let's just use little or instead of OR in the string. Migrating from Apache to Apache or MIT will not create any new issue except the ones which already exists there will still be there, so this can only be an improvement. We just need to take a look as a follow up, is there and GPL based licence which we include in those crates if yes all the crates should be GPL licenced. |
Every rust license declaration I've seen uses |
The scan results can be found here for this PR once done: https://app.fossa.com/projects/custom+21311%2Fgit@github.com:near%2Fnearcore.git/refs/branch/austin%2Flicenses/dd11010a22c65447890a5673653b8811ffa7b2c7 This is for the whole nearcore repo, some of them are GPL/LGPL issues on master which aren't resolved. @bowenwang1996 and @matklad will probably be able to say more about specific packages and dependencies. |
Update on the previous comment once the scan has finished, the dependencies which are in a violation are:
If none of these are used in these crates transitively, we are good to proceed. |
jemalloc is mit/apache: https://github.com/gnzlbg/jemallocator/blob/master/jemalloc-sys/Cargo.toml#L10 |
@austinabell please confirm this and move this PR forward |
As well as Also checked, gnuplot is only used in runtime-params-estimator, which doesn't seem to be used at all transitively within nearcore and definitely not through the deps I'm making as the cargo licenses would have included it (and checked cargo tree). I'm going to open this PR given no reasons against given yet, and reviewers can try to find any flaws with this. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
not a lawyer, but LGTM!
After this PR, it'd be cool to add a CI check that we don't introduce gpl dependencies inadvertently. Here's how this check looks in rust-analyzer:
@matklad we already use FOSSA and there could be such a policy implemented there once we have resolved all the current compliance issues. |
We already use nearcore/.buildkite/pipeline.yml Lines 22 to 28 in e5315e5
|
Even better, didn't know this is in the CI :P |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am not a lawyer either, it looks good to me
Is this the new pick up phrase these days :) |
I just updated the dependency crates used from the SDK
Open questions before opening PR: