On Tuesday last week I drove down to Half Moon Bay with Jeremy and Ilan for the Open Source Leadership Summit. I always enjoy this event: it is smaller and more focused than the bigger conferences, which helps facilitate some great discussion. Angela’s team at the Linux Foundation do a fabulous job running it.
As those of you who follow me on social media may have picked up, I was knocked down by some kind of weaponized fully-automatic navy-strength flu. I spent the entire event holed up in my room feeling thoroughly sorry for myself and living off room service. Over a week later, I am finally about to shake it. I am not quite sure how this happened, but I blame Stuart while he was at SCALE: he must be patient zero.
Anyway, before this all kicked in, I sat in the CommunityBridge announcement by Jim Zemlin after lunch on the Tuesday. I wanted to sketch some thoughts about CommunityBridge, what it is, and what I think of it but because of the flu-related downtime, I have been delayed in writing up some thoughts.
Now, a caveat: I have a close relationship with the Linux Foundation. They are a client of mine, and I consider Jim a good friend. As is always the case though, I formulate my own opinions, and my opinions here are my own and not that of the Linux Foundation.
For those who didn’t see the news, the Linux Foundation announced a new platform called CommunityBridge. In a nutshell, this is a platform that provides a set of services designed to serve open source projects and developers. The first set of services announced include:
- Funding – provides a place where people can donate to projects, and policies can be defined about how the money is used. For example, what proportion of donations can go to hardware, events, travel, etc.
- Security – provides an overview of vulnerabilities that relate to a project, links directly with the CVE database, and is able to identify vulnerabilities across the dependency chain.
- People – provides a dashboard to connect together mentors and mentees to streamline how mentoring initiatives are structured and run.
The Linux Foundation just took the wraps off this, so it is early days, but they are eager for people to start using it and provide feedback. They have also been providing donations matching to help build up the available funds in the platform.
For a number of years now, I have been talking about how code is one artifact of a strong community. Successful communities don’t just forge great code: they are able to build healthy teams with workflow and tools that are simple and tightly integrated.
As one such example, GitHub have over 96 million repositories that serve over 31 million developers. The most successful projects that live in GitHub integrate their engineering workflow (such as issue management and pull requests) with a raft of other elements, including but not limited to:
- Open communication, code, build services, and planning.
- Efficient code review and release management.
- Simple onboarding to get new developers from piqued interest to pull request in next to no time.
- Designing security policy, managing bugs, and maintaining security across binary distributions and dependencies.
- Regular meetings to review plans, discuss architectural decisions, resolve problems, and more.
- Soliciting donations and managing how that money is distributed, as well as the tax paperwork that is associated with it.
- Measuring contributions to the project and optimizing and improving developer workflow based on this data.
- Effective incentives and rewards for great work contributed in the community.
- Building growth and participation to keep the community growing.
- Building awareness of the project via a website, social media, campaigns, and more.
- Providing support to users, managing feature requests, and setting expectations.
- Speaking at conferences and events, building out a network, and opening up new opportunities for the project.
These are an amalgamation of workflow, policy, engagement, and growth. The problem is that weaving together this diverse range of ingredients in a successful open source project requires having people with the skills and experience to put them in place. Sadly, there are relatively few people who actually have this experience.
This puts notable pressure on the sustainability of open source. To keep open source growing, we need to be able to systematize and integrate these components into platforms more efficiently while also continuing to grow skills and expertise in these areas.
The platform piece is critical. We should have platforms that tell us what are the most effective dimensions for tracking projects, and have those metrics integrated. We should have platforms that represent an optimal fundraising workflow, and connect together donors and projects who use the money. We should have platforms that help people book and coordinate meetings, track meeting notes, and more.
From what I can tell, this is the sandbox in which CommunityBridge is playing: to provide a simple and extensible set of tools that help to fill in these gaps for a broader range of open source projects.
There is enormous potential if the Linux Foundation get this right. Sourceforge had a transformative impact on open source by making free, simple, and ubiquitous tools available to developers. GitHub took this to a radical new level. CommunityBridge has the potential to augment tools such as GitHub in a way that layers on functionality needed for these projects to be successful.
I also think the Linux Foundation is a good home for this work. They have quite a heritage in forging an ecosystem that invests in open source, bringing in many companies who historically would have been reluctant to throw their resources into the open source hat. We shouldn’t underestimate this accomplishment: open source is culturally alien to many different companies, and the Linux Foundation helped to forge a path forward in which these firms could dip their toes in, safely and securely, and build up their understanding and capabilities of how open source works. Now many of these companies are not just participating, but paying thousands of developers to work on open source and maintaining hundreds of projects.
As such, the Linux Foundation has produced an environment across their projects and events in which independent discussion and development can happen. Is it perfect, no, but nothing is. What I do know is that we wouldn’t be where we are today with open source if the Linux Foundation hadn’t helped facilitate a lot of this.
As such, CommunityBridge seems like an entirely logical next step. The only way we can grow to serve the broader ecosystem is to not just help the big-ticket projects like Kubernetes, but also the long-tail of projects too. A clear, featureful platform will pay dividends here in the broader success of open source.
Now, this isn’t going to be a walk in the park. For CommunityBridge to succeed, it needs to be informed and guided by the broader community. The Linux Foundation can’t possibly have all the answers, none of us do. They are have been open in expressing their receptiveness to feedback, and it is important that projects provide it. This will ensure that CommunityBridge shapes the most critical needs in the open source ecosystem.