@angular-builders creator, Fullstack Engineer and Guild Master @ Wix.com, kitesurfer, drummer.
or how to spread the word and win contributors
Hello folks! Congrats to those who made it to the 4th part of the Open Source journey! For those of you who haven’t read the previous parts or are wondering what I planned for the next parts:
We’ve already discussed what it means to start a project, how to do it optimally and how to write good documentation for it.
Today we’re moving forward and we’ll be discussing how to attract the publics attention to ones project and optimizing it to both attract and correctly manage contributions.
You already have an open source project, it is available on GitHub, well documented and can be consumed easily via one of the package registries.
Let's address the elephant in the room: as your project grows you simply wont be able to handle everything by yourself.
Hence, you need more people to work on the project if you want it to live long and prosper.
To get more people involved in your project you need more people to know about it and above all else to believe in it.
From my experience the best way to expose your open source to the right audience is to use one of the well known resources and to write a blog post about your project. The resource might be purely dev oriented (like dev.to) or not (like Medium), or tech focused (like here on Hacker Noon).
One commonality between all these resources is that they have an established audience and it is the relevant audience.
You can also cross-post your article between various online resources so that you’d cover an even larger audience but be aware! Cross posting has a few downsides:
If you go for Medium I’d highly recommend you submit your article to one of the large publications. It will require additional effort on your end, since you’ll have to align your article with the publication requirements. However, it will also ensure that your article is exposed to a large and, which is even more important, relevant audience.
You can also decide going behind a metered paywall: "Stories that are part of the paywall are also eligible for distribution to Medium readers through topics, which power recommendations on Medium on our home page, on our topic pages, in our Daily Digest and in our apps..."
I can’t tell you which one is better, but my personal preference is publications because it ensures your article is exposed, instead of the vague “eligible for distribution” term.
If your blog post goes viral then it can create a cascading effect and add even more leads to your open source. For example, if after publishing the article your Github project received a few dozens of stars in one day it can get to the Github Trending page which is in itself another source of exposure.
A few points to make your blog post great (again):
After you’ve published your blog post, make sure you share it on social media, with your friends, your family and strangers on the street.
This will increase your project’s exposure but you also have to make people want to contribute to your project.
The best thing is to start an open source with other people. This way from the very beginning you have a team with which you can split the burden.
However, that’s not always the case.
If you started alone you have to attract contributors and in my experience there are two types:
In both cases just having your source code shared on Github and a single blog post on how to use it are not enough. Here are a coupe of things that can make people want to contribute:
In this part we’ve discussed several things that will increase your project’s exposure and provide people with an initial incentive to open a PR or an issue.
But this won’t keep them as contributors neither will it make sure they will finish the work they started.
In the next chapter we’ll discuss how to manage Issues & PRs as well as how it affects the peoples’ perception of your project.
If you enjoyed my writing, learned something new or insightful or if you just don’t want to miss the next part, make sure you’re following me on Twitter or here. Cheers!