DEV Community

Cover image for Cultivating Open Source Community
BekahHW for OpenSauced

Posted on • Originally published at opensauced.pizza

Cultivating Open Source Community

We all need community. Open source needs community. It’s the space where we collaborate and grow together by working to create something greater than the sum of its parts. When we look at the dynamics of open source communities, we see that the sense of mutual belonging and support is a key part of its success. Just as Kelly-Ann Allen from The Psychology of Belonging notes, our sense of belonging to groups—whether they are families, social groups, or professional communities—plays a significant role in our well-being and motivation:

We find much of our meaning, identity, relevance and satisfaction in life through our sense of belonging to groups. At family, community and societal levels, we rely on others for support, validation and understanding. Belonging to groups, whether these be families, groups of friends, social groups, schools, workplaces or communities more broadly, has a positive effect on several key factors that contribute to our successful healthy functioning as human beings in a society.

In many ways, this is why open source community becomes such a vital part of the open source ecosystem. When we find belonging in a community, we’re more likely to grow, find meaning in challenges, and to feel a deeper sense of satisfaction.

Shifting Sands of Motivation

When people stay in a community, it’s because they’re motivated to be there and there are opportunities to contribute. Ideally, contributors are motivated by the success and sustainability of the project. This requires a community that trusts the maintainers and their vision, creating a space for meaningful connections.

For example, Tyler Williams became a contributor to mobx-state-tree because his company was actively using it. Maintainer Jamon Holmgren noticed and invited Tyler to become a maintainer. Tyler’s investment was motivated by using the project.

Other motivations include learning new technologies and enhancing resumes.
Depending on the contributor, this may mean fewer meaningful and sustained contributions and more work for the maintainers because their motivation isn’t tied to the project. Ideally, maintainers could encourage these contributors to stay involved and grow through a contributor ladder or other motivators.

Contributor Confidence

To understand evolving motivations requires regularly engaging with your contributors and creating space and flexibility for their continued contributions. Creating feedback loops and regular check-ins with your active contributors can help to gauge their continued participation in your project, but also understanding the Contributor Confidence of the project can be a good way to understand if the contributors motivations are impacting whether or not they’re contributing or if the approachability of the project is an issue.

Contributor Confidence is a metric that helps us understand the likelihood of someone who interacts with a repository (by starring or forking it) coming back to actually contribute code or other content. For example, a high Contributor Confidence score (e.g., 37-50%) suggests a welcoming and active repository where your contributions are likely to be seen and valued, while a low score (e.g., 1-3%) might indicate it’s harder for outside contributors to get involved.

Contributor Confidence Gauge

Motivations will change over time. Understanding these shifts and adapting is necessary for sustaining active participation.

Fostering a Sense of Belonging

I recently caught up with Dave Kiss, on an X Space about monetizing your open source project, and he talked about how important it was for him to be a part of the open source community, “A community isn't just a one-way approach. We have to sort of lean on each other and give back in ways that we can.” We see this sort of horizontal mentorship all the time in healthy open source communities.

Open source communities are a hidden gem of mentorship and learning. When we create a space where community members support each other, the community is more likely to thrive and help each other. In our recent episode of The Secret Sauce with Kelsey Hightower, he points this out as well, “You can come in [to an open source community] and say, hey, I want to understand how operating systems work. And someone will be patient with you. It's like, all right, let's walk through the code. Let's walk through your contribution. Let's walk through the potential fix that moves this forward. I think that's the thing that a lot of people that have never contributed to open source don't understand what's so powerful about this particular segment of our industry.”

This support system is necessary for the growth and sustainability of open source projects and for cultivating a culture of continuous learning and growth. New contributors bring fresh perspectives and ideas, while experienced members guide and mentor them. This symbiotic relationship ensures individuals and projects continue to grow and adapt to new challenges.

The Open Source AI Community: A Case Study in Innovation and Collaboration

The open source AI community is a great example of how collaborative efforts can lead to innovation. This community not only thrives on contributions from individual developers but also benefits from the involvement of large organizations and research institutions.

Even Meta, once known to have more of a guarded approach, shifted to open source AI, particularly with models like LLaMA 2
and LLaMA 3, leading to millions of downloads and customizations. The decision was brought in part by a desire to drive innovation, improve safety and security, and create a path for progress:

zuckerberg's post on opensourcing llama2

As Zuckerberg noted, PyTorch has been a largely successful open source project started by Meta as well.

PyTorch: Driven by Community Engagement

Initially developed by Facebook’s AI Research lab, PyTorch is a machine learning library that can be used for things like image recognition and natural language processing. Its active community contributes to its development and supports each other through forums and collaborative projects.

stars and forks for pytorch

The PyTorch community organizes regular events, workshops, and hackathons, which not only help in spreading knowledge but also in building a strong network of AI practitioners. This collaborative environment has led to rapid advancements and extensions and libraries that build on the core capabilities of PyTorch. Their daily increase in Stars and Forks also indicates sustained community engagement and interest.

The Impact of Community in Open Source AI

