Review: rust-fips204-ffi 0.5.0-1
Package Information
| Description | Library for FIPS 204 (ML-DSA) This package contains a dynamic library (shared object) implementing the Module-Lattice-Based Digital Signature Standard, also known as ML-DSA or FIPS 204. It is written in pure Rust with minimal and mainstream dependencies, and without any unsafe code. All three security parameter sets are fully functional and tested. The implementation's key- and signature-generation functionality focuses on correctness, simplicity, security, and a stable API. See <https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.204.pdf> for a full description of the target functionality. |
|---|---|
| Maintainer | Debian Rust Maintainers <pkg-rust-maintainers@alioth-lists.debian.net> |
| Changed By | Daniel Kahn Gillmor <dkg@fifthhorseman.net> |
| Distribution | unstable |
| Architecture | any |
| VCS | git: https://salsa.debian.org/rust-team/debcargo-conf.git [src/fips204-ffi] (browse) |
| Tracker | https://tracker.debian.org/pkg/rust-fips204-ffi |
| Uploaded | 5 days ago |
New Package Report
.changes
| Distribution | unstable |
|---|---|
| Date | Fri, 30 Oct 2026 13:33:15 -0400 |
| Source | rust-fips204-ffi |
| Version | 0.5.0-1 |
| Changed-By | Daniel Kahn Gillmor <dkg@fifthhorseman.net> |
| Architecture | source amd64 |
Changelog
rust-fips204-ffi (0.5.0-1) unstable; urgency=medium . * Package fips204-ffi 0.5.0 from crates.io using debcargo 2.8.4
.dsc
| Package-List | libfips204-0 deb libs optional arch=any libfips204-dev deb libdevel optional arch=any python3-fips204 deb python optional arch=any |
|---|---|
| Section | libs |
| Priority | optional |
| Component | main |
debian/copyright
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Name: fips204-ffi Upstream-Contact: Daniel Kahn Gillmor <dkg@fifthhorseman.net> Source: https://github.com/integritychain/fips204 Files: * Copyright: 2026 Daniel Kahn Gillmor <dkg@fifthhorseman.net> 2026 Eric Schorn <eschorn@integritychain.com> License: MIT or Apache-2.0 Files: debian/* Copyright: 2026 Debian Rust Maintainers <pkg-rust-maintainers@alioth-lists.debian.net> 2026 Daniel Kahn Gillmor <dkg@fifthhorseman.net> License: MIT or Apache-2.0 License: Apache-2.0 Debian systems provide the Apache 2.0 license in /usr/share/common-licenses/Apache-2.0 License: MIT Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: . The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. . THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
DFSG Assistant LLM REVIEW 1 blocker, 0 important, 1 minor
This is an LLM based review using a Debian Inference based workflow. It was not written by a member of the DFSG team and has not been checked by one. It is not a decision on the package: it may be wrong, and it may have missed things.
Reviewed 5 days ago.
Report
DFSG NEW review for rust-fips204-ffi version 0.5.0-1
Summary
- Licensing is DFSG-compliant and
debian/copyrightis accurate: No - Packaging is of good quality: Yes
- Issues: 1 blocker, 0 important, 1 minor
- debian/watch: version 5
- debian/copyright: machine-readable
- Scan before the review: nothing found
Licensing
Everything shipped is under the upstream MIT or Apache-2.0 dual licence, both DFSG-free and compatible when combined in one library, and debian/copyright is DEP-5 with the MIT text and the Apache-2.0 pointer to /usr/share/common-licenses. But the copyright file does not describe every file: LICENSE-MIT carries its own notice, Copyright (c) 2020-2022 RustCrypto Developers, which Files: * replaces with 2026 Daniel Kahn Gillmor and 2026 Eric Schorn; the debcargo hint shipped as debian/copyright.debcargo.hint had a stanza for it, and the overlay dropped it. No non-free terms, no build artifacts, no unlicensed files.
Packaging
The hand-written packaging over the debcargo skeleton is sound: compat 13, correct Build-Depends/Build-Depends-Arch split for a Rust C library, multiarch install and link paths via ${DEB_HOST_MULTIARCH}, a symbols file whose 19 ml_dsa_* symbols match src/lib.rs, a SONAME (libfips204.so.0) that matches the package name and the .install/.links files, and two autopkgtests that exercise the installed dev package, the header (C, two-TU link, C++) and the installed Python module. The one defect is a Provides: ${python3:Provides} that no tool in the build defines.
Issues
blocker licensing 1. debian/copyright omits the holder RustCrypto Developers of LICENSE-MIT and misattributes that file to the 2026 holders ◂
-
Files:
LICENSE-MIT:1,debian/copyright:6-9 -
Basis: checked, in the package or with a reference tool
-
Evidence: LICENSE-MIT:1
Copyright (c) 2020-2022 RustCrypto Developers; debian/copyrightFiles: */Copyright: 2026 Daniel Kahn Gillmor <dkg@fifthhorseman.net>/2026 Eric Schorn <eschorn@integritychain.com>is the only stanza that matches the file, and no stanza anywhere names RustCrypto Developers.debian/copyright.debcargo.hint:15-17still hasFiles: LICENSE-MIT/Copyright: 2020-2022 RustCrypto Developers. -
Problem:
Files: *is the catch-all and applies to LICENSE-MIT, so the copyright file states a holder and years that are not what the file itself says, and drops the holder its notice names. DEP-5 (copyright-format 1.0 section 6.6) requires each file'sCopyrightto record the holders and years from the file's own notices, so the file fails the requirement that debian/copyright describe every file. -
Fix:
Add a stanza after
Files: *(later stanzas override earlier ones):Files: LICENSE-MIT Copyright: 2020-2022 RustCrypto Developers License: MIT or Apache-2.0
minor
packaging
2. python3-fips204's Provides: ${python3:Provides} is a substitution variable nothing defines
◂
- Files:
debian/control:69-70 - Basis: checked, in the package or with a reference tool
- Evidence:
Provides:/${python3:Provides},in the python3-fips204 stanza. dh_python3(1) and /usr/share/dh-python only ever set${python3:Depends},${python3:Recommends}and${python3:Suggests}(noProvides) and dh_gencontrol adds no such variable; deb-substvars(5): "If a variable is referred to but not defined it generates a warning and an empty value is assumed." - Problem: The build emits a dpkg-gencontrol warning for python3-fips204 and the Provides field ends up empty, so the maintainer gets an error message for a field that provides nothing. No other package names a
fips204Python provides either, so nothing is lost by removing it. - Fix: Delete the
Provides:field from the python3-fips204 stanza.
Verified ◂
- Prescan file accounted for: LICENSE-MIT is the RustCrypto Developers MIT text and is the basis of the licensing issue above; nothing else it listed.
- Read all 21 upstream files (root, python/, src/, tests/) and all of debian/ except cargo-checksum.json and watch; grep for Copyright/(C)/©/SPDX-License-Identifier/Licensed under/permission is hereby/GNU/Apache/MPL/BSD/public domain/All rights reserved found only LICENSE-MIT's notice and the stock Apache-2.0 text in LICENSE-APACHE (its Appendix is the unfilled
Copyright [yyyy] [name of copyright owner]template), so no holder or licence is missed byFiles: *other than the issue reported. - No build artifacts, minified code, PDFs or vendored third-party code in the tree (the orig tarball lists exactly the unpacked tree, no Files-Excluded needed, debian/patches is empty);
tests/nist-tests.cis not shipped but generated from the shippedtests/generate-nist.pyandtests/nist-tests-template.cand removed by debian/clean, so nothing lacks its preferred form for modification. - debian/copyright MIT paragraph reproduces LICENSE-MIT's terms and Apache-2.0 is by pointer to common-licenses; MIT and Apache-2.0 are compatible in the one library.
- libfips204-0.install's
target/*/release/libfips204.so.*matches the build layout: /usr/share/cargo/bin/cargo always passes--target $(DEB_HOST_RUST_TYPE)tocargo build(/usr/share/cargo/bin/cargo,newargs), and debian/scripts/post-build usesln -f(a hard link, not a symlink) so the file installed as libfips204.so.0 is the real cdylib, not a dangling link; build.rs sets the SONAME to libfips204.so.0 and the package is libfips204-0, with libfips204-dev.links supplying thelibfips204.solink name. - dh_install(1) and dh_link(1) document
${DEB_HOST_MULTIARCH}substitution at compat 13 and later, which the .install and .links files rely on; debhelper-compat (= 13) is supported by the installed debhelper 14.5. - At compat 13 dh skips override and hook targets of dh_auto_test under DEB_BUILD_OPTIONS=nocheck, so
execute_after_dh_auto_test: cd tests && makeneeds no nocheck check of its own. - libfips204-0.symbols lists exactly the 19 symbols src/lib.rs exports (6 per ML-DSA parameter set plus ml_dsa_populate_seed) for libfips204.so.0, with
Build-Depends-Package: libfips204-dev. - The autopkgtests do not need the NIST vector files they cannot find: tests/Makefile skips run-nist-tests unless all three files are under FIPS204_NIST_VECTORS, and python/test/nist.py prints
not found, skippedper missing mode and only asserts that one mode ran; the installed module is whatcd python && ./test/nist.pyimports (sys.path[0] is python/test, so the system python3-fips204 is used). - Standards-Version 4.7.4 matches the reviewing system's Policy 4.7.4.1 in its first two components; changelog is a single well-formed 0.5.0-1 unstable entry; source/format is 3.0 (quilt).
- uscan found the packaged version as the newest upstream release (upstream
0.5.0, packaged0.5.0). - Every pointer of
debian/copyrightto /usr/share/common-licenses names a file that is there (Apache-2.0).
Not confirmed ◂
- debian/rules has no override_dh_auto_install, so dh-cargo's install step (/usr/share/perl5/Debian/Debhelper/Buildsystem/cargo.pm) runs
cargo installfor libfips204-0 (the first Architecture: any package), while Cargo.toml declares only[lib]withautobins = falseand no src/bin. cargo-install(1) says only packages with[[bin]]or[[example]]targets can be installed; if cargo rejects a bin-less crate the build stops at dh_auto_install. A build would show it; no override is present that would prevent it.
Proposed changes ◂
None.
Uploader's response to the LLM review
The uploader hasn't responded yet, and is welcome to at any time. The 24-hour hold has ended, so the package is now open for review as usual.
Review Information
accepted — allocated to eamanu 5 days ago, started 5 days ago, completed 5 days ago.
Final Comment
Other Reviews of this Package
| Version | Hash | Allocated | Completed | Reviewer | Status | Details |
|---|---|---|---|---|---|---|
| 0.5.0-1 | de3c4e97… | 2026-10-30 17:36 | 2026-10-30 17:36 | dfsg-uploader | rejected | VIEW |
Public Notes
licensecheck
Command: licensecheck -r --deb-machine .
Exit code: 0
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: FIXME
Upstream-Contact: FIXME
Source: FIXME
Disclaimer: Autogenerated by licensecheck
Files: ./.cargo_vcs_info.json
./Cargo.lock
./Cargo.toml
./Cargo.toml.orig
./README.md
./build.rs
./debian/cargo-checksum.json
./debian/changelog
./debian/clean
./debian/control
./debian/control.debcargo.hint
./debian/debcargo.toml
./debian/libfips204-0.install
./debian/libfips204-0.symbols
./debian/libfips204-dev.install
./debian/libfips204-dev.links
./debian/python3-fips204.install
./debian/rules
./debian/rules.debcargo.hint
./debian/scripts/post-build
./debian/source/format
./debian/tests/control
./debian/tests/control.debcargo.hint
./debian/upstream/metadata
./debian/watch
./fips204.h
./python/README.md
./python/fips204.py
./python/test/nist.py
./src/lib.rs
./tests/Makefile
./tests/baseline.c
./tests/cplusplus.cc
./tests/generate-nist.py
./tests/nist-tests-template.c
./tests/two_a.c
./tests/two_b.c
Copyright: NONE
License: UNKNOWN
FIXME
Files: ./python/.pyproject.toml.swp
./python/pyproject.toml
Copyright: NONE
License: Apache-2.0 and/or Expat
FIXME
Files: ./LICENSE-APACHE
Copyright: NONE
License: Apache-2.0
FIXME
Files: ./debian/copyright
Copyright: 2026, Daniel Kahn Gillmor <dkg@fifthhorseman.net>
2026, Debian Rust Maintainers <pkg-rust-maintainers@alioth-lists.debian.net>
License: Apache-2.0 and/or Expat
FIXME
Files: ./debian/copyright.debcargo.hint
Copyright: FIXME (overlay) UNKNOWN-YEARS Daniel Kahn Gillmor <dkg@fifthhorseman.net>
License: Apache-2.0 and/or Expat
FIXME
Files: ./LICENSE-MIT
Copyright: 2020-2022, RustCrypto Developers
License: Expat
FIXME
debian/copyright check
Command: cme check dpkg-copyright
Exit code: 0
INFO: Model Dpkg::Copyright class: accept attribute should be a list of hash with 'pattern' key. I.e. something like [ { pattern => 'xyz.*', info}, ...] instead of [ 'xyz.*' => {info}, ... ]
INFO: Model Dpkg::Copyright::LicenseSpec class: accept attribute should be a list of hash with 'pattern' key. I.e. something like [ { pattern => 'xyz.*', info}, ...] instead of [ 'xyz.*' => {info}, ... ]
INFO: Model Dpkg::Copyright::Content class: accept attribute should be a list of hash with 'pattern' key. I.e. something like [ { pattern => 'xyz.*', info}, ...] instead of [ 'xyz.*' => {info}, ... ]
Warning in 'Files:"*" License short_name': value is "MIT or Apache-2.0". There are many versions of the MIT license. Please use Expat instead, when it matches. See L<Debian copyright format|https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/#license-specification> and L<wikipedia|https://en.wikipedia.org/wiki/MIT_License#Various_versions>for details.
Offending value: 'MIT or Apache-2.0'
Warning in 'Files:"debian/*" License short_name': value is "MIT or Apache-2.0". There are many versions of the MIT license. Please use Expat instead, when it matches. See L<Debian copyright format|https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/#license-specification> and L<wikipedia|https://en.wikipedia.org/wiki/MIT_License#Various_versions>for details.
Offending value: 'MIT or Apache-2.0'
you can try 'cme fix dpkg-copyright' to fix the warnings shown above
licenserecon
Command: licenserecon
Exit code: 3
en: Versions: licenserecon '19.0' licensecheck '3.3.9-1'
Parsing Source Tree ....
Reading d/copyright ....
Running licensecheck ....
d/copyright | licensecheck
MIT or Apache-2.0| Apache-2.0 and/or Expat python/pyproject.toml
MIT or Apache-2.0| Apache-2.0 and/or Expat python/.pyproject.toml.swp
Look for SPDX
Command: grep -r -B1 'SPDX-'
Exit code: 1
(no output)
Lintian
Command: lintian -i -I -v --pedantic
Exit code: 0
N:
W: libfips204-0: initial-upload-closes-no-bugs [usr/share/doc/libfips204-0/changelog.Debian.gz:1]
N:
N: This package appears to be the first packaging of a new upstream software
N: package (there is only one changelog entry and the Debian revision is 1),
N: but it does not close any bugs. The initial upload of a new package should
N: close the corresponding ITP bug for that package.
N:
N: This warning can be ignored if the package is not intended for Debian or
N: if it is a split of an existing Debian package.
N:
N: Please refer to New packages (Section 5.1) in the Debian Developer's
N: Reference for details.
N:
N: Visibility: warning
N: Show-Always: no
N: Check: debian/changelog
N: Renamed from: new-package-should-close-itp-bug
N:
N:
W: libfips204-dev: initial-upload-closes-no-bugs [usr/share/doc/libfips204-dev/changelog.Debian.gz:1]
N:
W: python3-fips204: initial-upload-closes-no-bugs [usr/share/doc/python3-fips204/changelog.Debian.gz:1]
N:
I: rust-fips204-ffi source: upstream-metadata-missing-bug-tracking [debian/upstream/metadata]
N:
N: The DEP 12 metadata file does not specify any upstream bug tracking
N: information (ie. the Bug-Database or Bug-Submit fields are missing).
N:
N: The upstream metadata can be found in the source package in the file
N: debian/upstream/metadata.
N:
N: Please refer to https://dep-team.pages.debian.net/deps/dep12/ for details.
N:
N: Visibility: info
N: Show-Always: no
N: Check: debian/upstream/metadata
N:
N:
P: rust-fips204-ffi source: package-uses-old-debhelper-compat-version 13
N:
N: This package uses a debhelper compatibility level that is no longer
N: recommended. Please consider using the recommended level.
N:
N: For most packages, the best way to set the compatibility level is to
N: specify debhelper-compat (= X) as a Build-Depends in debian/control. You
N: can also use the debian/compat file or export DH_COMPAT in debian/rules.
N:
N: If no level is selected debhelper defaults to level 1, which is
N: deprecated.
N:
N: Please refer to the debhelper(7) manual page for details.
N:
N: Visibility: pedantic
N: Show-Always: no
N: Check: debhelper
N:
duck
Command: duck
Exit code: 0
(no output)
look for copyright
Command: egrep -R -i copyright
Exit code: 0
LICENSE-APACHE: "Licensor" shall mean the copyright owner or entity authorized by
LICENSE-APACHE: the copyright owner that is granting the License.
LICENSE-APACHE: copyright notice that is included in or attached to the work
LICENSE-APACHE: submitted to Licensor for inclusion in the Work by the copyright owner
LICENSE-APACHE: the copyright owner. For the purposes of this definition, "submitted"
LICENSE-APACHE: designated in writing by the copyright owner as "Not a Contribution."
LICENSE-APACHE:2. Grant of Copyright License. Subject to the terms and conditions of
LICENSE-APACHE: copyright license to reproduce, prepare Derivative Works of,
LICENSE-APACHE: that You distribute, all copyright, patent, trademark, and
LICENSE-APACHE: You may add Your own copyright statement to Your modifications and
LICENSE-APACHE: same "printed page" as the copyright notice for easier
LICENSE-APACHE:Copyright [yyyy] [name of copyright owner]
LICENSE-MIT:Copyright (c) 2020-2022 RustCrypto Developers
LICENSE-MIT:The above copyright notice and this permission notice
LICENSE-MIT:SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
debian/copyright.debcargo.hint:Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
debian/copyright.debcargo.hint:Copyright: FIXME (overlay) UNKNOWN-YEARS Daniel Kahn Gillmor <dkg@fifthhorseman.net>
debian/copyright.debcargo.hint: FIXME (overlay): Since upstream copyright years are not available in
debian/copyright.debcargo.hint:Copyright: 2020-2022 RustCrypto Developers
debian/copyright.debcargo.hint:Copyright:
debian/copyright.debcargo.hint: The above copyright notice and this permission notice shall be included in all
debian/copyright.debcargo.hint: AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
debian/copyright:Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
debian/copyright:Copyright: 2026 Daniel Kahn Gillmor <dkg@fifthhorseman.net>
debian/copyright:Copyright:
debian/copyright: The above copyright notice and this permission notice shall be included in all
debian/copyright: AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
look for license
Command: egrep -R -i license
Exit code: 0
Cargo.toml.orig:license = "MIT OR Apache-2.0"
Cargo.toml:license = "MIT OR Apache-2.0"
LICENSE-APACHE: Apache License
LICENSE-APACHE: http://www.apache.org/licenses/
LICENSE-APACHE: "License" shall mean the terms and conditions for use, reproduction,
LICENSE-APACHE: the copyright owner that is granting the License.
LICENSE-APACHE: exercising permissions granted by this License.
LICENSE-APACHE: Object form, made available under the License, as indicated by a
LICENSE-APACHE: of this License, Derivative Works shall not include works that remain
LICENSE-APACHE:2. Grant of Copyright License. Subject to the terms and conditions of
LICENSE-APACHE: this License, each Contributor hereby grants to You a perpetual,
LICENSE-APACHE: copyright license to reproduce, prepare Derivative Works of,
LICENSE-APACHE: publicly display, publicly perform, sublicense, and distribute the
LICENSE-APACHE:3. Grant of Patent License. Subject to the terms and conditions of
LICENSE-APACHE: this License, each Contributor hereby grants to You a perpetual,
LICENSE-APACHE: (except as stated in this section) patent license to make, have made,
LICENSE-APACHE: where such license applies only to those patent claims licensable
LICENSE-APACHE: or contributory patent infringement, then any patent licenses
LICENSE-APACHE: granted to You under this License for that Work shall terminate
LICENSE-APACHE: Derivative Works a copy of this License; and
LICENSE-APACHE: do not modify the License. You may add Your own attribution
LICENSE-APACHE: as modifying the License.
LICENSE-APACHE: may provide additional or different license terms and conditions
LICENSE-APACHE: the conditions stated in this License.
LICENSE-APACHE: this License, without any additional terms or conditions.
LICENSE-APACHE: the terms of any separate license agreement you may have executed
LICENSE-APACHE:6. Trademarks. This License does not grant permission to use the trade
LICENSE-APACHE: risks associated with Your exercise of permissions under this License.
LICENSE-APACHE: result of this License or out of the use or inability to use the
LICENSE-APACHE: License. However, in accepting such obligations, You may act only
LICENSE-APACHE:APPENDIX: How to apply the Apache License to your work.
LICENSE-APACHE: To apply the Apache License to your work, attach the following
LICENSE-APACHE:Licensed under the Apache License, Version 2.0 (the "License");
LICENSE-APACHE:you may not use this file except in compliance with the License.
LICENSE-APACHE:You may obtain a copy of the License at
LICENSE-APACHE: http://www.apache.org/licenses/LICENSE-2.0
LICENSE-APACHE:distributed under the License is distributed on an "AS IS" BASIS,
LICENSE-APACHE:See the License for the specific language governing permissions and
LICENSE-APACHE:limitations under the License.
LICENSE-MIT:publish, distribute, sublicense, and/or sell copies of
debian/copyright.debcargo.hint:License: MIT or Apache-2.0
debian/copyright.debcargo.hint:Files: LICENSE-MIT
debian/copyright.debcargo.hint:License: UNKNOWN-LICENSE; FIXME (overlay)
debian/copyright.debcargo.hint:License: MIT or Apache-2.0
debian/copyright.debcargo.hint:License: Apache-2.0
debian/copyright.debcargo.hint: Debian systems provide the Apache 2.0 license in
debian/copyright.debcargo.hint: /usr/share/common-licenses/Apache-2.0
debian/copyright.debcargo.hint:License: MIT
debian/copyright.debcargo.hint: to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
debian/copyright:License: MIT or Apache-2.0
debian/copyright:License: MIT or Apache-2.0
debian/copyright:License: Apache-2.0
debian/copyright: Debian systems provide the Apache 2.0 license in
debian/copyright: /usr/share/common-licenses/Apache-2.0
debian/copyright:License: MIT
debian/copyright: to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
python/pyproject.toml: "License :: OSI Approved :: MIT License",
python/pyproject.toml: # Apache 2.0 license is not in the list of known classifiers
python/pyproject.toml: # "License :: OSI Approved :: Apache 2.0 License",
python/pyproject.toml: "License :: DFSG approved",