Do you contribute to open source software (OSS)? If you’re interested in sharing your perspective, please consider filling out the form at the bottom of this post.
Hello, my name is Devon! I just joined GitHub as the open source product manager. I’m here to support maintainers in cultivating vital, productive communities.
This is my dream job. I’m a developer with a passion for governance and economics, and I joined GitHub with the specific mission of supporting OSS. I also spend a lot of time thinking about how cities work. That might seem like an irrelevant nerdy fact, but cities and OSS share deep parallels. My favorite urban economist Alain Bertaud said, “Close proximity, which is so essential to the creativity of cities, requires special rules, shared investments, and common services.” It’s simply not enough to bring people into the same space—whether it’s virtual or physical—and expect everything to go smoothly.
As the OSS community has grown in scale and importance, the way we think about working together has to evolve, too. What works in a village or a town needs to evolve to serve a metropolis. Open source has grown from a small, academic sharing network to a giant, global web of dependencies. It now forms the backbone of the internet and technology in general. Just like any growing city, we have to coordinate the knowledge, infrastructure, and tools for the good of the whole community.
OSS is an essential and special part of software development. OSS has also been the heart of GitHub since the beginning. However, there is so much more we could do to support the people behind it. I have many ideas, but first I want to hear from you.
OSS makes world-class tools available to everyone. It feels so routine now, but this is such a special part of software. Every
include statement is the contribution of a team of experts who, together, have devoted immense energy to the problem so that each developer importing their work doesn’t have to. OSS is an extraordinary version of “standing on the shoulders of giants”.
OSS maintainers and contributors build tools for the rest of us, yet they don’t have all the tools, support, and environment they need to succeed. For example:
- Lack of communication resources: As projects grow, communicating with users becomes increasingly challenging. Many OSS teams find themselves building project and community management tools from scratch, sapping energy from the core project.
- Work overload: Teams often find themselves exhausted when their user base grows faster than their bandwidth. Solving a big problem for many people is satisfying, but it gets more difficult over time and creates long-term sustainability issues. In many cases, the author never planned to be responsible for a critical piece of digital infrastructure. They were trying to solve their own problem, and it turned out to also be useful to many others.
- Abuse: No one deserves abuse. OSS contributors are often on the receiving end of harassment, demands, and general disrespect, even as they volunteer their time to the community.
- Inadequate resources: OSS is everywhere, but it still faces a lack of resources. Developers and companies benefit from a vibrant OSS ecosystem, but individually they lack proportionate incentive to contribute time and money to creating and maintaining projects. This dramatically limits the value of OSS despite its enormous potential.
- Sparse analytics: Beyond download statistics, maintainers have limited visibility into how their software is used. They have a pulse on the day-to-day needs of the community through hands-on interaction with contributors and users, but the tools to do this could be better, and there are only a few tools that give a larger view of what’s going on.
- Asymmetric recognition: Many types of contributions go into an OSS project beyond code. Unfortunately, hard work, including project maintenance, can go unnoticed and unrecognized when it isn’t legible to the project’s users.
- Insufficient mentorship: OSS can be a challenging environment to find mentorship and learn best practices around building and running a project, and newcomers far outnumber experienced folks.
- Inadequate governance: As a project evolves, the framework by which the team makes, delegates, and communicates decisions must also evolve. Communities are not always well-equipped to guide that evolution.
… and I’m sure there are more, which is why I want to hear from you!
I want you to be part of the conversation and our roadmap. These challenges are nuanced, and they are unique to each project and community, so it’s crucial that we have an open dialogue as we focus on helping you address them.
If you’re an open source contributor or maintainer, please join the conversation by filling out the contact form below! I can’t wait to talk to you.