How to build and maintain welcoming open source communities?
Tags: opensource, javascript, beginners, react
Published: 2022-02-03 12:11:54

Open-source projects thrive upon the solid foundation that open source communities offer. However, there are zillions of open source communities and building and maintaining one is no magic but calibrated efforts of the maintainers who do not shy away from following certain best practices. How do we stand out? Are there any strategies that we can follow or develop? Well, it surely isn’t a walk in the park however by following certain best practices we may be able to build and maintain a tribe of our own! Read on to know more.

### Making it easy for all to use the project

Creating a strong ecosystem around the project is as significant as developing a project. A strong ecosystem will be able to stimulate the growth of the community. When the developers, contributors, users etc find tools and techniques that can simplify their work they will not only use them but will find means of improving them as well. This creates a win-win situation for all within the community.

We may land up to the next obvious question. What makes for a relevant ecosystem?

The technical documents, the API, the readme along with the people all come together to build a significant and welcoming ecosystem. Good documentation is definitely time-consuming just like building a bond with all the members of the community. The trick is to keep it transparent and open for all.

### Building personal relationships

Collaborating online may at times get lonely and often impersonal. If we are making internet collaborations we’ll need to build closer and more personal relationships. You’d want your tribe or community to know you as a persona and not merely as a GitHub username! How can we make our community more personal?

- We can create communication channels that are easy to access and use. Such channels may foster conversations, sharing ideas, coming up with innovative solutions, asking the right questions and build personal relationships.
 - GitHub issues is a great way to discuss feature requests, bug reports and other proposals. But sometimes it will make more sense for the users and contributors to hang out casually and get help through a platform like Slack or Discord. At ToolJet, we chose to use Slack as a lot of developers already have a Slack account.
 - While choosing a platform for your community, make sure you do not use something that is less popular. Make it easy for your community members to join the platform. If it involves downloading a new application or creating a new account, they might just choose to be lazy.

- We can welcome the new members to the group and get them up to speed with the latest developments.

- We can identify our contributors and can support them to advance. We can even consider referring them to relevant companies and individuals. Inviting them on calls and chats is also a good idea.

The more our community members grow and expand their skills the more experts we’ll have in our tribe!

### Letting the community members contribute meaningfully

Interested members who’d like to contribute to the projects may need to have all the information at their disposal. With information, they’d be able to begin and get to speed. For example to save the time of the developers from searching for documentation we may rather make them easily discoverable. As per one of the surveys by [GitHub](https://opensourcesurvey.org/2017/), about 93% of the people consider incomplete or outdated documents a major challenge. Improper or incorrect documentation may turn off a member from engaging meaningfully within the community. How do we let the community members contribute meaningfully?

- Giving them clear guidelines of how to contribute as simply as we can.
- Creating a dedicated contribution file to keep all the documents updated within.
- Labelling all the documents correctly so that the new members are not lost within.
- Always extending gratitude to the members who contribute to our open-source projects. A few words of kindness may go a long way in managing an empathetic community.

![graph](https://lh3.googleusercontent.com/827L24xTDIqLKQSrXx5LjfhHpuIsUOQHxLyiI2DbQatQXA4jbCj8iZBmXjq9ZaKskxGaHUoCtXM8flIgJ2tyD8_2xytJ-eFRJU-mruQpWB58Cie4IXI6jQBNsN9zKREEOiiPEKEM)

### Driving inclusion within the community

Our open-source community may be willing to engage more when the members feel a sense of inclusiveness. The more we make them feel a part of the community the more they may be motivated to stick with us through the thick and thin of times. So how can we best make the members feel included?

- We may pay heed to their feedback both positive and negative, this will make them feel heard. Also, we’d be able to gain the most useful of the information through these hard to hear feedback loops.
- Ensuring that the maintainers of the community are available on different channels so that they can engage with all the members of the community.
- Consider creating a mailing list for all the members who can time and again be updated on what’s going on within the community. Everyone who’ll be part of the mailing list may gain access to the latest blogs posts, major announcements, press releases etc.
- We can empower the members to take up some tasks that they’d find interest in.
- We can even dedicate a blog space wherein we can write about how grateful we are for our contributors.
- We can make our trusted contributors the maintainers of our projects where they can take the lead to manage the project professionally.

### Setting up a code of conduct

Our open-source community can bring in people from all over the world. For sure we can have a very diverse community however there can also be major conflicts within the community.

As per GitHub negative interactions amongst the members of the community may develop in the process. Nearly 18% of the members who’ve been part of the GitHub community have faced some form of negative interactions within the community. Almost 50% of the members have witnessed the exchange of negative interactions within the community. About 21% of the members mentioned that they’ve stopped being a party to the community because of the negativity.  The common negative interactions could be impoliteness, stereotyping, name-calling etc.

Our open source community should be able to offer a positive and enriching experience to all the members regardless of their ethnicity, region, gender etc. Hence to foster an empowering and harassment-free culture we should enforce a uniform code of conduct for all the members. We can get started by considering the below-mentioned points.

- Addressing any kind of negativity immediately by setting clear grounds.
- Addressing negative interactions politely and publicly. By doing this we’d be able to send a clear message to our members that any kind of negativity will not be tolerated within the community.
- We can give the members power and tools to act against any kind of negativity. Blocking a member can be one of the methods.
- We can make our code of conduct file open and accessible to all. It should also be visible.

![negativity-in-open-source](https://lh6.googleusercontent.com/hqY4240OwjqEae3LZK13j7QX5dbx8Shf8KFPBQrmAo-wY1KMvFzuE0qCgCzNjtiI-AzkTR0KgQLGNSmVeH7DJM7c-RSYXoAyfgo0nbjiFbXgTCMVMH29jUsdv6yCPjOk5izsY5wT)

Open-source software revolves around the community of users, contributors and maintainers. The community can easily become the "product manager" of an open-source project. At Tooljet we follow the above-mentioned practices and principles to build and maintain a thriving open-source community. ToolJet is an open-source low-code framework for building web applications. You can check us out on GitHub - [https://github.com/ToolJet/ToolJet](https://github.com/ToolJet/ToolJet).

### Ending Note:

Building and maintaining an open-source community is possible when we look at each of our members empathetically. By being wholly transparent towards our members we’d be able to build personal connections and drive diversity and inclusiveness. Investing our time and efforts towards the goals of building a welcoming community is a worthwhile effort. The community that we’ll build today may take us closer to our long term vision of building a product that stands out amidst all others. The relationship that we share with our community is two-way. Gaining their support and giving them an environment to thrive in, is a win-win for all involved.