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

docs: add a guide for maintainers on how to growing their open source projects #324

Open
wants to merge 28 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
af0ebdd
docs: add explainer page about Dev Card feature
CBID2 Sep 2, 2023
98f6a72
docs: add explainer page about the dev card
CBID2 Sep 3, 2023
4dc016e
Revert "docs: add explainer page about the dev card"
CBID2 Sep 3, 2023
f8bbc83
Install the CodeSee workflow. Learn more at https://docs.codesee.io
Sep 4, 2023
9c0de8b
Merge branch 'open-sauced:main' into main
CBID2 Sep 19, 2023
d929e6a
Merge branch 'open-sauced:main' into main
CBID2 Sep 28, 2023
5f2296c
Merge branch 'open-sauced:main' into main
CBID2 Oct 9, 2023
cd66e09
Merge branch 'open-sauced:main' into main
CBID2 Oct 10, 2023
87f6e8d
Merge branch 'open-sauced:main' into main
CBID2 Oct 12, 2023
bbf41c9
Merge branch 'open-sauced:main' into main
CBID2 Oct 14, 2023
da6e625
Merge branch 'open-sauced:main' into main
CBID2 Oct 20, 2023
fad2387
Merge branch 'open-sauced:main' into main
CBID2 Dec 7, 2023
a0f30ce
Merge branch 'open-sauced:main' into main
CBID2 Dec 15, 2023
411bff9
Merge branch 'open-sauced:main' into main
CBID2 Jan 29, 2024
0deff77
Merge branch 'open-sauced:main' into main
CBID2 Feb 11, 2024
5c53a04
Merge branch 'open-sauced:main' into main
CBID2 Mar 16, 2024
36488c5
Merge branch 'open-sauced:main' into main
CBID2 Apr 3, 2024
5640f12
Merge branch 'open-sauced:main' into main
CBID2 Apr 24, 2024
58dc7c0
Merge branch 'open-sauced:main' into main
CBID2 May 27, 2024
ee81f7d
Merge branch 'open-sauced:main' into main
CBID2 Jun 4, 2024
327f680
docs: adding a section about growing an open source project (take 2)
CBID2 Jun 4, 2024
d2141b0
docs: adding section to the sidebars
CBID2 Jun 4, 2024
255f1e3
fix: omit unwanted workflow
CBID2 Jun 4, 2024
08e0421
Merge branch 'open-sauced:main' into growing-your-open-source-project
CBID2 Jun 11, 2024
14dbd0c
Merge branch 'main' into growing-your-open-source-project
CBID2 Jun 22, 2024
b42846d
Merge branch 'open-sauced:main' into growing-your-open-source-project
CBID2 Aug 11, 2024
653373d
feat: add info about OSCR scores
CBID2 Aug 11, 2024
3874337
Merge branch 'main' into growing-your-open-source-project
CBID2 Aug 29, 2024
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
80 changes: 80 additions & 0 deletions docs/maintainers/growing-your-project.md
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.
Copy link
Member

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.

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 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.


## 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.
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 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

Copy link
Member

Choose a reason for hiding this comment

The 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.
Copy link
Member

Choose a reason for hiding this comment

The 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)
Copy link
Member

Choose a reason for hiding this comment

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

- [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)
30 changes: 29 additions & 1 deletion sidebars.js
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,24 @@ module.exports = {
{
type: "category",
label: "Guides to OpenSauced",
collapsed: false,
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 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",
Expand Down Expand Up @@ -63,6 +81,7 @@ module.exports = {
"maintainers/maintainers-guide-to-open-sauced",
"maintainers/understanding-repo-insights",
"maintainers/understanding-contribs-insights",
"maintainers/growing-your-project",
],
},
{
Expand All @@ -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',
Expand Down Expand Up @@ -178,6 +207,5 @@ module.exports = {
"opensauced-packages/semantic-release",
],
},

Choose a reason for hiding this comment

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

community guidlines and procedures

Copy link
Contributor Author

Choose a reason for hiding this comment

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

@BekahHW, what do you think of this suggestion?

],
};
Loading