Why do organizations contribute to open-source communities?

Thiyagu Gopal
Industry 4.0
Published in
8 min readJun 7, 2024

This article aims to illuminate the world of open-source contributions.

Introduction

The corporate world is known for its “no free lunch” mentality. Every hour is meticulously scheduled to maximize productivity and resource allocation, particularly for engineers. In this highly organized corporate environment, have you ever wondered about the reasons behind an enterprise's active involvement in open-source communities?

What benefits do they derive from investing time and resources in collaborating with these communities? Especially when there is no immediate financial gain.

This question might seem surprising. Even though it might seem like organizations are working towards the noble goal of “Keep open source sustainable”.

There’s more to this story than what you read.

To cut a long story short, the following quote brings the point home:

“If you are relying on an open source project heavily for your product and you don’t have a seat at the table in terms of leadership and strategy for that project, your business is at risk.”

— Guy Martin, Director of Open Source & Standards, Nvidia / Autodesk.

Let's explore the intrinsic motivations of enterprises contributing to open-source communities.

Impact of Open Source on Business Success

Before we move forward, here are some stats that show the magnitude of OSS's impact on today’s commercial software success.

Credit: https://www.bvp.com/atlas/roadmap-open-source
Refer — Open Source Stats for more such statistics.

Enterprise Open Source Journey

In general, organizations go through different stages of involvement with open source, This journey starts with unawareness and passive use of open-source software which means they simply leverage existing code without giving back. Over time, they may evolve into active participation and contribution to the communities. This could involve bug fixes, documentation improvements, or even feature development. Ultimately, some organizations reach the pinnacle of strategic leadership in the community, where they influence the project’s direction and drive business value.

The involvement of organizations depends on what is the impact of open source on their business success. To understand this, it is paramount to understand what type of open source the organization relies on Strategic / Non-Strategic.

Picture Credit — Stages of an Enterprise Open Source Involvement [ A Guide to Enterprise Open Source — Linux Foundation]

Strategic vs. Non-strategic Open Sources

As we can see, the level of involvement can significantly impact the benefits an organization reaps. Let’s delve deeper into the two main categories of open-source use within organizations: strategic and non-strategic.

  • Strategic open source refers to the organizations that commercialize open-source technology as a core product with differentiating features. Example: Redhat with Linux
  • Non-strategic open source are basic open-source components used by organizations to improve their software development efficiency. Example: OSS components for charts and build automation tools (Maven, Gradle ..) and so on.
  • The difference between these two types can be simply explained with “Building ON Open Source” Vs “Building WITH Open Source”.

Intrinsic Motivations

The broader statements like “Public good”, “Contribute back” and “Keep open source sustainable ” are well-known reasons for open source contributions, However, on top of these every organization have its self-centric motivations to contribute to the community.

In the open-source world, the true currency of influence is “contributions”. It is the dedicated efforts of individuals that drive these projects, making each contribution a powerful force for positive change.

No money power or sponsorship can earn their position to drive decisions. So, the only way an organization can gain influence is to work with the community, engage the community, contribute and drive the direction.

The results obtained from influencing the community are very rewarding. Let’s explore how companies benefit from participating in the community and understand their “Intrinsic Motivations” for community collaboration:

1. Strategic Project

The organizations success depends on the communities success as their core business is to commercialize open-source technology with differentiating features.

  • Organizations contributing to open-source communities often have a strategic goal in mind: to ensure the long-term success of a technology crucial to their business.
  • So, the organizations that sell open-source technology under their own brand are the main contributors to open-source communities.
  • It is also about their brand to showcase their influence in the community.
  • Their long-term business success highly depends upon the success of the community.
Reference — Motivation for Contributions

2. Steering the direction

They have an intent to steer the community. Especially when their competitors have a say and they have no say in a project’s direction, it can quickly be a competitive disadvantage.

  • Imagine a crucial open-source project your company relies on heavily. Now, picture your competitors actively shaping its roadmap, influencing features, and prioritizing bug fixes. Without a seat on the community’s “board” (meaning a leadership or influential position), your organization risks being left behind.
  • Unlike traditional business deals, here, financial muscle can’t buy influence. The only way to secure a strategic position is by actively contributing to the community — through code contributions, documentation improvements, or even by taking on leadership roles.
  • Let’s take Hadoop distribution as an example. In the following snapshot, you can discover the key Hadoop vendors. You will find the influential committers and PMC members of the community in line with the key vendors. Take a look at the Hadoop community influencers list and their corresponding organizations: https://hadoop.apache.org/who.html

