“Every software company is an Open Source company,” Mike Milinkovich of the Eclipse Foundation declared at the International Conference on Software Engineering in 2017.
Six years later, the stats from a 2023 Synopsys report continue to bolster his statement: 96% of scanned codebases contained open source. Says the report, “Open source continues to prove its staying power, serving as the foundation for the vast majority of commercial codebases. It’s so intertwined in modern development that code owners often don’t know the open source components in their own software.”
Open source software has become integral to our way of life and we should thank the many organizations and individuals who contribute to OSS in so many different ways, all of which are valuable and necessary.
However, in my admittedly biased opinion as Senior Upstream Developer Advocate for the Open Infrastructure Foundation (OpenInfra Foundation), I believe that no role is more important in the OSS ecosystem than that of the upstream contributor. An upstream contributor can do many different things — it’s not always coding. They report bugs or vulnerabilities, they mentor other contributors or they review and test new code being proposed to the source repository of an open source software project. From there, anyone who uses the project downstream benefits from the work of upstream contributors. Many upstream contributors donate their time, energy and knowledge, working on OSS projects without the support of an employer. Other contributors work on behalf of their companies, receiving endorsement, time on the clock, financial support, technology resources and/or training to underwrite their involvement in one or more projects.
Organizational support of upstream contributions is vital to Open Source, and we need more of it
The number one challenge to organizational support of upstream contributions is financial. To be fair, focusing engineers on contributing upstream can be expensive for organizations that must pull those engineers away from customer-facing development and support needs to focus on being a contributor to the open source project. This is understandably a hard choice for any profit-oriented organization to make, especially organizations with constrained staffing and budgets.
Making things even harder, documenting the return on investment of upstream contributions is a gray area, because many of the benefits of contributing to OSS projects can’t be precisely accounted for in dollars and cents (or the currency of your choice.) For example, how do you put a number on what upstream contributors save the company and indirectly bring into the company by fixing issues upstream before they become issues for customers?
Nevertheless, I would argue that the economics of open source clearly suggest that supporting upstream contributions is a wise and prudent business decision. I can name 10 reasons why. I challenge you to read through this list, roughly calculating as you go the estimated value of the benefits your organization would reap in each case.
Top 10 Reasons Why Organizations Should Support OSS Upstream Contributions
To build a better product. Contributing upstream helps improve the software that your organization relies on.
To influence project direction. Contributing upstream gives you a say in the product roadmap and protects your interests in the longevity and sustainability of the project.
To lower maintenance costs. If you contribute changes upstream and they are incorporated into the code base, you no longer have to maintain downstream changes on your own every time a new version is released.
To improve operational processes, for one and all projects. Everyone benefits when processes within OSS projects are made more effective and efficient. For example, infrastructure as code (IaC) practices are increasingly being adopted in OSS projects to make testing and gating processes as reproducible as possible and thereby alleviate the
burden on developers and infrastructure operators. Such improvements not only benefit the project in which they originate but also many other projects that will follow suit.
To build internal expertise. Upstream contributors acquire knowledge and expertise that can directly be applied to the organization’s own software stack. Technical knowledge gained through contribution to an OSS project can often be monetized by the business in other ways as well.
To attract and retain high-value talent. Developers value the opportunity to advance their skills, build their resumes with documented code contributions, and play an active role in open source communities where they are exposed to innovative ideas, talented people, and emerging technologies. Support for open source contributions is an employee benefit that developers often rank highly, especially those who are already involved in key OSS projects. Trust me: Word gets around the developer community; organizations that support upstream OSS involvement are often deemed “preferred employers” and great places to work.
To contribute to a strong collective voice. Organizations that collaborate on open source projects have the opportunity to shape policy and regulations by speaking in a collective voice on behalf of open source values. Never has this been more important than today, as governments around the world are weighing in with restrictive policies on data sovereignty, artificial intelligence, cybersecurity and more.
To gain early access to innovative technologies. The collaborative nature of open source fuels the sharing of innovative ideas and emerging technologies, putting upstream contributors on the front lines where the new ground is being broken.
To build strategic relationships. Open source communities comprise the industry’s most respected experts and successful businesses. Organizations that support upstream contributions have the opportunity to create strategic partnerships that deliver priceless benefits.
To publicize your contributions. Upstream contributions to open source projects are “feathers in the caps” of software organizations. Companies that actively support upstream contributions should have no quandaries about “tooting their own horn.” They are wise to spread the word in their public relations and marketing efforts, taking advantage of the cachet and credibility that comes with being a good open source citizen.
Of course, there are many more reasons why supporting upstream contributions to OSS is economically wise for most organizations, but let’s consider just the 10 I mentioned. What was your estimate of the financial value of these benefits? I’m betting the ROI is obvious and significant, although perhaps not precisely quantifiable.
For Open Source to flourish, we need more organizations to calculate this return on investment and actively acknowledge the valuable role that OSS plays in their products and infrastructure.
How to make it happen
Let’s say that you — and your manager — are convinced it’s a good idea to contribute to Open Source. In a work world where your climb up the ladder depends on quantifiable output, how do you measure your efforts?
Here are a few suggestions to get started:
• Dedicate a set amount of time each month or quarter: Allocate specific hours within your work schedule for Open Source contributions. This could be a fixed block of time, such as two hours every Friday, or a flexible arrangement that fits your workflow.
• Set measurable goals and track progress: Establish clear objectives for your contributions, such as fixing a certain number of bugs or contributing to a specific feature. Regularly track your progress and report it to your manager or team.
• Make your contributions key performance indicators (KPIs) or objectives and key results (OKRs): Incorporate open source contributions into your performance evaluations or KPIs. This incentivizes participation and demonstrates the value of community involvement.
If you’re in a position of leadership, I’ll leave you with one more challenge: Go on the record with your organization’s support of open source and walk the talk by establishing formal, proactive support for your employees’ upstream contributions.
Let me know in the comments how you have negotiated open source contributions at work.
- 10 Reasons to Back Upstream Open Source Contributions - January 2, 2024
- University Program – Outreachy - November 19, 2023
- October 2023 PTG | Recap - November 15, 2023