Skip to content

Conversation

@jgehrcke
Copy link
Collaborator

@jgehrcke jgehrcke commented Mar 12, 2025

This follows the instructions in https://www.apache.org/legal/apply-license.html. In particular, this adheres to

To apply the ALv2 to a new software distribution, include one copy of the license text by copying the contents of LICENSE-2.0.txt into a file called LICENSE in the top directory of your distribution

If the distribution is a jar or tar file, try to add the LICENSE file first in order to place it at the top of the archive. This covers the collective licensing for the distribution.

In addition, you must include a correct NOTICE file in the same directory as the LICENSE file.

For the record, a screenshot from a staging environment where we see that the top-level tarball does not contain LICENSE & NOTICE files:

Screenshot from 2025-03-12 13-18-22

The goal of this patch is to make LICENSE file and NOTICE file pop up there (add them to the top-level tarball directory).

@@ -0,0 +1,202 @@

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

This file is the result of curl https://www.apache.org/licenses/LICENSE-2.0.txt > LICENSE.

@@ -0,0 +1,4 @@
Copyright 2025 NVIDIA CORPORATION
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Copy link
Member

Choose a reason for hiding this comment

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

Should this include the same / similar text as # SPDX-FileCopyrightText: in the license header?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

:) No.

The header facilitates discovering the license applied to a project/file in an automated fashion. It's typically used for SBOM generation / scanning / compliance purposes.

The NOTICE file is an implementation detail of the AL2.

Copy link
Member

@elezar elezar Mar 12, 2025

Choose a reason for hiding this comment

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

Sorry, I meant to ask whether we should include & AFFILIATES, not the SPDX tags.

@jgehrcke jgehrcke mentioned this pull request Mar 12, 2025
This follows the instructions in
https://www.apache.org/legal/apply-license.html

In particular, this adheres to

> If the distribution is a jar or tar file,
> try to add the LICENSE file first in order to
> place it at the top of the archive. This
> covers the collective licensing for the distribution.

Signed-off-by: Dr. Jan-Philip Gehrcke <[email protected]>

Signed-off-by: Dr. Jan-Philip Gehrcke <[email protected]>
@jgehrcke jgehrcke force-pushed the jp/helm-apply-license branch from 2ac78c0 to 4ed4515 Compare March 12, 2025 12:47
@@ -1,6 +1,21 @@
# SPDX-FileCopyrightText: Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
# SPDX-License-Identifier: Apache-2.0
Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Taken from internal Wiki page.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR applies the Apache License text as header comments to the Helm chart and refines the chart description to better reflect its purpose.

  • Added Apache license header information to Chart.yaml
  • Updated the chart description to specify that it is the official Helm chart for the NVIDIA DRA driver for Kubernetes
  • Revised templating comments regarding the appVersion handling for image tagging
Comments suppressed due to low confidence (1)

deployments/helm/nvidia-dra-driver-gpu/Chart.yaml:1

  • The Apache guidelines require the inclusion of a LICENSE file and a NOTICE file in the top-level directory of the distribution. Ensure that these files are added to the root of your Helm chart distribution in addition to the license comment block in Chart.yaml.
# SPDX-FileCopyrightText: Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.

@jgehrcke
Copy link
Collaborator Author

jgehrcke commented Mar 12, 2025

The copilot got this. 🛩️ Sweet:

The Apache guidelines require the inclusion of a LICENSE file and a NOTICE file in the top-level directory of the distribution. Ensure that these files are added to the root of your Helm chart distribution in addition to the license comment block in Chart.yaml.

Copy link
Collaborator

@ArangoGutierrez ArangoGutierrez left a comment

Choose a reason for hiding this comment

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

just one nit


# Note(JP): this currently defines the default `tag` value in a k8s
# image specification. A "v" is prefixed in our template helpers to ensure consistency.
# Note(JP): templating logic consumes `appVersion` for building the default `tag`
Copy link
Collaborator

