More and more enterprises have started to use open source strategically — it’s interoperable and plays a critical role for customers seeking flexibility in their solutions. Today, open source software is built into nearly all products, and people upstream their code every day. Some projects are massively popular, and quite often they are used in multiple products within the same organization. But are we all collaborating in ways that are consistent and aligned with the other contributors across our companies and working towards the same goals?
Broader involvement should occur in a coordinated and thoughtful manner across the key projects your business relies on. Having a united front within open source communities will help your organization drive consistent and effective contributions.
4 Steps to Success
In October at OSPOCon Europe 2021 in London, I presented ‘Strategic Alignment of Open Source Contributions with Product Strategies,’ a talk about how to drive contribution behavior in your organization that is consistent and aligned with corporate strategies.
The presentation, which I’ll share with you here, has four steps to help your organization get started.
1. Identify your most strategic open source projects.
What are the strategic open source projects that your company’s key products rely on? If your company is like most others, there will be many open source projects built into your products, but not all of them are critical to your business. One way to identify the most strategic projects is to determine:
- The key components that are used in your flagship products.
- Projects and technologies that are likely to be important for your customers in the next few years.
- Active projects with significant employee contributions.
2. Get connected, learn, and share.
Who in your company is working on these strategic open source projects and for which products? What are the product strategies around each project — why and how are they used? What are the dependencies on those open source projects?
We can determine the answers by:
- Identifying people who are already working on these strategic open source projects.
- Reaching out to them to better understand our work and roles in these projects.
- Documenting this information into a single table on a wiki page that all your employees can access (example below).
For consistency, it’s best to centralize this activity, as we’ve done at VMware’s open source program office (OSPO), since the projects are likely to touch several business units or product teams. The example table provides a holistic view of the company’s key open source project information, allowing people to learn, discuss strategy, and ask questions; all based on accessing the same information. Something my colleague Joe Beda, Principal Engineer at VMware and co-creator of Kubernetes, says rings true, “Ecosystem is bigger than us – you don’t want to go alone – together we can create a great system.”
The biggest challenge with the wiki page is making sure that the table of contents remains ‘up-to-date’. As the program manager responsible for curating this information, I work together with each of the teams who lead these projects to regularly review the content and make updates. We also keep an eye on our product roadmaps so that we can add new projects when they start to become more critical for our business. This also gives us an opportunity to re-think our product strategies around open source.
3. Make contributions aligned with your goals.
Are you confident that your contributions on the same open source project are not impeding someone working in another team on a different product? Discoverability is key. Working towards becoming more aligned in advance and consistent as ‘one company’ is the result you’re after. Lack of internal alignment can lead to confusion and frustration within a community or across internal teams.
At VMware, we encourage people to review the open source strategies before they make contributions. This strategy information is easily accessible by way of the company intranet, our open source guidelines documentation, and our internal tools used for approval to contribute to open source projects. Having a consistent approach concerning our open source strategies helps uphold our reputation within the open source communities.
4. Regularly assess the viability of strategic projects.
You’ve now identified your key projects and people, and encouraged employees to collaborate within a centralized page accessed by all. But how will you know that the projects will continue to be viable? By regularly assessing project viability and our engagement level within these projects, we can ensure that we’re contributing to the right projects and mitigate our risk as a company. In this way, the project continues to be successful, not just for our company, but for the ecosystem as a whole.
Here are a few examples of how we assess projects:
- Project Maturity: Is the future of the project clear (release plans, upcoming features)? Are there regular releases with new features and bug fixes?
- Governance: What organization does the project belong to — a company or is it associated with a foundation? Are there reasonable governance processes and security policies that are also clearly documented?
- Community: Which companies and individuals are involved in the project? Who holds leadership roles, including maintainers/contributors? Are there other adopters and end users for the project?
- Engagement Levels: Do we hold leadership roles in the community? How many maintainers and contributors do we have? Are we contributing enough back to the project?
We regularly conduct these assessments to identify areas for improvement to ensure our future business sustainability.
A United Front Drives Consistent and Effective Contributions
Through effective open source collaboration, we can align corporate strategies and community goals, and ensure our businesses continue to be viable and sustainable. By working together and innovating within these open source communities, we can help ensure the success of these projects, not just for our business and our customers, but for the entire software ecosystem.