The proverb "it takes a village" applies to more than child-rearing. It also takes a village to maintain an open source project.
Community is a large part of open source. After all, Open Source projects can't thrive without a strong network of people (community) who contribute towards it, either through code contributions, design, documentation, financial contributions, advocacy, or adoption.
This article covers why community is important in Open Source, what a community manager role involves, and how to get started. I’ve also included additional resources, and some real life experiences from the Open Source Community to help you get started.
Table of Contents
- Why Community?
- Why are Open Source Community Managers Important?
- Skills to have as an Open Source Community Manager
- Roles of an Open Source Community Manager
- How to Get Started as an Open Source Community Manager
- How to Find Open Source Projects to Contribute To
- Additional Resources
Before we head into the nitty-gritty of what an Open Source Community manager does, let’s take a look at the essence of community in open source.
Why Community?
The heart of a community is that it's a place where people gather, exchange thoughts, and collectively create something greater than the sum of its parts.
In the open source realm, this concept takes a digital form. Communities form around shared interests and the desire to build, refine, and improve software collaboratively. It's not just about the code – it's about the people behind it. A vibrant community enhances creativity, accelerates learning, and fosters an environment where innovation thrives.
Open source is a community project. It never happens in isolation, and it grows because of the communities that form around it. Whether you interact with open source as a user, contributor, or both, you're part of a community, and the community is better for it.
There are a variety of reasons why people join open source communities. A large number of people join because they are required to work on the software as part of their job. Maybe their organizations recruited them to develop it or maybe the project is essential to their jobs.
Some participate in communities in order to have a direct influence on the software development process that produces the essential functions for them and their businesses. Some join because communities provide them with chances to collaborate with and learn from others, which helps them hone their abilities.
Some people sign up because it enables them to work with others to solve a problem they're having. Some sign up because they think it's important to add to a shared resource that benefits everyone. And others sign up in order to socialize, or for a sense of identity and belonging.
So it's important to nurture the community, support its members, and find a way to reach a sustainable outcome.
Why Are Open Source Community Managers Important?
As community projects grow and become more complex with multiple product owners and contributors, they need to have a community manager.
Open source community managers act as the conductors, bringing together developers, users, and contributors to create a masterpiece. They are the bridge between the project and its community, ensuring that everyone's voice is heard, questions are answered, and collaboration flows seamlessly.
Skills to Have as an Open Source Community Manager
So, what makes a good community manager in the open source world? Here are some key qualities, encompassing both soft and hard skills:
- Communication Skills: A community manager must be an excellent communicator. Whether it's responding to GitHub issues, moderating discussions, or providing updates, clear and concise communication is key.
- Empathy: Understanding the needs and concerns of community members is crucial. OSCMs should have a high level genuine interest and concern for teaching others, engaging a range of stakeholders and balancing tensions as they arise.
- Adaptability and Inclusivity: Open source is dynamic, with contributors from diverse backgrounds. An effective community manager adapts to different communication styles and cultural nuances.
- Technical Understanding: While not mandatory, having a basic understanding of the technical aspects of the project can be immensely helpful. It facilitates better communication with developers and enhances problem-solving.
- Organizational Skills: Juggling multiple tasks, from handling forums to managing events, requires organizational finesse. Keeping things structured ensures that no message gets lost in the noise.
- A good command of English is a requirement for most jobs.
Recommended tools to learn as a community manager
Knowledge of all or some of these tools are 'nice-to-have'. You can check out job descriptions of OSCMs in job openings, and try to develop some or all of the skills that appear frequently.
Here are a few of the core skills you should learn:
- Git, GitHub, GitLab, and other version control systems for collaborative work.
- How to use Discord, slack, Discourse, and other communication tools.
- Markdown for documentation
Roles of an Open Source Community Manager
OSCMs work at the intersection of Developer Relations, Evangelism, Marketing, Engagement, and Advocacy. In fact, the majority of these responsibilities overlap so greatly that they are practically indistinguishable from one another.
Often times, the role of an open source community manager may be tricky to define, as there are many different aspects to it. Let's take a look at some of the responsibilities of OSCMs:
- Community Engagement—an open source community manager facilitates engagement by moderating, engaging, and supporting users in forums including Discourse, GitHub, and Reddit, Discord, Slack and Github discussions.
- Community recognition—when everyone feels like they have a home where they're appreciated, they’ll be encouraged to stay engaged. Impactful and meaningful recognitions such as celebrating community successes, sending swag, and recognizing top contributors is a great way to encourage a sense of belonging among contributors and build trust.
- Creating and managing new community and outreach programs—this could involve organizing meetups, events, hackathons, advocacy, and content (articles or newsletters, for example)
- Coordinating with other departments—such as product, engineering, and content marketing—to support community initiatives.
- Partner Management—keeping up to date with the various stakeholders and partners involved in the project
- Creating a good open source project—making the project discoverable, making the project easy to use, communicating feedback to project to maintainers, keeping documentation up to date and readable, spotting areas where the project could use more help.
How to Get Started as an Open Source Community Manager
Credit: John Cameron
Because of how vast and evolving the roles of OSCMs are, I sat down with three Open Source Community Managers to learn about how they started, and what their roles entailed. Each of these experiences differed in how the role was defined, the hiring process, and in their goals.
I spoke with Fiberesima Ibi, an Open Source Community Manager at Gnome Africa, whose journey started with an email and a desire to find the right open-source community where she could apply her skills.
“After exploring a few communities, I felt lost. Then, I stumbled upon GNOME Africa through Regina's tweet, and it clicked instantly.
What drew me in was GNOME's commitment to crafting an intuitive, accessible desktop environment. The African community was set up towards exposing Africans to contribute to GNOME projects and other open-source technologies.”
Fibi reached out to Gnome via mail, expressing her interest, which opened doors to becoming an Open Source Community Manager for GNOME Africa.
Speaking of her current role since joining the community, she has this to say:
“Reviving the community was a challenge I embraced. I've been focused on crafting strategies to boost engagement and contributions, and creating a welcoming space for everyone.
We recently started an X-series on “Recognizing your value as a contributor in the open source ecosystem” with the aim to empower contributors to leverage their open source journey to advance their career and personal growth.”
It's been an incredible journey of learning, empowering contributors, and advocating for GNOME's growth for Fibi. The main lesson she learned?
“Taking that first step, reaching out, and not underestimating the power of asking.”
Justin Dorfman (Open Source Community Manager at Sourcegraph) also shared his story:
“Starting in high school, I wanted to be a software engineer. The only problem was I wasn’t good at it. I would screw things up and sometimes create more work for senior engineers.
One of my mentors saw that I was very passionate and knowledgeable about open source and convinced me there were other ways to contribute.
At first, I was skeptical, but as the months and then years passed, I found I was making more impactful contributions to open source than I ever could have imagined. A non-code contributor as some say.”
“In my current role, I work with our community to get questions answered, I work with our engineering team to get content created, I recruit talented community members to join our company, and I make sure the open source dependencies we rely on are funded. From time to time, I update our docs or about the page, but the bulk of my time is spent out of an IDE.”
For Uriel Ofir, Community Manager at Ma'akaf, he recognized the challenges faced by Israeli programmers to connect with open source projects, and he built a community to address that.
As a community manager at Ma'akaf, my role is centered around creating an inclusive environment where Israeli programmers can seamlessly connect with open-source projects.
From overseeing our dynamic Discord server to facilitating knowledge-sharing through WhatsApp groups, every aspect of my work aims to foster collaboration within our community.
We provide valuable opportunities for members to network and learn by organizing physical and online meetups. Ultimately, my journey involves empowering individuals to engage, learn, and contribute effectively to the world of open source.
Many OSCMs perform their roles as volunteers, but sometimes communities hire for community managers. If you’re contributing on a voluntary basis, you’ll have a delicate balance to strike with regards to the community’s needs and your own commitments.
Open Source Community Manager Roadmap
Regardless of how you joined, it might still be intimidating to start as a new community manager, so it's better to approach the position similarly to any other development project. You'll need to identify your goals, define your idea of success, and then plan every step of your journey.
Here’s a simple getting started guide for new OSCMs:
- Choose an open source community that aligns with your goals.
- Join in—attend their events, join relevant groups, and connect with peers
- Contribute—read their documentation, check out the product features, make a contribution
- Volunteer—let the maintainers see your work, and approach to community management.
There are other ways to get started. In my case, I started my journey to Open Source Community Management through the Github Social Impact Digital Public Goods Open Source Community Manager, where I currently volunteer with Open Terms Archive as an Open Source Community Manager.
My role as a community manager involves various responsibilities. I help ensure that everyone collaborates in an effective way with less friction, I onboard users and contributors, I help improve our documentation, and I review and collaborate on pull requests.
How to Find Open Source Projects to Contribute to
I recommend starting with products, tools, and communities you already use or are a part of when looking for open source projects you want to contribute to. Since you are already familiar with the technology, there won't be much need for you to learn about it.
- Utilize your social media connections: Search for announcements on Twitter and LinkedIn.
- Use search engines to search with keywords such as "open source community manager"
- Send a pitch to maintainers of open source communities you're part of.
Additional Resources
Ready to dive deeper? Here are some resources to fuel your open source community management journey:
- Building leadership in Open Source Communities by Linux Foundation
- [Becoming]: Open Source Community Manager by Mary Blessing
- The significance of a community manager in your Open Source project by Mary Blessing
- How to Use Git and GitHub – Introduction for Beginners by Segun Ajibola
- Community Management Resources by Amarachi Johnson-Ubah
Thank you for taking the time to read. I hope this article has been helpful, and if you have any questions, don't hesitate to reach out to me via Twitter.