This article discusses: What, in the open source world, is a community. And how to engage with it in the best possible way.
In the open source world, one of the most important notions, yet also one of the more elusive ones, is that of communities. Organizations that are starting on their open source journey often talk about communities as if they were tangible resources, malleable, controllable, and available to service their needs, like it would be the case for the payed support organization of a commercial solutions or product vendor.
So maybe it’s time to get back to the basics of understanding what, in the open source world, is a community. It will greatly help engaging with them in the best possible ways.
An open source community is a loosely defined group of people who share a common interest for an open source project.
This interest stems from an almost as varied set of origins as there are people in the group. While most of the community members (if not all) are users of the project, some will have an interest in participating because they want to make it better, others because they want to learn how to use it best, others because they want to share their experience with others, some because they are just looking for support.
But it can go further. You will find people who participate in the community driven by idealistic motivations, maybe because the project supports some societal activity that makes sense to them. Some will participate for financial reasons – direct (payed to do the work by the project owner) or indirect (working for a company that asks them, as part of their job, to contribute to the project). Some contribute to have a great line on their resume (which in modern days means code linked to, or on, their GitHub account). Some of these motivations can be very long lasting, others can be very time bound, as interests shift over time.
The key element in understanding a community is that it is build and motivated by interest, and only interest. While there are best practices in terms of putting in place the right structure for a community to grow (forums, wikis, code sharing platforms, mailing lists, instant messaging platforms – we all know of tools like XWiki, GitHub, Slack and so many more), if there is no actual interest (beyond your own organization) in the project you are open sourcing, then there will be no real community to speak of.
And then, even if there is an actual interest for the subject, if the community isn’t structured the right way to appeal to possible participants, it also won’t grow. Some commercial organizations have found that taking their project and putting it under the stewardship of an independent foundation is a great way to show to the world that you are doing this for the community and not only for you, and that you will not reclaim control in the end when you are done with it, e.g. what Allianz did, open-sourcing their core insurance platform (ABS – Allianz Business Systen) and creating Aposin, a non-for-profit association to host it as the Open Insurance Platform.
You will need to communicate about your project, its existence, of course, but also its values, its codes and rules, how to participate and engage, and how to get to the code. It should be easy and clear. Anything that looks like a hurdle will slow or stop adoption. At the beginning, people will not automatically be aware of the project. They might become aware by using the product and having a need to interact with the team for bug fixing. But generating visibility will be critical. Social media, press are all great means to generate buzz and establish a controllable presence that will be the anchor point of your community.
Crowdfunding bounty platforms like Topcoder work very well to attract people to your project, but need to be used carefully when it comes to generating attention to open source projects, because if people think that every time they contribute it will be the object of a bounty or reward, the moment you stop using the platform, your contributions will drop. Use them appropriately, for point operations, but also cater to the people who are contributing pro-bono.
In order to drive participation and community feeling, make sure, also, that you are present at open source or industry events. And have nice goodies to give away. Make them feel like they are valued members, like you care for them and are grateful for their participation. Those who participate to have a great resume might not care that much, but those who do it because they feel it’s the right thing to do will feel even more motivated and happy to spend time making your project more active.
Communities are a great way to grow your project. But they are not a fully deterministic tool. You must understand their motivations, generate their interest, feed and nurture them. But once they are active, they can be your strongest marketing and development team.