Up
0
Down

Discussions: Leading software projects in the Open Source world

Climbers heading for the top of the mountain

Technology has been evolving rapidly over the last years. When the COVID-19 pandemic emerged, we experienced a huge digitalization wave, impacting software related to almost every aspect of a citizen's everyday life. Telecommunications, education, government applications, e-commerce, project management, productivity suites, are only some parts of the software industries that grew rapidly lately. Open Source Software has been a catalyst for over two decades in the software evolution globally. Volunteers from all over the world are joining forces to co-create high quality software projects. The Linux operating system distributions, the Apache server, the Android operating system, Jitsi and the LibreOffice productivity suite, are some examples of well known Open Source Software solutions. 

When we talk about software management, it is probably very easy to understand who is leading a project in a corporate environment. That would be the company’s software managers. But in an Open Source Software, where the engineering capacity is voluntarily and (usually) there is no direct financial compensation or reword for the work done, who is leading those projects? Is Open Source Software Leadership a thing? 

For this article, I had the pleasure of interviewing Ms. Abigail Cabunoc Mayes (@abbycabs) [1]. Abby, leads GitHub’s open source maintainer programs, where she works to help maintainers – and the open source ecosystem – thrive. Before joining GitHub, Abby led Mozilla’s open source engagement strategy for MozFest and trustworthy AI. She founded and led Mozilla Open Leaders, a program that has worked with over 600 open projects globally. Abby is an advocate for Digital Public Goods through her work mentoring companies in the UNICEF Venture Fund. She is active in the open source ecosystem as a founding editor for the Journal of Open Source Software, a SustainOSS organizer, and on the OpenJS Foundation Board of Directors.

With Abby, we had the chance to discuss the current state of Open Source Software leadership, the concept of diversity in the Software Industry and the Open Source Software world specifically, and he dived in what it means to be an Open Source Software leader and what are the key qualities a person must have to succeed in this role. 

Q: Abby, it is a pleasure to have you with us. Could you give us a brief overview of your background and how you got involved in open source software leadership?

A: Thank you for the kind invitation. I have a background in computer science and bioinformatics. I started my career writing web apps for scientists at a cancer research institute. After a few years in academia, I was shocked to learn how normal it is for researchers to fudge their data or hide datasets to make their results more appealing and publishable.

This is when I joined Mozilla Science as lead developer to make research more open and accessible. Part of helping scientists work more openly was helping them learn how to lead an open source project – “open leadership”. 

Since then, I’ve been working with open source communities around the world to help them lead and grow their projects. In my role at GitHub, I work directly with maintainers to better support a sustainable open source ecosystem. [2] [3] [4]

Q: What does it mean to be a leader in the open source software community, and how does this role differ from leadership roles in traditional software development?

A: There’s a wide range of leadership roles in the open source community. From welcoming newcomers, to organizing meetups, to reviewing code – open leaders are building communities and empowering others to do the same. 

In many ways, it’s similar to leadership roles in traditional software development. Openness adds another layer around community using and contributing to the software.

Q: Software Engineering is frequently considered as a predominantly male industry. Do you believe that this is also the case for Open Source Software Engineering? 

A: Yes! The Linux Foundation published a report on Diversity, Equity, and Inclusion in Open Source [5]. This quote in particular stood out to me:

“Women, non-binary, LGBQ+, and people with disabilities were 2X as likely to have experienced threats of violence in the context of an open source project. Transgender respondents were 3X as likely”

Q: And what about diversity in general? Open Source communities have often communicated their intention to be more open, more inclusive environments. In your opinion, is this accomplished today? 

A: Based on the report I linked above, we still have a long way to go! It is encouraging to see more underrepresented groups showing up at conferences and contributing to projects, and to see numbers like 82% feel welcome in open source. But those that did not feel welcome are disproportionately from underrepresented groups.

Q: Can you give us a few key characteristics or skills you believe are necessary for effective leadership in the open source community?

A: I am a fan of the Open Leadership Framework by Mozilla:

“Open leaders design and build projects that empower people to collaborate within inclusive communities.

Open leaders are guided by open principles. They strive for:

  • Understanding: They make the work accessible and clear.
  • Sharing: They make the work easy to adapt, reproduce and spread.
  • Participation & inclusion: They make the work inviting, relevant and safe for all.

To apply these principles, open leaders take these practices. They:

  • Design: They make contextual, deliberate decisions about how and when to be open.
  • Build: They create structures and systems that ensure clarity and process-based management.
  • Empower: They model personal leadership skills that sustain them and their contributors.”

open leadership framework by Mozilla

Q: How does leadership in an open source project can effectively balance between innovation, quality assurance, and the community's needs?

A: The balance will look different for each project. 

Q: In your opinion, what are the most significant challenges facing leaders in open source software today, and how can they be addressed?

A: Governance is something I’ve noticed more and more projects struggling with over the past few years. Especially around decision-making. 

Whether it’s how the project should spend money, how to handle a code of conduct incident, or how new leaders / decision makers can join – I think all these problems boil down to project governance.

There are some great resources out there for open source governance! Shauna Gordon-McKeon recently put together Governing Open [6] to collect a few of them. But at minimum, I advise projects to document their decision-making process:

  • Who makes the decision (a group? BDFL? A company?)?
  • How are decisions made (voting? Consensus?)?
  • How do people become part of (or leave) the decision makers (election? Terms? Self-appointed? Appointed by last group?)?

Q: What strategies or processes have you found most effective for resolving conflicts or disagreements within the open source community?

A: Having clear documentation: Contributing guidelines, governance, code of conduct.

Then being able to follow the documented processes to take action when needed.

Q: How have you seen open source software leadership evolve over the years, and where do you envision it heading in the future?

A: We’ve seen a rise in community co-created software (vs openly licensed software anyone can use but may be difficult to contribute to). But this brought on the problems that come with having a community!

First, the README file started to be used to welcome new contributors. Then, Contributing Guidelines added more specific guidance. Codes of Conduct were initially debated, but now accepted as a standard file. Once there was a lot of adoption of Codes of Conduct (CoC), we started to see questions around enforcement and reporting. Now I think we’re at a place where projects are realizing they need documented governance to do things like enforce their CoC and manage their community generally.

Q: How important is the role of ethics in open source leadership? Can you share some instances where you had to make ethical decisions?

A: Ethics is important every time we’re dealing with innovation and humanity. It’s important to consider how the products we’re building will affect a diverse group of users – not just the people in the room.

Open source leaders are also in a position to make a strong statement. For some projects, this is proudly displaying “I stand with Ukraine” or “Black Lives Matter”. For others, it’s donating to offset the carbon footprint of their conference & travel.

Q: Finally, what are some open source projects or leaders that inspire you, and why?

A: Nithya Ruff [7] (Chair of the Linux Foundation Board, Head of Open Source at Amazon) has been a constant inspiration throughout my career. She was so incredibly welcoming when I coincidentally sat at her table at an All Things Open conference years ago. Her work at Comcast pushed corporate open source to a new level. Today, she’s such a powerhouse and truly an open source leader.

References:

[1] https://twitter.com/abbycabs

[2] My Grandmother, My Work, and My Open Science StoryAbigail Cabunoc Mayes, Medium.

[3] The Power of Maintainers + Joining GitHubAbigail Cabunoc Mayes, Medium.

[4] Enabling Collaboration at Scale, Abigail Cabunoc Mayes, Medium.

[5] Diversity, Equity, and Inclusion in Open Source (2021), The Linux Foundation. 

[6] https://governingopen.com/

[7] https://twitter.com/nithyaruff

Image credit: Jonathan Bell on Unsplash