Skip to content

Commit 7ee7b33

Browse files
authored
Merge pull request #11 from github/marketing
add Marketing section to handbook
2 parents 86938c3 + 5b0ac2d commit 7ee7b33

File tree

5 files changed

+206
-0
lines changed

5 files changed

+206
-0
lines changed

_content/getting-started/preparing.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,3 +105,7 @@ Sometimes, it will take a long time before people notice your open source projec
105105
* [https://adainitiative.org/2014/02/18/howto-design-a-code-of-conduct-for-your-community/](https://adainitiative.org/2014/02/18/howto-design-a-code-of-conduct-for-your-community/)
106106
* [https://github.com/docker/docker/blob/master/CONTRIBUTING.md#docker-community-guidelines/](https://github.com/docker/docker/blob/master/CONTRIBUTING.md#docker-community-guidelines/)
107107

108+
109+
[Previous](branding.md) | [Next](../marketing/index.md)
110+
111+
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
# **Building a Community**
2+
3+
You’ve launched your project, you’re spreading the word, and people are checking out your project. Awesome! Now, how do you get them to stick around? In this section, we’ll discuss ways to encourage people to use, contribute to, and evangelize your project.
4+
5+
## Give your community a place to congregate
6+
7+
There are two reasons to give your community a place to congregate.
8+
9+
The first reason is for them. People with common interests will inevitably want a place to talk about it. And when communication is public and accessible, anybody can read past archives to get up to speed, and new people will feel more comfortable participating. Helping people forge connections with each other will build a stronger and more resilient community.
10+
11+
The second reason is for you. If you don’t give people a public place to talk about your project, they will likely contact you directly. In the beginning, it may seem easy enough to respond to private messages "just this once". But over time, especially as your project becomes popular, you will become exhausted. Resist the temptation to communicate with people about your project in private. Instead, direct them to a designated public channel.
12+
13+
If your project is on GitHub, public communication can be as simple as directing people to use GitHub Issues instead of emailing you directly. You could also set up a mailing list (such as [Google Groups](https://groups.google.com/forum/#!overview)) or create a Twitter account, Slack or IRC channel for people to talk about your project. Or try all of the above!
14+
15+
## Make people feel welcome
16+
17+
A welcoming community is an investment into your project’s future and reputation. Your project might be new and shiny right now, but inevitably there will come a day where people move on to the next shiny thing, and that’s when you’ll be glad you took steps now to create an environment where people want to stick around and participate.
18+
19+
When someone new lands on your project, make sure to thank them for their interest! Show them around and help them get started. Point them to resources, like onboarding materials or past mailing list threads, that you think might be helpful. Don’t give people a reason have a negative experience and not want to come back.
20+
21+
You don’t have to overdo it or feel like you’re putting others’ needs in front of your own. Be honest about your project’s needs, but do so with an assertive attitude. You can stand up for yourself without being rude, flippant, or unhelpful.
22+
23+
## Document everything
24+
25+
When you start an open source project, it may feel natural to keep your ideas and workflows private. But open source projects thrive when you document your process in public. That way, more people can participate at every step of the way. You might get help on something you didn’t even know you needed.
26+
27+
Documenting your open source project means more than just technical documentation. Be transparent about your project’s roadmap, your timeline for completing new features, the types of contributions you’re looking for, how contributions are reviewed and accepted, or why you made certain decisions. Any time you feel the urge to write something down about your project, consider whether you can make it public. The feedback you’ll get from this level of transparency may surprise you.
28+
29+
## Be responsive
30+
31+
As you promote your project, people will probably have feedback and ideas for you. They may request support or functionality, have questions about how things work, or need help getting started.
32+
33+
Try to be responsive when someone files an issue or submits a pull request, or asks a question about your project. When you respond quickly, people will feel they are part of a dialogue, and feel more enthusiastic about participating in and using your project. For example, when Mozilla studied its community and engagement in 2014, they found that contributors who received code reviews within 48 hours had a much higher rate of return and repeat contribution. [1]
34+
35+
Remember that conversations about your project could also be happening in other places around the Internet, such as Stack Overflow, Twitter, or reddit. You can set up notifications in some of these places so you are alerted when someone mentions your project.
36+
37+
## Make it easy for people to use and contribute
38+
39+
One way to think about your project’s community is what [@MikeMcQuaid](https://github.com/MikeMcQuaid) calls the contributor funnel. [2] At the top of the funnel is anybody who could potentially use your project. At the bottom of the funnel are people like you who maintain the project.
40+
41+
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 make each stage of the contributor experience as frictionless as possible. When people have easy wins, they will feel incentivized to do more.
42+
43+
Start by making it easy for someone to use your project. Tutorials, clear code examples, good documentation, and a friendly README will make it easier for anyone who lands on your project to understand its value and get started.
44+
45+
For casual or first-time contributors, be open-minded about the types of contributions you’ll accept. Many casual contributors start with a small fix. A new contributor might write a tutorial or improve your project’s documentation, because newer users notice things that more experienced users might not. Let people help how they want to help. If there’s a contribution you disagree with, thank them for their idea and explain why it doesn’t fit into the scope of the project. If there are certain types of contributions that you won’t accept, explain so in your CONTRIBUTING.md file.
46+
47+
You’re doing great so far! Now that you’re promoting your project and growing a community, you’re probably wondering whether you’re doing it right. In the next section, we’ll talk about metrics to measure your project’s success and how to track them.
48+
49+
[Previous](spreading-word.md) | [Next](measuring-success.md)
50+
51+
### Footnotes
52+
53+
[1] [https://docs.google.com/presentation/d/1hsJLv1ieSqtXBzd5YZusY-mB8e1VJzaeOmh8Q4VeMio/edit#slide=id.g43d857af8_0177](https://docs.google.com/presentation/d/1hsJLv1ieSqtXBzd5YZusY-mB8e1VJzaeOmh8Q4VeMio/edit#slide=id.g43d857af8_0177)
54+
55+
[2] [https://speakerdeck.com/mikemcquaid/the-open-source-contributor-funnel](https://speakerdeck.com/mikemcquaid/the-open-source-contributor-funnel)
56+
57+
### Further reading
58+
59+
* [http://radek.io/2015/10/12/marketing-for-open-source-projects-5/](http://radek.io/2015/10/12/marketing-for-open-source-projects-5/)
60+
61+
* [http://hood.ie/blog/welcoming-communities.html](http://hood.ie/blog/welcoming-communities.html)
62+
63+
* [https://ashfurrow.com/blog/building-popular-projects/](https://ashfurrow.com/blog/building-popular-projects/)
64+
65+
* [http://sarah.thesharps.us/2015/10/06/what-makes-a-good-community/](http://sarah.thesharps.us/2015/10/06/what-makes-a-good-community/)

_content/marketing/index.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# **Marketing your project**
2+
3+
This section of the handbook will help you spread the word about your project and grow your initial community of users and contributors. If you’re looking for feedback on your project, or want people to use and share your work, this part is for you.
4+
5+
Remember, reaching your audience takes time. It may take months or years for you to grow a community around your project. Don’t give up! It’s all part of the process.
6+
7+
[Previous](../getting-started/preparing.md) | [Next](spreading-word.md)
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
# **Measuring Success**
2+
3+
Your project is starting to grow.🌱 Well, you think it’s growing. Is it growing? In this section, we’ll talk about how to measure and track the success of your open source project.
4+
5+
## Discoverability
6+
7+
Before anybody can use or contribute back to your project, they first need to know it exists. The first question you’ll want to ask yourself, then, is: *are people finding my project?*
8+
9+
If your project is hosted on GitHub, you can view how many people land on your project and where they come from. From your project’s page, click "Graphs", then “Traffic”. On this page, you can see:
10+
11+
* Total pageviews
12+
13+
* Total unique visitors
14+
15+
* Referring sites (where they came from)
16+
17+
* Popular content (where they go on your project, broken down by views and unique visitors)
18+
19+
[GitHub stars](https://github.com/blog/1204-notifications-stars) can also help provide a baseline measure of popularity. While GitHub stars don’t necessarily correlate to downloads and usage, they can tell you how many people are taking notice of your work.
20+
21+
You may also want to track discoverability in specific places: for example, Google PageRank, referral traffic from your project’s website, or referrals from other open source projects or websites.
22+
23+
## Usage
24+
25+
People are finding your project on this wild and crazy thing we call the Internet. Ideally, when they see your project, they’ll feel compelled to do something. The second question you’ll want to ask is: *are people using my project?*
26+
27+
If you use a package manager, such as npm or RubyGems.org, to distribute your project, you may be able to track your project’s downloads. Each package manager may use a slightly different definition of "download", and downloads do not not necessarily correlate to installs or use, but it provides some baseline for comparison.
28+
29+
If your project is on GitHub, navigate again to the "Traffic" page. You can use the [clone graph](https://github.com/blog/1873-clone-graphs) to see how many times your project has been cloned on a given day, broken down by total clones and unique cloners.
30+
31+
If usage is low compared to the number of people discovering your project, there are be two issues to consider: 1) that your project isn’t successfully converting your audience, or 2) that you’re attracting the wrong audience. For example, if your project lands on the front page of Hacker News, you’ll probably see a traffic spike, but a lower conversion rate, because you’re attracting everyone on Hacker News instead of just your target audience. Try to figure out where your audience is coming from, and ask others for feedback on your project page, to figure out which of these two issues you’re facing.
32+
33+
## Retention
34+
35+
People are finding your project and they’re using it. The last area you’ll want to think about: *are people contributing back to my project?*
36+
37+
This is a big one. Without other people pitching in, you risk putting yourself into an unhealthy situation where your project is popular (many people use it) but not supported (not enough maintainer time to meet demand). It’s never too early to start thinking about contributors!
38+
39+
Here are a few types of contributor metrics you may want to regularly keep track of:
40+
41+
* Total number of contributors, and number of commits per contributor (you can view this under "Graphs" -> “Contributors”)
42+
43+
* Casual contributors (defined as contributors with only 1 commit, less than 5 commits, or whatever feels right to you)
44+
45+
* New vs. repeat contributors
46+
47+
* First time committers
48+
49+
* Open issues
50+
51+
* Open pull requests
52+
53+
* Types of contributions (ex. fixing typos, fixing bugs, commenting on an issue, commits)
54+
55+
### Further reading
56+
57+
* [http://blog.smartbear.com/news/measuring-success-in-an-open-source-project/](http://blog.smartbear.com/news/measuring-success-in-an-open-source-project/)
58+
59+
* [https://opensource.com/business/16/6/pirate-metrics](https://opensource.com/business/16/6/pirate-metrics)
60+
61+
* [https://speakerdeck.com/mikemcquaid/the-open-source-contributor-funnel](https://speakerdeck.com/mikemcquaid/the-open-source-contributor-funnel)
62+
63+
* [https://github.com/blog/2195-the-shape-of-open-source](https://github.com/blog/2195-the-shape-of-open-source)
64+
65+
* [http://libraries.io](http://libraries.io)
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
# **Spreading the word**
2+
3+
You’ve just published your project–what’s next? It’s time to tell everybody about your hard work!
4+
5+
In this section, we’ll go through some of the most effective ways that people promote their open source projects. But before we do, let’s start with a few tips that will help you make the most of your outreach.
6+
7+
## Be able to convey who you are (and why it matters)
8+
9+
Before you start the hard work of promoting your project, you should be able to explain why your project is different or interesting. Why should someone get excited about your work? Answering this question for yourself will make it easier to convince others.
10+
11+
The best way to invite people to share and contribute to your project is to share and contribute to their projects. There is no better way to convince people of your project's value than to invest time into your community. Helping newcomers, sharing resources, and making thoughtful contributions to others' work will earn you a positive reputation. Then, when you launch your own project, people will have context for your work and be more likely to pay attention and share what you’re doing.
12+
13+
There is no magical formula to building an audience and reputation. Gaining the trust and respect of others takes time—it’s never too early or too late to start.
14+
15+
## Help people find you and follow your work
16+
17+
You can help people find and remember you by pointing them to your project’s namespace—a website, Twitter handle, or IRC channel, for example.
18+
19+
Consider creating a website for your project. [@adrianholovaty](https://github.com/adrianholovaty) called a well-designed site "by far the best thing we did with Django in the early days". [1] [Yeoman](http://yeoman.io/), [Vagrant](https://www.vagrantup.com/), and [Middleman](https://middlemanapp.com/) are a few more examples of excellent, comprehensive websites.
20+
21+
A website, along with clear documentation and tutorials, makes your project seem friendly and easy to navigate. It also suggests that your project is active and supported, which will make your audience feel more comfortable using it. Adding tutorials and examples gives people ideas for ways they can use your project.
22+
23+
A Twitter handle or IRC channel is like a calling card for your project. It gives people a place to convene around your project, which will help grow your community. If you don’t wish to set up these channels for your project yet, promote your own Twitter or GitHub handle in everything you do. For example, make sure it is included in your bio or slides if you speak at a meetup or event. That way, people know who you are and how to reach you or follow your work.
24+
25+
Now that you have a marketing message for your project, and clear ways for people to reach you, let’s get out there and talk to your audience!
26+
27+
## Go where your audience is (online)
28+
29+
Take advantage of existing online communities and platforms to reach your audience. Online outreach is a great way to share and spread the word quickly, and you have the potential to reach a very wide audience.
30+
31+
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), or [Hacker News](https://news.ycombinator.com/). Find the channels where you think people will most benefit from or be excited about your work.
32+
33+
Consider introducing yourself and your work to related open source projects and communities. They may help promote your work to their audience through newsletters or forums, or you might find an opportunity to write a blog post or speak at an event. As your project grows, there may even be opportunities for collaboration.
34+
35+
## Go where your audience is (offline)
36+
37+
Look for meetups and conferences that are relevant to your work. Offline outreach is a great way to reach an engaged audience and build deeper human connections, especially if you are interested in reaching developers. [@mitchellh](https://github.com/mitchellh) attributes [Vagrant](https://github.com/mitchellh/vagrant)’s growth and popularity to the talks he gave about the project. [2]
38+
39+
If you’re new to public speaking, start by finding a local meetup that’s related to the language or ecosystem of your project. If you’ve never spoken at an event before, it’s perfectly normal to feel nervous! Remember that your audience is there because they genuinely want to hear about your work. As you design your talk, remember to focus on what your audience will find interesting and get value out of. Keep your language friendly and approachable. Smile, breathe, and have fun.
40+
41+
When you feel ready, consider speaking at a conference to promote your audience. Conferences can help you reach more people, sometimes from all over the world. Look for conferences that are specific to your language or ecosystem. Before you submit your talk, research the conference and its attendees beforehand to understand what they want to learn about, which will help you tailor your talk and increase your chances of getting accepted. You can often get a sense of a conference’s audience by looking at its speakers.
42+
43+
Spreading the word is an important step in growing the popularity of your project. It can be scary to share your creativity with the world, so give yourself a high five for making it this far! 👌 💯 🙌
44+
45+
In the next section, we’ll talk about how to retain those early enthusiasts and grow an engaged community around your project.
46+
47+
[Previous](index.md) | [Next](building-community.md)
48+
49+
### Footnotes
50+
51+
[1] [https://news.ycombinator.com/item?id=7531689](https://news.ycombinator.com/item?id=7531689)
52+
53+
[2] [https://github.com/swinton/codeconf/blob/master/the-hashicorp-formula-to-open-source.md](https://github.com/swinton/codeconf/blob/master/the-hashicorp-formula-to-open-source.md)
54+
55+
### Further reading
56+
57+
* [https://hacks.mozilla.org/2013/05/how-to-spread-the-word-about-your-code/](https://hacks.mozilla.org/2013/05/how-to-spread-the-word-about-your-code/)
58+
59+
* [https://zachholman.com/posts/open-source-marketing/](https://zachholman.com/posts/open-source-marketing/)
60+
61+
* [http://readwrite.com/2014/10/10/open-source-marketing-apache-storm-nathan-merz/](http://readwrite.com/2014/10/10/open-source-marketing-apache-storm-nathan-merz/)
62+
63+
* [https://text.sourcegraph.com/how-to-make-your-open-source-project-thrive-with-andrey-petrov-6463b935c540#.sdjkykqbu](https://text.sourcegraph.com/how-to-make-your-open-source-project-thrive-with-andrey-petrov-6463b935c540#.sdjkykqbu)
64+
65+
* [http://radek.io/2015/09/14/marketing-for-open-source-projects-1/](http://radek.io/2015/09/14/marketing-for-open-source-projects-1/)

0 commit comments

Comments
 (0)