Skip to content
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

Create TI-Gives+Gets.md #226

Merged
merged 22 commits into from
Dec 11, 2023
Merged
Changes from 11 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
87 changes: 87 additions & 0 deletions process/TI-Gives+Gets.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
# "Gives and Gets" for OpenSSF Technical Initiatives (TI)

The OpenSSF has a large community of contributors and efforts that span the broad spectrum of open source security interests. The Technical Initiatives (TIs) of the foundation are where community members collaborate and help craft unique solutions to address improving the security of the open source ecosystem.
In exchange for meeting certain requirements, the TIs are eligible to receive an assortment of benefits and have access to the capabilities of the Foundation's resources. The specific requirements and benefits (aka "Gives and Gets") for each level of maturity are documented below.
SecurityCRob marked this conversation as resolved.
Show resolved Hide resolved

Based on the specific type of work the TI is focused on (e.g., software, specification, or documentation development) the requirements and benefits may slightly differ as applicable.

Also note that benefits may actually vary based on resources and funds availability, or lack thereof.

## Sandbox level Gives & Gets

### Gives/Requirements

* TI must be aligned with the OpenSSF mission and either be a novel approach for existing areas or address an unfulfilled need. It is expected that the initial code needed for an OpenSSF WG to work be kept within their repository and will not function as a project in its own right. Should initial WG code grow and mature that it warrants its own Project status, then it is subject to Sandbox entry requirements. It is preferred that extensions of existing OpenSSF projects collaborate with the existing project rather than seek a new project.
* TI must maintain a diversified contributor base (i.e. not a single-vendor project). TI must have a minimum of two maintainers with different organization affiliations.
* TI must find an aligned WG to host the TI and must have a TAC sponsor that can help guide the TI through processes.
* TI agrees to follow the [Secure Software Development Guiding Principles](https://github.com/ossf/wg-best-practices-os-developers/blob/main/docs/SecureSoftwareGuidingPrinciples.md) and the [Open Source Consumption Manifesto](https://github.com/ossf/wg-endusers/tree/main/MANIFESTO).
SecurityCRob marked this conversation as resolved.
Show resolved Hide resolved
* If contributing an existing Project to the OpenSSF, the contribution must undergo license and IP due diligence by the Linux Foundation (LF).
* Provides quarterly updates to the TAC on technical vision and progress on vision.
* TI will have a [SECURITY.md](http://security.md/) that describes how the Project manages vulnerabilities, or more broadly how the OSSF handles vulnerability reports
SecurityCRob marked this conversation as resolved.
Show resolved Hide resolved

### Gets/Benefits
lehors marked this conversation as resolved.
Show resolved Hide resolved
lehors marked this conversation as resolved.
Show resolved Hide resolved

* TI can get assistance with Architecture & Roadmap Alignment
* Receives consideration as in-scope for any submission to an OpenSSF-managed conference or event.
* TI receives guidance on technical direction from TAC sponsor
* Reserved space for project updates in OpenSSF newsletters.
lehors marked this conversation as resolved.
Show resolved Hide resolved
* May request infrastructure support from the OpenSSF.
SecurityCRob marked this conversation as resolved.
Show resolved Hide resolved
* Projects may say they are, "A sandbox project in the OpenSSF" or "An experimental project in the OpenSSF." Gets a "sandbox" logo that is shared amongst all OpenSSF sandbox TIs.
* Communication & Collaboration - OpenSSF mailing list, OpenSSF Slack channel, OpenSSF GitHub, OpenSSF Calendaring / Recording, OpenSSF Social Media & External Engagement Support
* Governance & Administration - TI Charter Development & Review, TI Technical Steering Committee Setup, TI IP & License Review, TI Operations & Maintenance, Technical Support


## Incubating level Gives & Gets

### Gives/Requirements

All requirements of Sandbox must be fulfilled. PR filed to promote group to Incubating stage.
* Group has met no less than 5 times within the last calendar quarter
* Maintains a diversified contributor base (i.e. not a single-vendor project) with an active flow of contributions. Projects must have a minimum of three maintainers with a minimum of two different organization affiliations, and document the current list of maintainers.
* Projects must have defined a contributor guide, which makes it clear how and when contributors should be given increasing responsibilities towards maintainership of the project. (Example guides: Sigstore, AllStar)
* Projects should be able to show adoption by multiple parties and adoption's value to the open source community and/or end users (may include adoption of beta/early versions) with the intent to showcase wide adoption by the project's consumers.
* TI must have documented, initial group governance.
* Maintains a point of contact for vulnerability reports in the security.md
* Implements, practices, and refines mature software development and release practices such as following a version schema.
* TI Follows security best practices (as recommended by the OpenSSF and others), including passing the OpenSSF Best Practices criteria
SecurityCRob marked this conversation as resolved.
Show resolved Hide resolved
* Project should be integrating with Scorecards
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Does "should" mean that these requirements are recommended but optional?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This covers all TIs, so yes, it is optional for things that are not code in my opinion.

SecurityCRob marked this conversation as resolved.
Show resolved Hide resolved
* Begins to establish the appropriate governance that enables its sustainment for potential graduation.
* Projects should be Securing Code Repository -> Managing Contributions Commit Signing , Secret Scanning, Code Scanning (OSFUZZ at a minimum) + Self-assessment Should OpenSSF require these if the SCM supports it, especially using Sigstore?
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm always hesitant when I see very prescriptive security requirements, as best practices change over time. What if we struck this line and add "... including secret scanning and code scanning" to "TI Follows security best practices..." above?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks a good suggestion, do you want to propose that wording change?

SecurityCRob marked this conversation as resolved.
Show resolved Hide resolved

### Gets/Benefits

TI eligible to receive all Gets from Sandbox plus:
* Receives infrastructure support
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

qq: is infrastructure support in the sense of cloud hosting, etc. I think there is a similar point in both sandbox and graduated, is the infrastructure support different? E.g. up to $X per project?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The idea was limited hosting (GH repo basically for Sandbox) and as a project matures they could request more (website, cloud credits, etc.). We'll adjust to be more explicit. TY.

SecurityCRob marked this conversation as resolved.
Show resolved Hide resolved
* Receives consideration as in-scope for any submission to an OpenSSF-managed conference or event.
lehors marked this conversation as resolved.
Show resolved Hide resolved
* Project may request custom OpenSSF Logo for group
* Projects may use the OpenSSF logo to promote their project (in accordance with the trademark guidelines). Projects may not be referred to as an "OpenSSF Project" or "OpenSSF $ProjectName." Projects may say they are an "OpenSSF Incubating Project."
* With additional TAC or WG approval, may fundraise for dedicated project funds, coordinated by the OpenSSF.
* Receives support with vulnerability disclosure from the OpenSSF (Vulnerability Disclosure WG).
* May post project updates and tutorials to the OpenSSF blog.


## Graduated level Gives & Gets

### Gives/Requirements
lehors marked this conversation as resolved.
Show resolved Hide resolved

All requirements of Incubating must be fulfilled and additionally:
* Projects must be able to show a consistent release cadence.
* Maintains a point of contact for vulnerability reports and follow coordinated vulnerability disclosure practices.
* Implements, practices, and refines mature software development and release practices, such as adherence to semantic versioning, and having a declared policy for stable releases and backported fixes.
* Projects must have documented project governance and be able to demonstrate that governance in action.
* When applicable, projects must have completed a security audit through a third party and addressed audit findings and recommendations.
* When applicable, Projects should achieve **BLAH** level of SLSA
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

SLSA Level 3?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

yeah, that's also what I had in mind but I am wondering whether we need to say SLSA Build Level 3 until more is defined.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Like I commented above, very specific security requirements tend not to age well. As it stands, there are multiple interpretations of "prevent secret material used to sign the provenance from being accessible to the user-defined build steps" which is part of SLSA v1.0 Build Level 3.

... but I don't have a great suggestion here. Maybe leave this off? Or say something like "Projects should harden their build systems in accordance with the SLSA Framework"?

SecurityCRob marked this conversation as resolved.
Show resolved Hide resolved

### Gets/Benefits

TI eligible to receive all Gets from Incubating plus:
* Receives consideration as in-scope for any submission to an OpenSSF-managed conference or event.
* Receives infrastructure support (details determined by project leads and OpenSSF Budget Committee).
SecurityCRob marked this conversation as resolved.
Show resolved Hide resolved
* May post project updates and tutorials to the OpenSSF blog.
* May request OpenSSF budget for project improvements such as security audits or time-bound contracting needs.
* May request OpenSSF budget for sustained maintainer stipends (details determined by OpenSSF and project leads).
* With additional TAC or WG approval, may fundraise for dedicated project funds, coordinated by the OpenSSF.
* Projects may use the OpenSSF logo to promote their project (in accordance with the trademark guidelines). Projects may be referred to as an "OpenSSF Project" or "OpenSSF $ProjectName."
* May request considered for Grants
* May request consideration to get Contract Developers
* Requests for one time funding needs to include: Tech writer, Graphic designer, Security audit, Event support, Outreach, Dashboard/reports, Recognition awards, Infrastructure support for software projects (like special build, QA) (will have ongoing operational expense), Cloud hosting (will have ongoing operational expense)