The open source AI community exemplifies the core principles of open source: transparency, collaboration, and shared growth. By involving the community and encouraging contributions, projects have not only advanced the field of AI but have also created an inclusive environment where we see continued innovation and growth.

The Balancing Act: Governance vs. Openness

In Drive: The Surprising Truth about What Motivates Us, DH Pink identifies purpose as an intrinsic motivator. This means if we feel that our opinions and work matter, we’re more likely to be motivated. When we allow our community to contribute to the decision-making process, they feel a sense of belonging to the open source community.

Transparent decision-making and shared project roadmaps create psychological safety. Regular updates, open processes, and a common vision drive collective progress and innovation.

In Evan You’s episode of the Secret Sauce, he talks about the responsibility of listening to the community and accounting for their feedback when making decisions: “So I am the BDFL [Benevolent Dictator for Life]. That's actually publicly stated in the governance documents in Vue. So I make the final calls. And if I want to, I can just say, this is the way we're going to go with. But if you look at our governance document, it's laid out in a way that says, okay, Evan is the project lead, Evan is the BDFL. He has the final call, but he has responsibility in listening to the feedback from community members and team members. I basically have the responsibility to make my best effort to take into account all the feedback from people who are stakeholders in the ecosystem. ”

Creating an environment where members feel safe to voice their opinions can build trust and cohesion. Request for Comments, or RFCs, are a great way to get the community involved.

What is an RFC?

An RFC is a formal document - or more likely in the case of open source communities, an open issue or repository devoted to RFCs - that outlines proposed changes, features, or enhancements to a project. RFCs invite feedback, suggestions, and discussions from the community on significant changes before any final decisions are made.

Why RFCs are Important for Open Source Communities

  1. Transparency: RFCs make the decision-making process open and visible, building trust as members see their input valued.
  2. Collaboration: RFCs encourage community members to contribute ideas, leading to better solutions and implementations.
  3. Inclusivity: RFCs create a sense of ownership and belonging, motivating members to contribute when their feedback has a tangible impact.
  4. Quality Assurance: RFCs facilitate thorough review and discussion, identifying potential issues and improvements.

You can check out Rust-langs RFC Repo to see their well-documented and thorough process for an RFC.

Collaborative Decision-Making and Forking in Open Source

An empowered community also always has the option to leave a project if they feel the vision of the project has changed or they’re not being heard.This is a strength of open source: the option to take what you love and leave.

Kelsey Hightower discusses this in his Secret Sauce Episode as well: “So when you say, hey, add this feature, add this thing that doesn't make financial sense for us, we can say no. And now you have somewhere to go. There's forks. There's a fork of Terraform. There's a fork of Vault. And the community can choose to go that way ... The other part, though, is when we say open source, that little fourth button that's at the top of GitHub, that's what a community has got to put their money where their mouth is. So if you're complaining about the license change, That means you're willing to step up, right? Fork the project, rename it, and keep contributing in a way that adds value for 10 years. And if you're not going to be doing that, then the price and the license change is justified.”

The Power of Forking

Forking is a fundamental part of open source that empowers communities to take control of their open source participation. When a significant portion of the community disagrees with the direction of a project, they have the option to fork the repository. Forking allows developers to implement their own vision and address issues they find critical, which might not align with the original project.

The Balance of Community and Governance

While forking is a powerful tool, it also underscores the importance of balanced governance in open source projects. Effective governance structures that prioritize transparency, inclusivity, and responsiveness can decrease the need for forks by addressing community concerns proactively. Projects that successfully balance strong leadership with active community involvement tend to maintain cohesion and attract long-term contributors.

The option to fork a project reflects the strength and dynamic nature of open source communities. It ensures that the voices of contributors are heard and that the evolution of the project can continue even with disagreements.

Final Thoughts

Open source communities are more than just a collection of contributors; they are dynamic ecosystems driven by shared goals, mutual support, and evolving motivations. These communities thrive on the principles of transparency, collaboration, and inclusivity, creating spaces where innovation happens and learning never stops.

But we have to acknowledge that these communities are not without their challenges. As we’ve seen, maintaining engagement, balancing governance with openness, and managing the diverse motivations of contributors are ongoing struggles. These challenges, however, are also opportunities. They push us to rethink how we create space for belonging, how we communicate, and how we make decisions.

The stories of contributors like Tyler Williams and the insights from Dave Kiss and Kelsey Hightower remind us that the strength of open source lies in its people. It’s in the willingness to mentor, the courage to fork a project, and the drive to contribute to something larger than oneself. These elements form the unseen currents that push open source forward.

As we look to the future, we must continue to invest in these communities—not just in terms of code, but in terms of human connection. We need to create environments where contributors feel valued, where their voices are heard, and where their contributions matter. This requires a delicate balance of governance and openness, a commitment to transparency, and a focus on building strong, supportive networks.

In the end, the true power of open source is not in the software itself, but in the community that builds it. By embracing this, we can navigate the challenges and cultivate thriving, resilient open source communities that drive innovation and make a lasting impact on the world.

Top comments (0)