Replace Proprietary and Other with SPDX LicenseRef identifiers - #275
Conversation
The briefcase new wizard will now offer 'LicenseRef-Proprietary' as the license value for proprietary projects, since 'Proprietary' is not a valid SPDX expression under PEP 639 metadata (beeware/briefcase#3016). The 'Proprietary' choice is retained so that older briefcase versions (which still pass 'Proprietary') continue to work against this template. Refs beeware/briefcase#3016
freakboy3742
left a comment
There was a problem hiding this comment.
Thanks for the PR, but you've massively overengineered this, and slightly missed the point.
The original issue is that Proprietary isn't a valid value for a license - it needs to be an SPDX identifier.
No unit test is needed for this change - just a change to the template. The test that is presented here doesn't actually validate anything.
| "GPL-3.0+", | ||
| "Proprietary", | ||
| "LicenseRef-Proprietary", | ||
| "Other" |
There was a problem hiding this comment.
As noted on the Briefcase PR, we should also be handling "Other"
| "Other" | |
| "LicenseRef-Other" |
Proprietary and Other are not valid SPDX expressions under PEP 639. Use LicenseRef-Proprietary and LicenseRef-Other, matching the paired change in beeware/briefcase#3021. Refs beeware/briefcase#3016
Georgefifth
left a comment
There was a problem hiding this comment.
Addressed: the test is removed, and "Other" is now replaced with LicenseRef-Other alongside LicenseRef-Proprietary. I also dropped the backward-compat dual values — briefcase releases pin a template hash, so there is no real-world mixing of old and new values, and the extra choices were just noise.
freakboy3742
left a comment
There was a problem hiding this comment.
Thanks for those updates!
Problem:
LicenseRef-ProprietaryandLicenseRef-Otheras license values, becauseProprietaryandOtherare not valid SPDX expressions under PEP 639. The template currently rejects those values.Solution:
ProprietaryandOtherchoices withLicenseRef-ProprietaryandLicenseRef-Other.LicenseRef-Proprietary(as before);Otherhad no LICENSE template branch, so behaviour is unchanged.Result:
briefcase new -Q license=LicenseRef-Proprietarygenerates a project with a valid SPDX license value and the proprietary LICENSE text; verified end-to-end against the paired briefcase PR.Refs beeware/briefcase#3016
PR Checklist:
Assisted-by: Hermes Agent (Qwen3.8-Max) — changes reviewed and verified end-to-end by the operator