Community

Being Your Best Asset and Not Your Worst Enemy by

Being Your Best Asset and Not Your Worst Enemy by

by Evan Phoenix

In the video titled "Being Your Best Asset and Not Your Worst Enemy," Evan Phoenix shares his insights on managing open-source projects, drawing from his extensive experience with the Reinius project. He emphasizes the importance of balancing code management with people management, as contributors play a crucial role in the success of any open-source initiative. Evan outlines four key laws that can help both project managers and contributors navigate challenges and foster a productive environment:

  • Contributors as a Privilege: It's essential to remember that contributors, even when they pose challenges, are a valuable asset. They provide support that one cannot achieve alone, so their presence should be appreciated.

  • Accepting 'No': A firm "no" is a necessary part of open-source management and should be communicated respectfully.

  • Delegating Responsibility: Assigning responsibilities can empower contributors, giving them a sense of ownership and direction within the project.

  • Communication is Key: Frequent and open communication is critical for project success. Projects can thrive or falter based on how effectively communication is managed among contributors and the community.

Evan discusses the importance of maintaining a friendly environment, especially in unexpected scenarios, such as receiving unwanted contributions. He encourages project managers to engage in dialogue with contributors to understand their perspectives and to use such interactions as opportunities for collaboration.

He highlights a significant aspect related to forking projects, stating that it should stem from a place of love for the project rather than frustration. Successful forking can lead to innovation and energize community involvement rather than division.

Another crucial insight is that while many assume complex processes are necessary for effective contribution management, a streamlined approach often yields better results. An overly complicated workflow can stifle creativity and agility.

Lastly, Evan touches on the human-centric nature of open source, where mutual respect and a sense of belonging among contributors are vital. The culture of openness and appreciation for all contributions can drive projects forward, creating a nurturing community that fosters collaboration and growth. The talk concludes with an invitation for questions, reinforcing an open dialogue with the audience.

