You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -17,7 +17,7 @@ We've shared our vision and priorities for this project in our [roadmap](docs/ro
17
17
18
18
## Contributing
19
19
20
-
Our goal is for this project to reflect community best practices, so we'd love your input! Got a question or an idea? Check out our [contributing guidelines](/CONTRIBUTING.md) for ways to offer feedback and contribute.
20
+
This site is powered by [Jekyll](https://jekyllrb.com/). Our goal is for this project to reflect community best practices, so we'd love your input! Got a question or an idea? Check out our [contributing guidelines](/CONTRIBUTING.md) for ways to offer feedback and contribute.
Copy file name to clipboardExpand all lines: _articles/en-US/best-practices.md
+9-4Lines changed: 9 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,6 +12,9 @@ toc:
12
12
its-okay-to-hit-pause: "It’s okay to hit pause"
13
13
order: 5
14
14
image: /assets/images/cards/best-practices.png
15
+
related:
16
+
- metrics
17
+
- leadership
15
18
---
16
19
17
20
## What does it mean to be a maintainer?
@@ -64,8 +67,8 @@ Here are a few rules that are worth writing down:
64
67
65
68
* How a contribution is reviewed and accepted (_Do they need tests? An issue template?_)
66
69
* The types of contributions you'll accept (_Do you only want help with a certain part of your code?_)
67
-
* When it's appropriate to follow up (_ex. "You can expect a response from a maintainer within 7 days. If you haven't heard anything by then, feel free to ping the thread."_)
68
-
* How much time you spend on the project (_ex. "We only spend about 5 hours per week on this project"_)
70
+
* When it's appropriate to follow up (_for example, "You can expect a response from a maintainer within 7 days. If you haven't heard anything by then, feel free to ping the thread."_)
71
+
* How much time you spend on the project (_for example, "We only spend about 5 hours per week on this project"_)
69
72
70
73
[Jekyll](https://github.com/jekyll/jekyll/tree/master/docs), [CocoaPods](https://github.com/CocoaPods/CocoaPods/wiki/Communication-&-Design-Rules), and [Homebrew](https://github.com/Homebrew/brew/blob/bbed7246bc5c5b7acb8c1d427d10b43e090dfd39/docs/Maintainers-Avoiding-Burnout.md) are several examples of projects with ground rules for maintainers and contributors.
71
74
@@ -120,7 +123,7 @@ If you don't want to accept a contribution:
120
123
121
124
You shouldn't need more than 1-2 sentences to respond. For example, when a user of [celery](https://github.com/celery/celery/) reported a Windows-related error, @berkerpeksag[responded with](https://github.com/celery/celery/issues/3383):
For bug reports and other common contributions, GitHub has [Issue Templates and Pull Request Templates](https://github.com/blog/2111-issue-and-pull-request-templates), which you can create to streamline the communication you receive. You can also set up [email filters](https://github.com/blog/2203-email-updates-about-your-own-activity) to manage your email notifications.
243
+
For bug reports and other common contributions, GitHub has [Issue Templates and Pull Request Templates](https://github.com/blog/2111-issue-and-pull-request-templates), which you can create to streamline the communication you receive. @TalAter made a [Choose Your Own Adventure guide](https://www.talater.com/open-source-templates/#/) to help you write your issue and PR templates.
244
+
245
+
To manage your email notifications, you can set up [email filters](https://github.com/blog/2203-email-updates-about-your-own-activity) to organize by priority.
241
246
242
247
If you want to get a little more advanced, style guides and linters can standardize project contributions and make them easier to review and accept.
Copy file name to clipboardExpand all lines: _articles/en-US/building-community.md
+9-6Lines changed: 9 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -9,6 +9,9 @@ toc:
9
9
resolving-conflicts: "Resolving conflicts"
10
10
order: 4
11
11
image: /assets/images/cards/building.png
12
+
related:
13
+
- best-practices
14
+
- coc
12
15
---
13
16
14
17
## Setting your project up for success
@@ -21,7 +24,7 @@ A welcoming community is an investment into your project's future and reputation
21
24
22
25
One way to think about your project's community is through what @MikeMcQuaid calls the [contributor funnel](https://speakerdeck.com/mikemcquaid/the-open-source-contributor-funnel):
As you build your community, consider how someone at the top of the funnel (a potential user) might theoretically make their way to the bottom (an active maintainer). Your goal is to reduce friction at each stage of the contributor experience. When people have easy wins, they will feel incentivized to do more.
27
30
@@ -30,7 +33,7 @@ Start with your documentation:
30
33
***Make it easy for someone to use your project.**[A friendly README](starting-a-project.md#writing-a-readme) and clear code examples will make it easier for anyone who lands on your project to get started.
31
34
***Clearly explain how to contribute**, using [your CONTRIBUTING file](starting-a-project.md#writing-your-contributing-guidelines) and keeping your issues up-to-date.
32
35
33
-
Good documentation invites people to interact with your project. Eventually, someone will open an issue or pull request. Use these interactions as opportunities to move them down the funnel.
36
+
[GitHub's 2017 Open Source Survey](http://opensourcesurvey.org/2017/) showed incomplete or confusing documentation is the biggest problem for open source users. Good documentation invites people to interact with your project. Eventually, someone will open an issue or pull request. Use these interactions as opportunities to move them down the funnel.
34
37
35
38
***When someone new lands on your project, thank them for their interest!** It only takes one negative experience to make someone not want to come back.
36
39
***Be responsive.** If you don't respond to their issue for a month, chances are, they've already forgotten about your project.
@@ -81,7 +84,7 @@ Try to be responsive when someone files an issue, submits a pull request, or ask
81
84
82
85
Even if you can't review the request immediately, acknowledging it early helps increase engagement. Here's how @tdreyno responded to a pull request on [Middleman](https://github.com/middleman/middleman/pull/1466):
[A Mozilla study found that](https://docs.google.com/presentation/d/1hsJLv1ieSqtXBzd5YZusY-mB8e1VJzaeOmh8Q4VeMio/edit#slide=id.g43d857af8_0177) contributors who received code reviews within 48 hours had a much higher rate of return and repeat contribution.
87
90
@@ -131,7 +134,7 @@ Good documentation only becomes more important as your community grows. Casual c
131
134
132
135
In your CONTRIBUTING file, explicitly tell new contributors how to get started. You may even want to make a dedicated section for this purpose. [Django](https://github.com/django/django), for example, has a special landing page to welcome new contributors.
133
136
134
-

137
+

135
138
136
139
In your issue queue, label bugs that are suitable for different types of contributors: for example, [_"first timers only"_](https://medium.com/@kentcdodds/first-timers-only-78281ea47455#.g1k01jy05), _"good first bug"_, or _"documentation"_. [These labels](https://github.com/librariesio/libraries.io/blob/6afea1a3354aef4672d9b3a9fc4cc308d60020c8/app/models/github_issue.rb#L8-L14) make it easy for someone new to your project to quickly scan your issues and get started.
137
140
@@ -159,11 +162,11 @@ See if you can find ways to share ownership with your community as much as possi
159
162
160
163
***Resist fixing easy (non-critical) bugs.** Instead, use them as opportunities to recruit new contributors, or mentor someone who'd like to contribute. It may seem unnatural at first, but your investment will pay off over time. For example, @michaeljoseph asked a contributor to submit a pull request on a [Cookiecutter](https://github.com/audreyr/cookiecutter) issue below, rather than fix it himself.
***Start a CONTRIBUTORS or AUTHORS file in your project** that lists everyone who's contributed to your project, like [Sinatra](https://github.com/sinatra/sinatra/blob/master/AUTHORS.md) does.
165
168
166
-
* If you've got a sizeable community, **send out a newsletter or write a blog post** thanking contributors. Rust's [This Week in Rust](https://this-week-in-rust.org/) and Hoodie's [Shoutouts](http://hood.ie/blog/shoutouts-week-24.html) are two good examples.
169
+
* If you've got a sizable community, **send out a newsletter or write a blog post** thanking contributors. Rust's [This Week in Rust](https://this-week-in-rust.org/) and Hoodie's [Shoutouts](http://hood.ie/blog/shoutouts-week-24.html) are two good examples.
167
170
168
171
***Give every contributor commit access.**@felixge found that this made people [more excited to polish their patches](http://felixge.de/2013/03/11/the-pull-request-hack.html), and he even found new maintainers for projects that he hadn't worked on in awhile.
Copy file name to clipboardExpand all lines: _articles/en-US/code-of-conduct.md
+4-1Lines changed: 4 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,6 +10,9 @@ toc:
10
10
enforcing-your-code-of-conduct: "Enforcing your code of conduct"
11
11
order: 8
12
12
image: /assets/images/cards/coc.png
13
+
related:
14
+
- building
15
+
- leadership
13
16
---
14
17
15
18
## Why do I need a code of conduct?
@@ -35,7 +38,7 @@ Wherever you can, use prior art. The [Contributor Covenant](http://contributor-c
35
38
36
39
The [Django Code of Conduct](https://www.djangoproject.com/conduct/) and the [Citizen Code of Conduct](http://citizencodeofconduct.org/) are also two good code of conduct examples.
37
40
38
-
Place a CODE_OF_CONDUCT file in your project's root directory, and link to it from your README, so it's visible to your community.
41
+
Place a CODE_OF_CONDUCT file in your project's root directory, and make it visible to your community by linking it from your CONTRIBUTING or README file.
39
42
40
43
## Deciding how you'll enforce your code of conduct
For a deeper diver into messaging, check out Mozilla's ["Personas and Pathways"](http://mozillascience.github.io/working-open-workshop/personas_pathways/) exercise for developing user personas.
34
37
@@ -61,15 +64,15 @@ If you don't wish to set up these channels for your project yet, promote your ow
61
64
62
65
If your project is hosted on GitHub, you can use [GitHub Pages](https://pages.github.com/) to easily make a website. [Yeoman](http://yeoman.io/), [Vagrant](https://www.vagrantup.com/), and [Middleman](https://middlemanapp.com/) are [a few examples](https://github.com/showcases/github-pages-examples) of excellent, comprehensive websites.
Now that you have a message for your project, and an easy way for people to find your project, let's get out there and talk to your audience!
67
70
68
71
## Go where your project's audience is (online)
69
72
70
73
Online outreach is a great way to share and spread the word quickly. Using online channels, you have the potential to reach a very wide audience.
71
74
72
-
Take advantage of existing online communities and platforms to reach your audience. If your open source project is a software project, you can probably find your audience on [Stack Overflow](http://stackoverflow.com/), [reddit](http://www.reddit.com), [Hacker News](https://news.ycombinator.com/), or [Quora](https://www.quora.com/). Find the channels where you think people will most benefit from or be excited about your work.
75
+
Take advantage of existing online communities and platforms to reach your audience. If your open source project is a software project, you can probably find your audience on [Stack Overflow](http://stackoverflow.com/), [Reddit](http://www.reddit.com), [Hacker News](https://news.ycombinator.com/), or [Quora](https://www.quora.com/). Find the channels where you think people will most benefit from or be excited about your work.
Offline events are a popular way to promote new projects. It's a great way to reach an engaged audience and build deeper human connections, especially if you are interested in reaching developers.
0 commit comments