-
Notifications
You must be signed in to change notification settings - Fork 992
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
Package Apache-2.0 license properly #1946
base: master
Are you sure you want to change the base?
Conversation
Would appreciate some hints in the OP or PR comments that point out for each crate why this is necessary. |
I have edited the top-comment |
For examples and interop, why do you care? Presumably you're not going to package these, nor is anyone distributing them. For tonic itself, IMO we should not encumber the published crate with another license only for a disabled benchmark -- could we exclude any files from that benchmark from the distribution? |
In practice no, it is not necessary, I just followed that in the current version there is metadata included around it. Was also considering just stripping down the
Feel free to strip down as much as possible for distribution. We want to avoid having benches in downstream packaging as well, and personally it seems to make more sense to run the benches on a git repo rather than a packaged crate, but I am not familiar enough with the ecosystem to know why the benches are generally packaged. |
Stripping metadata for these crates and adding
Suggest just adding |
Done.
Needed to use |
62a69c7
to
3d4bf08
Compare
Regarding For Footnotes |
Motivation
This PR tries to address licensing issue in the
Cargo.toml
metadata. Both the source files and the generated files containApache-2.0
licensed files, and as such theCargo.toml
file should reflect that. This is not a issue becauseprost
is already licensed asApache-2.0
and as such any dependency would have to comply withMIT AND Apache-2.0
implicitly.A more nuanced file are the
.bin
files which further includesBSD-3-Clause
metadata. To me it is unclear what thelicense
underCargo.toml
is meant to reflect and if it would include the generated artifacts at the end as well, and it is also ambiguous who should be carrying the additionalBSD-3-Clause
license information (tonic
,prost
or end-user?). This part is not addressed here.Solution
Apache-2.0
license file and metadataLicense breakdown for the files that require the additional Apache-2.0 metadata:
examples
: examples/protointerop
: interop/proto/grpc/testingtonic
: tonic/benches-disabled/proto/helloworldtonic-health
: tonic-health/prototonic-reflection
: tonic-reflection/proto,tonic-types
: tonic-types/protoFor reference I searched for
Apache License
as well as the spdx formApache-2.0
.Additionally all of the
src/generated/*.bin
files have the Apache-2.0 metadata in them, as well as theBSD-3-Clause
Extracted from types.bin
For reference: https://spdx.org/licenses/BSD-3-Clause.html
PS: the Apache-2.0 copyright should be updated to include
tonic
as the copyright holder, unless it is not meant to be altered from upstream.