00:00:09.400 Okay, so I'm Evan Phoenix. Thanks for getting up early this morning, everyone. I'm excited to have feedback on this.
00:00:15.920 I've been working on Reinius for years now, and I'm lucky enough to work on an open source project as my main job. Every day, all I do is work on an open source project, which is an amazing way to spend your day. Throughout the years, I've learned several things that have helped me navigate running an open source project, as it's not a simple task.
00:00:37.200 I've decided to distill my experiences down into four laws or guidelines on how you can approach different problems and scenarios in your open source project. These principles are not just for those running a project; they are also for those contributing to one.
00:00:57.879 It's essential for contributors to understand these laws, as we need to think about the fact that the people you're collaborating with should also adhere to them. So let's dive into these laws.
00:01:13.520 The first law is that contributors are a privilege. This is something very important to remember because, at times, contributors can feel like a complete pain. There are certainly instances where you get contributors who seem burdensome rather than helpful. However, even in those cases, it's crucial to remember that they are providing a service that you could not obtain on your own. Having contributors is a privilege.
00:01:41.159 The second law is that 'no' is a perfectly acceptable answer when discussing matters within an open source project. The third law involves responsibility within the project. I've found that giving someone responsibility imbues them with an incredible sense of purpose and guidance for the project.
00:02:05.039 Lastly, the fourth law is that communication is vital, and it must be frequent. Open source projects can thrive or fail based on how well they communicate internally as well as externally. I have often struggled with this—sometimes not communicating enough, while at other times over-communicating.
00:02:28.239 So, when you have a project and you're looking to apply these principles, always remember to be nice. It's all too easy to fall into a trap where it feels like contributors are pushing your buttons, and you're tempted to lose your patience with them. It's crucial to remain friendly and foster a pleasant community, as contributors are doing you a favor by being part of your project.
00:02:51.879 This approach applies particularly well in situations where contributors offer changes or features you weren’t expecting. Let's consider a case study that exemplifies this point: imagine receiving a patch suggesting an unwanted feature.
00:03:06.799 Let's say you receive a patch saying, 'Hey, I made it so you don't need to flush a toilet anymore.' At first, this might seem absurd. You could think, 'What are they talking about?' However, it’s essential to take a step back and recognize that they are trying to contribute positively to your project. This should open a dialogue about why they believe this feature is important and why you may not see its value right now.
00:03:42.600 By having this conversation, you may uncover important insights they have about a current aspect of your project that you hadn’t considered. There will also be situations where someone is interested in working on something different from what you need.
00:04:02.000 This leads to the question of when a contributor should create forks of the project. If they want to explore new ideas, it’s crucial to remember that forking should come from a place of love for the project rather than frustration. The perceived benefits of forking are the ability to innovate while still collaborating.
00:04:20.520 For instance, a common issue arises when contributors fork projects due to disagreements, which can lead to divides in the community. In recent years, we’ve realized that good forking practices can unify and energize a project. Collaboratively building a community can cultivate an ecosystem of ideas, innovation, and enthusiasm.
00:04:50.200 As a project manager or contributor, it is crucial to remain open-minded and supportive about forks—communicating with those who fork your project can foster collaboration. A friendlier approach can turn a competing fork into a powerful ally. Engaging with those who are forking your work can encourage a collaborative atmosphere instead of one of contention. Maintaining an open dialogue is essential.
00:05:43.760 Regarding the structure of your project, many people think they need a lengthy process to manage contributions effectively. However, too much process can slow down progress and frustrate contributors. On the opposite end, not enough structure can lead to chaos and confusion. Finding a balance in your approach and sticking to what works best for your team is essential.
00:06:03.560 I've observed many projects adopting complex git workflows. While some believe that thorough preparations can help prevent potential pitfalls, I’ve learned that premature processes can create frustration. Focusing too heavily on imagined errors without allowing flexibility can become a burden.
00:06:36.160 Having been part of the Ruby community from the start, I can attest to the value of navigating development with minimal structure. I propose that we treat process as an agile-like framework—adding processes only when necessary rather than preemptively.
00:07:28.200 Another critical aspect of effective open source management is responding to enthusiastic contributions. Receiving a batch of patches from someone new can initially feel thrilling; after all, someone wants to help! However, this excitement often gives way to frustration when reviewing their contributions.
00:07:55.440 This potential for disappointment is a teachable moment. You have an enthusiastic contributor, and it’s vital to guide them through the integration process. Emphasizing your eagerness to provide direction is critical; treat their contributions as opportunities for discussion rather than a burden.
00:08:38.200 You want to say, 'This is amazing, but let's discuss how we can align your ideas with the project's requirements.' See if you can incorporate their features at a later stage. This creates an environment of respect and understanding while nurturing enthusiasm.
00:09:02.400 It's crucial to educate contributors about the project's architecture and dependencies, ensuring they know what is possible within your codebase. Even informal conversations can add to this 'collective documentation,' aiding the project's longevity.
00:09:18.240 Remember, when fostering a positive environment, the goal is to keep the community growing. Finding that balance between establishing order and acknowledging structure is vital. Develop a culture of open conversation in your community and make it easy for contributors to ask questions, seek guidance, or discuss new features.
00:09:55.920 As contributors, you should also acknowledge that projects aim to stick to their goals. If you find that your contributions do not align with the project’s current focus, understand that it's not a personal rejection; rather, the community is not ready for your input yet.
00:10:15.760 This brings us to the conclusion: open-source development transcends code; it is fundamentally a human-centric endeavor. Open-source relies on an intricate web of social interactions, driven by enthusiasm and respect among members.
00:10:39.840 Remember, contributors want to succeed; they want to be part of the community and actively contribute to the project's growth. Thus, treating them with respect and genuine appreciation will ultimately yield a bountiful collaboration.
00:11:14.080 Acknowledge their contributions and encourage a sense of belonging. Ensure that every contributor feels valued, and they will reciprocate this trust by nurturing the community and advancing the project together.
00:12:06.320 Now, as we conclude, let me open the floor for any questions.
00:12:14.080 "Do we have time for questions?"