-
Notifications
You must be signed in to change notification settings - Fork 65
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
docs: add a guide for maintainers on how to growing their open source projects #324
base: main
Are you sure you want to change the base?
Changes from all commits
af0ebdd
98f6a72
4dc016e
f8bbc83
9c0de8b
d929e6a
5f2296c
cd66e09
87f6e8d
bbf41c9
da6e625
fad2387
a0f30ce
411bff9
0deff77
5c53a04
36488c5
5640f12
58dc7c0
ee81f7d
327f680
d2141b0
255f1e3
08e0421
14dbd0c
b42846d
653373d
3874337
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,80 @@ | ||
--- | ||
id: growing-your-project | ||
title: "Growing Your Project" | ||
sidebar_label: "Growing Your Project" | ||
keywords: | ||
- "open source maintainers" | ||
- "maintainers guides" | ||
- "open source project success" | ||
- "growing an open source project" | ||
--- | ||
|
||
|
||
|
||
## When to Grow your Project | ||
|
||
When it comes to deciding on whether your open source project is ready to grow, consider asking yourself the following question: | ||
|
||
> Are there active community members who would be interested in progressing to an official role? | ||
|
||
If you have said yes, it's time to develop your growth strategies. If you haven't already, consider creating different teams for specific purposes. For example, you can create a docs team for documentation maintenance, a triage team for reviewing and approving issues, or a maintainer team to help you with overall project oversight. Once you have decided the types of teams you want to add to your project, it's time to start building the open source team of your dreams. | ||
|
||
## How to Identify New Contributors and Team Members | ||
|
||
When it comes to planning the growth strategies for your open source project, picking the right people will determine how successful your project will be. You can discover the right people for your project by starting with a [Repository Insight Page](../maintainers/maintainers-guide.md#creating-a-new-repository-insight-page). From there, you can use the Contributors dashboard to help you get a better understanding of your existing contributors. | ||
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 not sure why someone would want to start with a repository insight page. Is this for their project? For other projects? The flow at OpenSauced starts with the workspace. Another option would be to look at a repo page. |
||
:::note | ||
|
||
If you need more assistance with finding new contributors and team members for your project, consider using our AI-powered chatbot, [StarSearch](../features/star-search.md#user-guide). | ||
|
||
::: | ||
|
||
Once you have found a reliable group of contributors, consider adding them to a [Contributor Insight Page](../maintainers/maintainers-guide.md#creating-a-new-contributor-insight-page). It can help you better understand their contributions to your project and the open source ecosystem. Here are some methods you can use to help you analyze its data: | ||
|
||
- Monitor contributors to see if they are active enough in your repositories to contribute as a team member. | ||
- Identify your top contributors to extend an invitation to join a team. | ||
- Identify active contributors in other repositories who may be interested in joining your team. | ||
|
||
If you need more tips on how to pick people that can help grow your project, check out our blog post, "[How to Build Your Open Source Dream Team](https://dev.to/opensauced/how-to-build-your-open-source-dream-team-a-guide-3i90)". | ||
|
||
## Recruiting Team Members and Contributors Outside of Your Project | ||
|
||
If you've looked at your project's [Repository Insight Page](../features/repo-insights.md) and realize there is no one that could help you, consider recruiting new contributors. To do that, create another Repository Insight Page with projects that are similar to yours. From there, determine which contributors suit your project, add them to a list, and monitor their progress. | ||
|
||
:::tip | ||
|
||
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 OSCR isn't on the Repo Insights page, so I'm not sure why it's being mentioned here. |
||
Consider checking out our [Understanding Repository Insights Data](../features/repo-insights.md) guide and learn about [OSCR](../welcome/glossary.md#oscr-score) scores to give you an idea on what to look for when narrowing down your list. | ||
::: | ||
|
||
Once you've identified the people you want to ask, reach out to them, providing a clear message and a list of expectations. | ||
|
||
After the people from your list has agreed to join your project, create [your team on GitHub](https://docs.github.com/en/organizations/organizing-members-into-teams/creating-a-team) and [sync it](../welcome/faqs.md#sync-your-github-team) to your project's Repository Insight Page. | ||
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. agreement issue: After the people have |
||
|
||
![team sync gif](../../static/gif/team-sync.gif) | ||
|
||
## Understanding Team Participation | ||
|
||
To ensure that your open source project reaches it growth strategy goal(s), it is important that your team members actively participate in the project as much as possible. The [Contributors dashboard](../maintainers/maintainers-guide.md#contributors) in your project's Repository Insights Page can be helpful in fostering participation. Here are some strategies you can use this tab to monitor your team member's progress: | ||
|
||
- Identify the amount of repositories they contributed to in the Repositories section to see if they are immersed in the project. | ||
- Take note of the date of their recent contribution in the Last Contributed card to see if it aligns with the number in the Repositories card. | ||
- Check your project's [Activity](../welcome/glossary.md#activity) ratio in your project's statistic card to determine how often they contribute to it. | ||
|
||
:::tip | ||
|
||
If your project's Activity ratio presents as "Low", consider messaging your team member about this information and request a meeting to discuss possible strategies to help them progress. | ||
|
||
::: | ||
|
||
## Creating Transparency and Communication With Your Team | ||
|
||
The methods utilized to collaborate and communicate with your team play a crucial role in the growth of your open source project. Creating and sharing your project's [Workspace](../features/workspaces.md) page with your team members can be helpful in fostering a collaborative environment. After creating this page, here are some ways to leverage its information to engage with your team: | ||
|
||
- Analyze the number of open and merged pull requests, as well as open and closed issues in your project's statistic card to think of new ways to improve the speed of reviewing and merging contributions. Also, consider reviewing your project's [PR velocity](../welcome/glossary.md#pr-velocity) to identify more ways to optimize your process of reviewing and merging pull requests. | ||
- Use the amount of stars and forks displayed in the Engagement card to discuss the effectiveness of current promotion strategies and to determine new methods to promote the project. | ||
|
||
## Additional Resources | ||
|
||
If you're looking for more resources to aid you in your open source project's growth journey, check out these posts written by the OpenSauced team: | ||
|
||
- [Scaling Open Source Projects: Navigating Challenges](https://dev.to/opensauced/navigating-the-challenges-of-scaling-open-source-projects-11h2) | ||
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 use the original post: https://opensauced.pizza/blog/scaling-oss-projects |
||
- [Collaborate, Conquer, & Grow: Mastering the Art of Issue Management for Open Source Projects](https://dev.to/opensauced/collaborate-conquer-grow-mastering-the-art-of-issue-management-for-open-source-projects-49gi) |
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -35,6 +35,24 @@ module.exports = { | |
{ | ||
type: "category", | ||
label: "Guides to OpenSauced", | ||
collapsed: false, | ||
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 not sure why this is being added here. |
||
items: [ | ||
{ | ||
type: "category", | ||
label: "Job Seekers Guide", | ||
collapsed: true, | ||
items: [ | ||
"opensauced-guides/job-seekers-guide/job-seekers-guide-introduction", | ||
"opensauced-guides/job-seekers-guide/how-to-translate-open-source-contributions-into-career-opportunities", | ||
], | ||
}, | ||
{ | ||
type: "category", | ||
label: "Student's Guide", | ||
collapsed: true, | ||
items: ["opensauced-guides/students-guide/students-guide"], | ||
}, | ||
], | ||
collapsed: true, | ||
items: [{ | ||
type: "category", | ||
|
@@ -63,6 +81,7 @@ module.exports = { | |
"maintainers/maintainers-guide-to-open-sauced", | ||
"maintainers/understanding-repo-insights", | ||
"maintainers/understanding-contribs-insights", | ||
"maintainers/growing-your-project", | ||
], | ||
}, | ||
{ | ||
|
@@ -74,6 +93,16 @@ module.exports = { | |
{ | ||
type: "category", | ||
label: "Community", | ||
collapsed: false, | ||
items: [ | ||
"community/welcome-to-the-community", | ||
"community/100-days-of-oss", | ||
{ | ||
type: "link", | ||
label: "Open Source Education Path", | ||
href: "https://intro.opensauced.pizza/#/", | ||
}, | ||
], | ||
collapsed: true, | ||
items: ["community/welcome-to-the-community", "community/100-days-of-oss", { | ||
type: 'link', | ||
|
@@ -178,6 +207,5 @@ module.exports = { | |
"opensauced-packages/semantic-release", | ||
], | ||
}, | ||
|
||
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. community guidlines and procedures 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. @BekahHW, what do you think of this suggestion? |
||
], | ||
}; |
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.
We should probably talk about what it means to grow. Do they want someone to help with coding, writing issues, or reviewing and approving PRs, determining the direction of the project, etc.
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'm still not seeing this addressed. Usually when a project makes a deliberate decision to grow, it's because the maintainer can't handle things on their own, there's more to do bc there are more users/contributors, they want to add a new feature, but know they can't do that on their own, etc.