-
Notifications
You must be signed in to change notification settings - Fork 11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
WIP: Add a maintenance process #116
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
# Open Source Security Baseline | ||
|
||
The Open Source Project Security Baseline (OSPS Baseline) is designed to act as a minimum definition of requirements for a project relative to it's maturity level. | ||
It is maintained by the [OpenSSF Security Baseline SIG](https://github.com/ossf/security-baseline/blob/main/governance/MAINTAINERS.md) according to the [project governance documentation](https://github.com/ossf/security-baseline/blob/main/governance/GOVERNANCE.md). | ||
|
||
## Versions | ||
|
||
Previous versions are presented for historical reference. | ||
Downstream consumers of the OSPS Baseline should specify their compliance against a specific version. | ||
Only the version labeled as "current" should be used for new compliance efforts. | ||
|
||
* [In-development version](docs/development) | ||
* Current version: [v1.0]() released YYYY-MM-DD | ||
* Previous versions: | ||
* [v0.1] released YYYY-MM-DD | ||
|
||
Versions are managed according to the [Baseline maintenance process](maintenance). |
Original file line number | Diff line number | Diff line change | ||||||||
---|---|---|---|---|---|---|---|---|---|---|
@@ -0,0 +1,20 @@ | ||||||||||
# OSPS Baseline Maintenance Process | ||||||||||
|
||||||||||
* Normal text fixes to the criteria will be accepted via pull request and reviewed by the baseline project maintainers. | ||||||||||
Allowed changes are corrections to spelling/typos, grammar corrections, or enhancements to the supplementary text supporting the criteria including - Objective, Implementation, Control Mappings, and Scorecard/Insights values. | ||||||||||
At least two project maintainers must review and approve these changes. | ||||||||||
* Substantive changes to Criteria, including changes to text that alters the originally stated meaning, new Criteria proposals, or removal of Criteria will be documented in GitHub PR(s) and reviewed regularly by the Baseline project maintainers. | ||||||||||
These changes may reflect changes to global cybersecurity regulations and frameworks or changes in norms around application/project security practices. | ||||||||||
Any such substantive changes must be approved by a majority of the project's maintainers. | ||||||||||
* As appropriate, but at least annually, the Baseline project maintainers will publish a new version of the Baseline. | ||||||||||
Previous versions of the Baseline will remain avialable, but are not maintained. | ||||||||||
* Any changes to the Baseline will be reflected within the Compliance Matrix, with new requirements flagged where the Baseline Criteria are appropriate. | ||||||||||
* Downstream stakeholders will be notified via the project's mailing list on the changes and updates. | ||||||||||
|
||||||||||
## Identifiers | ||||||||||
|
||||||||||
* Identifiers for retired criteria will not be used. | ||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Let's make explicit the sunsetting process:
Suggested change
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Makes sense. I'll update with some minor revisions to your wording. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I like the idea of keeping them in the yaml with a There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. If you want to keep a single file across versions (I think you're gonna regret it, but maybe I'll learn something), you might want There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Ah, you'll just check in the file as of a certain point, so then you use text-diff to find the changes over time. I think that will probably be workable with tools like There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Good point on |
||||||||||
* Substantial changes to the meaning of a criterion will be treated as a new criterion, resulting in a new identifier. | ||||||||||
Minor changes, including a change in level, between Baseline versions will not result in a new identifier. | ||||||||||
funnelfiasco marked this conversation as resolved.
Show resolved
Hide resolved
|
||||||||||
* The numeric portion of identifiers are assigned sequentially per category. | ||||||||||
They do not carry additional meaning. | ||||||||||
Comment on lines
+19
to
+20
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I'm fine having these here for now to keep things moving, but the identifier structure, codes and overall sematics built into the string should be explained in a doc by itself. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The point here is, I think, to address my comment in Slack
This is probably simply due to historical accident, but it's easy for someone new to come in and see a pattern which is not intentional and cause a mess. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Agreed. That's in the README right now. My intent was to pull it into the index page eventually as we settle on the general shape of this. I'd also be fine putting it in this doc or separate. I think my preference in descending order is:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should this be more specific?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this applies to all identifiers, not just deprecated ones. Without a crystal ball, we don't know which identifiers will be deprecated in the future.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Evan is correct. This is about how identifiers are governed generally (although it is largely driven by discussions around retirement).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's about identifier governance in general, because it also covers when and how identifiers can be adjusted between versions (the identifier should "mean" the same thing in the future, so that a tool or document that says
Addresses OSPS-XY-46
without explicitly specifying a baseline version is not ambiguous in the future).I don't know if it's worth explaining that philosophy in this document or not. I tend to like to see the "why" behind rules, but some people find it distracting.