Open source adoption continues to increase at a rapid rate, as seen in part by the significant global growth measured in GitHub’s 2020 survey. In fact, says Joshua Simmons, open source has gone “from fringe to mainstream,” and the open source ecosystem has undergone many related changes.
These changes mean that organizations “should take a thoughtful approach to how to adopt, integrate, and use open source in their organizations,” says Kevin Casey at the Enterprisers Project. However, as the TODO Group notes, “the majority of companies that use open source do not necessarily understand the benefits to their organization and do not have a strategy aligned with their business needs.”
In this article, we’ll outline four ways to improve your open source strategy and provide resources to help you understand why and how to define your open source approach.
1. Set Up an Open Source Program Office
If you don’t already have an Open Source Program Office (OSPO), consider setting one up. OSPOs help define and manage your open source strategy in terms of the adoption, use, auditing, support, participation, and development of open source software. They can help organizations understand both the benefits and potential drawbacks of open source software and how to balance those considerations to meet your organization’s unique business goals.
Although OSPOs look different depending on your company’s needs, common practices include “creating a cross-functional group, setting clear policies (and making them easy to find and understand!), investing in tooling, and providing rewards and motivation,” says Sarah Novotny, Open Source Lead, Azure Office of the CTO.
Brian Proffitt explains further on the Red Hat blog: “It’s not about implementing open source for the sake of open source. It's also about aligning open source tools and techniques with the needs of the organization.”
2. Align Tools with Objectives
In aligning tools with needs, Proffitt notes that OSPOs use various tactics, such as:
- Understanding licensing requirements and overseeing open source license compliance to mitigate potential legal risks.
- Guiding the organization to work upstream with open source communities. “Participation upstream is simply the best way to gain the collaborative and innovative benefits of open source projects,” Proffitt says.
- Facilitating relationships with projects, foundations, and standards bodies. Being a good open source citizen means “taking active and collaborative roles within the project's community and governance structure,” he says.
It’s important to align your tools with your business objectives and clearly define your organization’s participation, says the TODO Group, by asking “which types of open source projects directly align with your business goals.”
As Kevin Casey says, the value of any open source tool needs to be clearly understood, from creator to contributor to the user. “You need to be able to answer the questions: Who is going to use this, and why? How does it help them? Compelling, cogent answers to these questions are part of the foundation for success.”
3. Document Your Approach
Once you determine the answers to these and other questions, based on what’s right for your organization, it’s time to codify the information into a living document. Again, the TODO Group has guidelines for the types of best practices and policies that should be laid out in your strategy document.
To start, you’ll need to explain your company’s approach to open source as well as the purpose behind the document, the TODO Group says. For example, “what does success look like for your company, and what’s the role of open source in achieving that?”
“A good strategy document provides answers and should also clarify your organization’s overall stance toward developing with and around open source,” the TODO Group says.
It should “provide guidelines for making new decisions, and encourage program buy-in and commitment.” It should also define how you want developers to consume open source code, for example:
- What acceptance, rejection, and exception policies should developers follow?
- What if code comes into one of your products from a project with a different licensing setup?
The “policies should lay out the requirements and rules for working with open source across the company, as well as documented and executable processes, which will ensure the rules are followed on a day-to-day basis,” the TODO Group notes.
4. Educate and Communicate
“Big companies and big open source projects know that important information has to be communicated broadly and frequently across different channels,” notes Sarah Novotny. The same is true for smaller organizations, and, with the challenges of recent world events, strong communication channels have become even more crucial.
“This year, we learned the importance of over-communication, which has been a hallmark of open source communities. Over-communication is key because uncertainty can be more stressful than either good or bad news,” Novotny says.
Fostering an open source culture inside the organization is also key, says Brian Proffitt. “From engineering to sales to marketing—it's important to consistently and clearly communicate how and why open source is beneficial to the organization. This means creating a solid communications strategy, encouraging the organization to adopt open source tools, and educating the organization's associates on the benefits and best practices of open source.”
“Success in open source is just as much about your own contributions to the community as it is about what you learn from the community,” Novotny states. “Behind every pull request, issue, and code snippet, is a person. It’s important to connect with them—to listen, learn, and empathize with them. They offer a different perspective and feedback that your team may not be thinking of.” You can then build on this shared knowledge and shape your open source strategy accordingly.