protocolbuffers / protocolbuffers/protobuf

py_wheel license metadata still non-SPDX text despite setup.py fix in https://github.com/protocolbuffers/protobuf/pull/9441

Open Beginner friendly
#29,440 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug wait for user action
Dominant language
C++
Stars
72k
Forks
16.3k
Avg merge
1d 17h
Merged PRs (30d)
140

Description

The license of the Python package is still not SPDX compliant despite the efforts taken in https://github.com/protocolbuffers/protobuf/pull/9441.

uv venv .venv
uv pip install protobuf

cat .venv/lib/python3.11/site-packages/protobuf-7.36.0.dist-info/METADATA | grep -E "^Version|License"
License: 3-Clause BSD License
Version: 7.36.0

3-Clause BSD License is not SPDX-compliant and thus causes missing license information in PEP 639-aware SBOM tooling requiring SPDX-compliant licenses.

I assume the fix would be to change this line here:
https://github.com/protocolbuffers/protobuf/blob/7b091ee68eb1b9482197b4b0b79fe6e72d4315fb/python/dist/BUILD.bazel#L366

to the value of:
https://github.com/protocolbuffers/protobuf/blob/7b091ee68eb1b9482197b4b0b79fe6e72d4315fb/python/dist/setup.py#L73

... or getting rid of the redundancy at all.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Compare the license value in python/dist/BUILD.bazel at the referenced line with python/dist/setup.py around line 73. Reproduce the installed package metadata with the uv commands in the issue, then verify that the generated METADATA contains the SPDX-compliant license value rather than "3-Clause BSD License".

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
build-system
Issue type
Bug
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Active
Clarity
Clearly specified
Newbie friendliness
88/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.