Choose a reason for hiding this comment

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

I am all for notes, maybe we can use your github handle for better bookeeping
Note (@jgehrcke)

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

changed

@@ -0,0 +1,202 @@

Copy link
Member

Choose a reason for hiding this comment

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

Does it make sense to symlink to the LICENSE file in the root? I suppose their contents are the same.

Copy link
Collaborator

Choose a reason for hiding this comment

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

I like the idea, maybe all we need to check is if the command helm package would agree with this, if so, I like Evan's idea

Copy link
Member

@elezar elezar Mar 12, 2025

Choose a reason for hiding this comment

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

I have confirmed that when making the following changes:

 git status
On branch jp/helm-apply-license
Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
        new file:   NOTICE

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
        typechange: deployments/helm/nvidia-dra-driver-gpu/LICENSE
        typechange: deployments/helm/nvidia-dra-driver-gpu/NOTICE

and generating the package using hack/package-helm-charts.sh the resultant tar does contain the LICENSE and NOTICE files with the expected content.

Copy link
Collaborator

Choose a reason for hiding this comment

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

I like this ++

Copy link
Collaborator Author

@jgehrcke jgehrcke Mar 12, 2025

Choose a reason for hiding this comment

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

Thanks for thinking about linking without blinking.

:) okäse 🧀 pushed a commit.

I thought about this (symlinking) when making this patch. Thoughts were: in this case, cost of duplication is ~zero. I also wanted to quickly get over with it and thought that it might even be smart to keep things decoupled. The most important part is that the tarball contains the proper files. From the git repo point of view we can choose not to care (is a symlinked license an actual license? what would the supreme court say? would elon come to our rescue? is armageddon about to happen soon?).

Copy link
Member

@elezar elezar left a comment

Choose a reason for hiding this comment

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

Thanks @jgehrcke

I have some comments / questions, but these could be considered out of scope. I'd be more than happy to address them in a follow-up instead.

@jgehrcke jgehrcke force-pushed the jp/helm-apply-license branch from 4ed4515 to 6d2fee1 Compare March 12, 2025 14:25
Copy link
Member

@elezar elezar left a comment

Choose a reason for hiding this comment

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

Minor question regarding & AFFILIATES, but otherwise lgtm.

@@ -1,6 +1,21 @@
# SPDX-FileCopyrightText: Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved.
Copy link
Collaborator Author

@jgehrcke jgehrcke Mar 12, 2025

Choose a reason for hiding this comment

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

Good question about "AFFILIATES" @elezar . Also wondered about this specific wording. But I don't want to understand/resolve this today.

We got this instruction:

ensure the Helm chart has the NVIDIA copyright and Apache License header: url-to-confluence-page

I copy & pasted verbatim from there.

@jgehrcke
Copy link
Collaborator Author

Inclusion of proper files confirmed with logging:

± bash hack/package-helm-charts.sh 
walk.go:75: found symbolic link in path: /home/jgehrcke/dev/k8s-dra-driver-gpu/deployments/helm/nvidia-dra-driver-gpu/LICENSE resolves to /home/jgehrcke/dev/k8s-dra-driver-gpu/LICENSE. Contents of linked file included and used
walk.go:75: found symbolic link in path: /home/jgehrcke/dev/k8s-dra-driver-gpu/deployments/helm/nvidia-dra-driver-gpu/NOTICE resolves to /home/jgehrcke/dev/k8s-dra-driver-gpu/NOTICE. Contents of linked file included and used
Successfully packaged chart and saved it to: /home/jgehrcke/dev/k8s-dra-driver-gpu/nvidia-dra-driver-gpu-25.3.0-rc.1.tgz

@jgehrcke jgehrcke merged commit f265df2 into NVIDIA:main Mar 12, 2025
13 checks passed
@jgehrcke jgehrcke added this to the v25.3.0 milestone Mar 13, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Backlog

Development

Successfully merging this pull request may close these issues.

3 participants