docs(license-exceptions): document the decision workflow; generators stop assuming approval - #1515
Merged
Conversation
…uming approval in generated data
- README: add a staff runbook for recording decisions via the
license-exception/{approved,denied,not-eligible} labels, document both
issueUrl and results, and clarify that approvedDate is the decision
date regardless of outcome and is required by convention, not schema.
- Policy: align 'Process for applying for an exception' with the label
driven flow; denied and not-eligible decisions are recorded, not just
closed.
- Issue template: distinct labels for the six 'Please explain' fields,
an example table row in the guidance text (kept out of the submitted
value so it cannot be recorded by mistake), and explicit column rules.
- CSV: add an Issue column; rename 'Date Published' to 'Decision Date'.
- SPDX: PackageComment reads 'Decision: <status> (<date>)' and links the
issue; the fallback no longer injects the word 'approved'.
- validate-exceptions: check exc- id format and that results/issueUrl
are http(s) URLs.
Regenerated CSV and SPDX.
Signed-off-by: Jeffrey Sica <me@jeefy.dev>
✅ Deploy Preview for cncf-license-exceptions ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Docs, issue template, and generated-data changes to match the label-driven decision flow (see #1513) and stop assuming every recorded entry is an approval. Schema and
exceptions.jsonuntouched; CSV and SPDX regenerated.README
issueUrlandresults, and clarifiesapprovedDateis the decision date regardless of outcome and is required by convention, not by schema (README said "required", schema disagreed).Policy — "Process for applying for an exception"
Aligned with reality: staff triage via labels, Legal Committee recommendation, Governing Board vote, staff applies a decision label which opens a PR; denied and not-eligible decisions are recorded, not just closed. Heading/anchor unchanged; no other policy text touched.
Issue template
### Please explainheadings in the issue body. Each now names its section. Field ids unchanged.github.com/example/librecorded), plus explicit rules: Component and License(s) required, SPDX identifiers, one component per row, no|in cells.Generators
results || issueUrl); "Date Published" → "Decision Date".PackageCommentis nowProject: X. Scope: Y. Decision: <status> (<date>). <comment> Issue: <url>. The old fallback injected the literal word "approved" when status was missing.validate-exceptions
exc-ids must matchexc-YYYY-MM-DD-NNN(all 493 do; the one legacy idblanket-ebpf-gplis reported and exempt).results/issueUrlmust be http(s) URLs.Verification
ajv schema validation passes, no duplicate ids, id-format and URL checks pass, regeneration is idempotent.