Skip to content

Commit 3e4e3c3

Browse files
authored
Merge pull request github#52 from github/ashleywolf-update-ospo
Updating docs and adding new content
2 parents 2bb8b2b + c85d431 commit 3e4e3c3

File tree

3 files changed

+135
-21
lines changed

3 files changed

+135
-21
lines changed

docs/commercial-licenses.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22

33
Should you wish to contribute to a project that requires a proprietary license to do so, <COMPANY_NAME> will need to purchase a license after making the decision whether or not to do so.
44

5-
If there is no existing proprietary license, an issue can be opened at [Governance, Risk, Compliance & Communication (GRCC)](XXX) or a workflow in Ironclad to begin the process of reviewing the vendor for our data privacy and security protections to purchase a license. See more on the Procurement process [here](XXX).
5+
If there is no existing proprietary license, an issue can be opened at [Governance, Risk, Compliance & Communication (GRCC)](XXX) or a workflow in [tool] to begin the process of reviewing the vendor for our data privacy and security protections to purchase a license. See more on the Procurement process [here](XXX).

docs/ospo-tools-and-external-guides.md

Lines changed: 28 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,48 @@
11
## Tools
22

3-
These are tools published by employees that can be used by OSPOs for managing open source at scale. Please consider adding the OSPO label to GitHub projects that are valuable to open source program office teams and submit a PR to add them to this file.
3+
These tools, whether developed by GitHub or the broader community, are useful for OSPOs to manage and scale open source initiatives effectively. While we are highlighting some of the tools and guides we encounter that solve common use cases for OSPOs, there are even more out there. To help curate a more robust toolkit, consider adding the `OSPO` [topic](https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/customizing-your-repository/classifying-your-repository-with-topics#adding-topics-to-your-repository) to relevant repositories. See the full list of OSPO topic repositories [here](https://github.com/topics/ospo). If you're looking for more tools you can also check out [`awesome-ospo`](https://github.com/todogroup/awesome-ospo) that provides a list of packages and projects OSPOs in the TODO Group have found useful.
4+
5+
### Compliance
6+
7+
Compliance tools focus on ensuring that projects adhere to licensing requirements, security standards, and policies. They are important for OSPOs to mitigate legal risks and maintain the integrity of their codebase.
8+
9+
- [GitHub's Dependency Graph](https://docs.github.com/en/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph#supported-package-ecosystems)
10+
- [Licensee: A Ruby Gem to detect under what license a project is distributed](https://github.com/licensee/licensee)
11+
- [Licensed: A Ruby gem to cache and verify the licenses of dependencies](https://github.com/github/licensed)
12+
- [GitHub API for licenses (uses `licensee` from above)](https://docs.github.com/en/rest/reference/licenses)
13+
- [Policy as Code GitHub Action: Allow users to configure their risk threshold for security issues reported by GitHub Code Scanning, Secret Scanning and Dependabot Security.](https://github.com/marketplace/actions/ghas-policy-as-code)
14+
- [Safe Settings: an app to manage policy-as-code and apply repository settings to repositories across an organization.](https://github.com/github/safe-settings)
15+
16+
### Contributions
17+
18+
Simplifying the process of contributing to projects by automating tasks like fork creation and reviews makes it easier for OSPOs to encourage and manage community contributions.
19+
20+
- [Forker: GitHub Action to automate fork creation. This action uses octokit.js and the GitHub API to automatically create a repository fork, either in your personal GitHub account or a GitHub organization that you administer](https://github.com/wayfair-incubator/forker)
421

522
### Project administration
623

24+
Project administration tools are designed to streamline the setup and ongoing management of repositories. For OSPOs, these tools are essential for maintaining the health of multiple projects. They help in tasks like renaming branches, ensuring the presence of CONTRIBUTING.md files, and detecting codes of conduct, thereby standardizing project setups.
25+
726
- [Changing the default branch name for GitHub repositories](https://github.com/github/renaming#renaming-existing-branches)
827
- [GitHub Action: Automatically open a pull request for repositories that have no CONTRIBUTING.md file](https://github.com/github/automatic-contrib-prs)
928
- [Code of conduct detector based off Licensee](https://github.com/benbalter/coconductor)
1029

11-
### Compliance
12-
13-
- [License compliance - A Ruby Gem to detect under what license a project is distributed](https://github.com/licensee/licensee)
14-
- [Licensed: A Ruby gem to cache and verify the licenses of dependencies](https://github.com/github/licensed)
15-
- [GitHub Action: Allow users to configure their risk threshold for security issues reported by GitHub Code Scanning, Secret Scanning and Dependabot Security.](https://github.com/marketplace/actions/ghas-policy-as-code)
16-
- [Safe Settings - an app to manage policy-as-code and apply repository settings to repositories across an organization.](https://github.com/github/safe-settings)
30+
### Project and Organization Metrics
1731

18-
### Policy
32+
Metrics tools provide data-driven insights into project health and community engagement. For OSPOs, understanding these metrics is key to making informed decisions. These tools offer analytics on various aspects like code contributions, dependency graphs, and overall activity within the organization.
1933

20-
- [GitHub's Balanced Employee IP Agreement](https://github.com/github/balanced-employee-ip-agreement) - A policy which balances preserving the ability of employees to work on open source projects with the need to protect GitHub's intellectual property.
34+
- [Cauldron - Software development analytics](https://cauldron.io/)
35+
- [GitHub Organization Insights](https://docs.github.com/en/enterprise-cloud@latest/organizations/collaborating-with-groups-in-organizations/viewing-insights-for-your-organization)
2136

2237
### User administration
2338

24-
- [A simple Oauth app to automatically add users to an organization](https://github.com/benbalter/add-to-org)
25-
26-
### GitHub Product features
39+
User administration tools help OSPOs manage their community and internal team members more efficiently. These tools automate the process of adding users to an organization, thereby reducing manual errors and saving time.
2740

28-
- [Product: Dependency Graph](https://docs.github.com/en/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph#supported-package-ecosystems)
29-
- [Default community health file](https://docs.github.com/en/communities/setting-up-your-project-for-healthy-contributions/creating-a-default-community-health-file)
30-
- [License detection and APIs (uses `licensee` from above)](https://docs.github.com/en/rest/reference/licenses)
31-
- [Organization Insights](https://docs.github.com/en/enterprise-cloud@latest/organizations/collaborating-with-groups-in-organizations/viewing-insights-for-your-organization)
32-
33-
### Project Metrics
41+
- [A simple Oauth app to automatically add users to an organization](https://github.com/benbalter/add-to-org)
3442

35-
- [https://cauldron.io/](https://cauldron.io/)
43+
## Community open source and OSPO guides
3644

37-
## External guides
45+
These guides serve as comprehensive resources for best practices, strategies, and frameworks that OSPOs can adopt. They are curated by reputable organizations and experts in the field, providing a wealth of knowledge for setting up and scaling open source programs effectively.
3846

3947
- TODO Group: [https://todogroup.org/guides/](https://todogroup.org/guides/)
4048
- GitHub: [opensource.guide](opensource.guide)
Lines changed: 106 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,106 @@
1+
---
2+
name: Open Source Software (OSS) Release
3+
description: File an open source release
4+
assignees: ashleywolf, zkoppert
5+
title: "Open Source: [org/project]"
6+
body:
7+
- type: markdown
8+
attributes:
9+
value: |
10+
Thanks for taking the time to fill out this open source release form! Please answer all questions in this form to the best of your ability. Questions? Ping us [here](xxx). Read the full [open source release policy](xxx) and [releasing documentation](xxx).
11+
12+
🛑 You do not need to fill out this open source release issue if:
13+
* The project is considered a product release that is not open source-related
14+
* You are creating this repository under your personal account (e.g. mikemcquaid/strap) and it's not used by GitHub or related to your work at GitHub.
15+
16+
🟢 You should fill this issue out if:
17+
* The project is considered an open source-related product release. Make sure to create an issue in `@/releases` first!
18+
* You are releasing an open source project related to your work (including field service projects).
19+
* You are publishing work-related open source code under your personal account (e.g. mikemcquaid/strap) or a GitHub organization
20+
- type: dropdown
21+
attributes:
22+
label: Code and Assets
23+
description: Did your team write all the code and create all of the assets you are releasing (images, fonts, documentation, machine learning models, etc.)? For licensing questions discuss with `github/legal` and add link to that issue in this issue
24+
options:
25+
- Yes, all created by my team
26+
- No, created by other teams
27+
- type: dropdown
28+
attributes:
29+
label: Data
30+
description: Does this project send any data or telemetry back to GitHub? If yes, open an issue in `[repo](xxx)` and link to that issue in this issue
31+
options:
32+
- Yes, telemetry
33+
- No.
34+
- type: dropdown
35+
attributes:
36+
label: Cryptography
37+
description: Does the project implement cryptography? If yes, open an issue in `[repo](xxx) and link to that issue in this issue
38+
options:
39+
- Yes, implements cryptography
40+
- No.
41+
- type: dropdown
42+
attributes:
43+
label: Project License
44+
description: What license will you be releasing with? MIT is GitHub's preferred open source license unless a specific community requires a different license. If not MIT, open an issue in [repo](xxx) and link to that issue in this issue
45+
options:
46+
- MIT License
47+
- Other
48+
- type: input
49+
attributes:
50+
label: Repo URL
51+
description: Provide the link to the repo URL
52+
placeholder: https://github.com/github/project-name
53+
- type: textarea
54+
attributes:
55+
label: Project description
56+
description: Describe the primary use cases for this project - what problem does it solve for users, and why do existing solutions not work?
57+
value: |
58+
...
59+
- type: textarea
60+
attributes:
61+
label: Business implications
62+
description: Does the project overlap with existing projects or paid products in GitHub portfolio?
63+
value: |
64+
...
65+
- type: input
66+
attributes:
67+
label: Community/marketing support
68+
description: Do you expect a large community of contributors on the project? Is it something that would be beneficial for GitHub to promote through community/marketing channels?
69+
placeholder: ...
70+
- type: input
71+
attributes:
72+
label: Owning Team
73+
description: "Name of the team that will own/maintain the project."
74+
placeholder: "@github/teamname"
75+
- type: checkboxes
76+
attributes:
77+
label: Prepare Project
78+
options:
79+
- label: Review and address items in the [release guidelines](https://github.com/github/open-source-releases/blob/main/releasing.md)
80+
- label: Add `employees` to the repo with at read permission.
81+
- label: Ensure the repo has a meaningful description, tags, release, packages, and link when applicable
82+
- label: Consult the product manager(s) of any GitHub products that the open source release may interact with or overlap with by tagging them in this issue. To find who the product owner for a given product might be, check out service catalog
83+
- label: Remove sensitive materials in the revision history, issues, or pull requests
84+
- label: "Add LICENSE file (preferred: [MIT LICENSE](https://github.com/github/open-source-releases/blob/main/templates/LICENSE.txt))"
85+
- label: Update README.md to include sections seen in [`README.md`](https://github.com/github/open-source-releases/blob/main/templates/README.md)
86+
- label: Add and update [`CODEOWNERS`](https://github.com/github/open-source-releases/blob/main/templates/CODEOWNERS) to list maintainers
87+
- label: Add and update CONTRIBUTING.md. Language specific templates are available (e.g. [CONTRIBUTING-ruby.md](https://github.com/github/open-source-releases/blob/main/templates/CONTRIBUTING-ruby.md), [CONTRIBUTING-go.md](https://github.com/github/open-source-releases/blob/main/templates/CONTRIBUTING-go.md))
88+
- label: Add and update [SUPPORT.md](https://github.com/github/open-source-releases/blob/main/templates/SUPPORT.md)
89+
- label: Add [`CODE_OF_CONDUCT.md`](https://github.com/github/open-source-releases/blob/main/templates/CODE_OF_CONDUCT.md)
90+
- label: Add [SECURITY.md](https://github.com/github/open-source-releases/blob/main/templates/SECURITY.md)
91+
- label: "Add branch protection rules to secure how branches are used. Examples: Require a pull request before merging; Require approvals on pull requests;"
92+
- type: checkboxes
93+
attributes:
94+
label: Support
95+
options:
96+
- label: Define ownership by creating a Service Catalog entry. If you have questions, start at the FAQ for establishing ownership for open source repositories.
97+
- label: Follow [best practices for maintainers](https://opensource.guide/best-practices/)
98+
- label: Join the GitHub maintainer community in discussions.
99+
- type: checkboxes
100+
attributes:
101+
label: Ship It
102+
options:
103+
- label: Reserve your project name on distribution platforms. If your project is Ruby, reserve the Rubygems gem name. If your project is Python, reserve the Pypi project. This will prevent confusion with namesquatting even if you don't plan to publish to these platforms.
104+
- label: Publish your project!
105+
- label: Share your project! Post in `internal channels`, on your personal social channels, and the [GitHub blog](https://github.blog/).
106+
- label: (optional) Give feedback on this process.

0 commit comments

Comments
 (0)