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

Illustrate the expected NOTICE/LICENSE #10338

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

jbonofre
Copy link

@jbonofre jbonofre commented Feb 4, 2025

This PR illustrates what should be in LICENSE and NOTICE.

  1. The root LICENSE and NOTICE are for source distribution
  2. The root LICENSE-BINARY-DIST and NOTICE-BINARY-DIST are for all jar by default
  3. cli/cli/LICENSE and cli/cli/NOTICE are for the nessie-cli jar (I provide an example of expected content here)
  4. gc/gc-tool/LICENSE and gc/gc-tool/NOTICE are for the gc-tool jaar
  5. servers/quarkus-server/runner/LICENSE and servers/quarkus-server/runner/NOTICE are for the Quarkus fat jar for nessie-server
  6. tools/server-admin/runner/LICENSE and tools/server-admin/runner/NOTICE are for the Quarkus fat jar for nessie-admin-server

@CLAassistant
Copy link

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

@jbonofre jbonofre marked this pull request as draft February 4, 2025 20:52
@jbonofre
Copy link
Author

jbonofre commented Feb 4, 2025

@snazy @dimas-b this is the improvement proposal about LICENSE and NOTICE.

@jbonofre
Copy link
Author

jbonofre commented Feb 4, 2025

I can apply this to #10331 but I wanted to illustrate and provide what should be included or not included.

Copy link
Member

@dimas-b dimas-b left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This approach make sense to me 👍

I'm not sure about some specific listed dependencies, though :)


Apache Polaris (incubating)
Copyright The Apache Software Foundation
| Apache Iceberg
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is it standard to use | as the prefix on included lines?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's a way to clearly format the NOTICE file from dependency (to avoid to confuse the reader). It's used in several ASF projects.


--------------------------------------------------------------------------

This binary artifact bundles EnvoyProxy.
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Really? Where does EnvoyProxy get bundled?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jbonofre : do you have any particular methodology for checking bundled stuff?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's a transitive from gRPC: envoyproxy is shaded in gRPC:

$ jar tvf nessie-cli-0.102.5-SNAPSHOT.jar|grep -i envoyproxy
...
  2713 Tue Dec 10 17:19:14 CET 2024 io/grpc/xds/shaded/io/envoyproxy/pgv/validate/Validate$FieldRules$1.class
 17354 Tue Dec 10 17:19:14 CET 2024 io/grpc/xds/shaded/io/envoyproxy/pgv/validate/Validate$Fixed64Rules.class
 20939 Tue Dec 10 17:19:14 CET 2024 io/grpc/xds/shaded/io/envoyproxy/pgv/validate/Validate$UInt64Rules$Builder.class
  1260 Tue Dec 10 17:19:14 CET 2024 io/grpc/xds/shaded/io/envoyproxy/pgv/validate/Validate$DurationRulesOrBuilder.class
  1212 Tue Dec 10 17:19:14 CET 2024 io/grpc/xds/shaded/io/envoyproxy/pgv/validate/Validate$KnownRegex$1.class
 20839 Tue Dec 10 17:19:14 CET 2024 io/grpc/xds/shaded/io/envoyproxy/pgv/validate/Validate$SInt32Rules$Builder.class

To check, I check what is actually in the distributed jar using jar tvf foobar.jar.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thx! Good find :)

I wonder, though, why cli even gets gRPC 🤔

@@ -0,0 +1 @@
Add LICENSE/NOTICE for gc-tool
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Should we have this for every published jar?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

NB: TODO is because I know gc-tool is shading dependencies, but I didn't have time to list yet. I will do that today.

Copy link
Member

@dimas-b dimas-b Feb 5, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No, I mean we should do this exercise for every published jar, right?.. or only for "fat" jars?

@@ -0,0 +1,631 @@
Nessie
Copyright 2015-2025 Dremio Corporation
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you mean this NOTICE to be included into the jar too?

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes as the NOTICE might be specific (depending of the bundled dependencies).

snazy added a commit to snazy/nessie that referenced this pull request Feb 5, 2025
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

Successfully merging this pull request may close these issues.

3 participants