How to start your open source community
A month ago, we released the open source version of Twake. That is months of development work. Open source has a lot of advantages, biggest being the community. The open source community is incredible, it allows us to identify reported bugs we hadn't seen and offers feature ideas we hadn't thought of. We have been in open source for less than a month and we are already seeing positive effects of the community.
However, creating a community requires a lot of commitment. It doesn't create by itself. In this article, I will share some actions we took to build this community and how we reached our first 100 stars very quickly.
💪 Preparation
Before contributing in any way, users must be informed about the product. So, we created documentation for Twake to inform users about features of not only the product but also the code itself. This is the starting point of any open source project. Someone who wants to contribute must first be able to understand what's in the software. In our case, we used gitbook. Writing documentation is not fun, so we chose a software that makes writing simple and easy. In 2 clicks you can make a modification and put it online. Everything is done to make it as simple as possible.
We have also opened a forum. This is the way to interact with the community. We could have created a space for direct chat with gitter for example. The problem with synchronous exchanges is that the team has to be available all the time to answer problems and questions. In addition, there is no paper trail left. When a user has a question, it is very likely that other users also have had or will have the same question. We must therefore capitalize on the questions that are asked and have been already answered. This is only possible with a forum. We used Discourse and hosted it at https://community.twake.app
We made the installation of Twake simple and easy. Like most software, we had deployment scripts, which did 95% of the installation. At each deployment, there were still some manipulations to do, either because the script got stuck or because it did not cover the whole deployment. Offering an open source software, or library, requires a perfect deployment script. Otherwise, nobody will be able to install it locally. No one will be able to get involved in the community.
Finally, the readme file. This is a crucial point. It will not only make your community members stay but also bring in newcomers. The readme file is the first thing users of your software will see. It's like a landing page for your project. So we took care of it. We put a colourful logo, badges, gifs. We made it readable. It is not necessary to put all the documentation inside (since you have made a specific documentation site ;) ). We just indicated the few lines of code that are necessary for Twake. The rest of the readme should be devoted to "selling" the project to users. This is not the most fun part as a developer, but you can't escape it. If no one wants to read your readme, no one will come and watch your project.
🙌 Launch
To launch your project, marketing and advertising is key. For Twake, we maintain the all important activity on Twitter. We are referenced on most application sites (alternativeto, stackshare, theo.tool, ...). It is important to be everywhere at the same time. It is a big vector of your communication. Talk about your project as much as you can on reddit, quora, dev.to, ...
According to your progress, you can launch your project on ProductHunt and on Hackernews. They are able to bring very large traffic on your site, provided you make a good launch. It usually requires a few weeks of preparation. It is critical to take your time for launches on ProductHunt and HackerNews to be best prepared for them.
🙏 Acknowledgement
Entering a community is establishing a commitment on behalf of your users, especially the early adopters. It is important to thank them personally as soon as you can. For example, I send a manual email to each new person who registers on our forum. Also, when someone puts a star on our repository, I try to contact them to thank them. A community is a space for exchange, it is necessary to give your best before you hope to receive the best.
✌️ Conclusion
Having a community around your project is something incredible, we see it every day. We received our first issues and questions on the forum. But you have to get involved to kick start and maintain the activity. A community requires investment and a lot of care. It's your role, as an open source project owner, to not only build but also animate your community.
Feel free to check out github.com/TwakeApp/Twake and put a star if you like it ;)
Top comments (0)