Key Commercial Hadoop Vendors:

Image Credit: randomramblings.postach.io

Disclaimer: This list of Hadoop vendors is not categorized based on the order of popularity.

3. Build Influence

They understand what influences the technology direction of the community and invest on their project resources to gain influence.

Image Credit — Statista.com
  • Organizations understand what shapes the technological direction of the community and strategically invest their resources to gain influence.
  • In the open-source community, building reputation and influence is typically achieved through active engagement and meaningful contributions.
  • Understanding community dynamics is essential for an organization’s success when relying on open-source technology. Ideas, code contributions, and bug fixes are the primary factors that drive an open-source project’s influence and technical direction.
  • To effectively build influence, organizations establish open-source program offices and the necessary support structures within their organizations. They motivate project members to contribute ideas, features, code, and bug fixes, often providing incentives.
  • By consistently delivering valuable contributions to the community, organizations gradually gain the influence needed to steer the project’s direction. This strategic approach ensures they remain integral to the project’s development and future.

4. Achieve Leadership

Elevate resources for community leadership positions

  • Every organization’s ultimate goal is to place its members in influential community positions, such as Committer, Project Management Committee, and Technical Steering Committee roles.
  • To achieve this, organizations often motivate their members with monetary incentives and promotions, encouraging them to make higher contributions and attain leadership positions in the community.
  • Members are encouraged to monitor community communication platforms, such as chat servers, mailing lists, forums, and websites, to stay updated on project developments.
  • Organizations also sponsor their members to attend relevant open-source conferences and meetups, helping them establish relationships within the community.
  • Enterprises further enhance their visibility by sponsoring project events and foundations, including hackathons, meetups, and conferences.
  • Such leadership is crucial for organizations to participate in internal technical discussions and align their direction with that of specific open-source project communities.

5. Collaborative Feature development

Open source participation enables enterprise developers to leverage the work of others, experiment with new features, and concentrate more of their efforts on building differentiation on top of OSS.

  • Organizations also have an intrinsic motivation to achieve the highest efficiency through upstream contributions of their product-specific private features to the open-source community.
  • Participation in open source projects positions organizations to increase their enterprise's “speed to market” by leveraging external R&D.
  • Organizations leverage external R&D to steer their customer-specific features through open-source community development.
  • By contributing these features, organizations can avoid the hassle of maintaining their private changes (Non-competitive / Generic) and can easily update their code with the latest open-source version.
  • Ultimately, Collaborating with the worldwide development community to distribute development costs and reduce expenses related to research and development.

6. Prioritize Bug Fixes

The goal is to minimize technical debt and priortize their bugs over the other bugs to support their customers.

  • If upstream contributions do not occur, the product team will be left dealing with large code bases that are not aligned with the community code. This may lead to the teams spending time back-porting the latest changes to their out-of-sync version instead of making progress with the product.
  • To minimize private code changes and streamline development, organizations can internally fix bugs and quickly contribute them (“upstream”) to the open-source community for inclusion in the next release.
  • Addressing bug fixes within the community project showcases an organization’s commitment to open source. It not only enhances their development efforts but also reduces the workload required to keep their internal codebase aligned with the community code.

Conclusion:

In a nutshell, building a business on an existing open-source project may seem risky due to the Open source project’s independent evolution. However, one can transform this challenge into a strategic advantage. By actively communicating and contributing to the community, they can significantly influence product development and drive innovation.

Forward-thinking enterprises are already establishing Open Source Project Offices and hiring dedicated Contributors, Committers, and PMC members. These initiatives not only position them as leaders within the open-source community but also expand their footprint in the broader R&D ecosystem.

Therefore, Enterprises view this strategy not merely as an “Open Source Contribution” but as an “Open Source Investment.”

References:

--

--

Thiyagu Gopal
Industry 4.0

Passionate about building high quality products & services. I believe we can collectively elevate the standards of world around us with quality.