When your team uses open source software (OSS), everyone benefits, but how much is up to you.
Research shows that enterprise software teams are twice as productive when they contribute to open source projects compared to teams who only consume open source code. Like every community, open source projects have unique ways of working—including a few important things to know before you start building.
Getting to know the open source community
- Look through your software stack for open source code and identify the project it originated from.
- Find that project’s primary community (website, forum, or repository, for example) and try to get an understanding of their goals and future roadmap.
- Read the project’s README and CONTRIBUTING files for guidance on how to participate effectively.
Supporting open source projects
- Explore open source projects in your preferred programming language; look for projects that both interest you and align with your organization’s strategy.
- Review your business’s open source investments and pick the most critical projects to support, which could include contributing time, effort, or even financial assistance.
Creating your own open source projects
- Identify non-proprietary, non-business-critical software your company has developed that could benefit the greater community as open source.
- Create and share your open source projects on GitHub.
- Announce your open source projects through your usual public-facing channels and in any open source communities that might find them interesting.
Collaborating on GitHub
- Subscribe to repository notifications to stay up to date on changes.
- Read and comment on issues, or open a new one when you have something helpful to offer.
- If you have solutions to problems posed by the community, suggest them with pull requests.
- If you’ve made local improvements to open source code, contribute them back upstream to their source projects.
- Use the “-on-behalf-of” commit tag when contributing back to open source projects to indicate your organization’s support.
- Standardize your open source library usage as much as possible for easier maintenance and reduced exposure to vulnerable code.