Many companies use open-source software in some part of their businesses. Reports suggest that up 98% of all enterprise companies use open source to some degree — 98%. Server-based software such as Linux, MySQL and Apache is the most common.
Unfortunately, only a small percentage of those companies will ever give anything back to the open-source community. This limits how fast the software can improve because the only way it gets better is by engaging its users.
It takes more than source code.
Some firms have a general policy of buy, not build. They avoid making changes to the software they use not wanting to maintain the new code. This is a valid choice though contributing source code to an open-source project is not the only way to participate.
They can offer feedback on current features and request new ones; contribute to user documentation; or get involved in beta test cycles. It’s all part of being active in the community.
Participating has its benefits.
Some firms make software changes but don’t see any benefit in contributing the changes back to the community. There are several good reasons to contribute that deserve consideration.
Once the changes are merged into the official code base, patches won’t have to be applied to each new release and tested. Releasing code to the community subjects it to peer review and the opportunity for further enhancement and tuning. This is a good way to avoid unintended effects and potential security problems.
By participating in the process, companies gain influence over the direction of the project. The developers are more likely to listen to an active participant rather than someone who sits on the sidelines and complains about the software.
Occasionally, a company will view the changes it makes as proprietary, believing that they offer a competitive edge. Such claims should be examined carefully as they are rarely defensible. Proprietary innovations should be made outside the open-source software not within it to avoid legal problems.
A few other things to think about.
For companies considering participation in an open-source project, here are several factors to consider.
Open-source communities vary widely. Some have a commercial bias while others are strictly non-commercial. Some are large and well-established; others are small, one-person efforts. There are those that are tightly controlled and those that are open to all.
Review submittal guidelines on the website. Communicate directly with the developer that maintains the code you would like to change. Explain the reason for the change and the impacted components. Not every change will be approved so it’s important to defend your reasoning.
The other major variable is licensing. Some open-source licenses are flexible allowing changes and resale as long as there is proper attribution. Others are restrictive, placing conditions on how changes can be made and preventing resale.
Check the license terms in advance. Be sure you’re using the software according to the license terms before you offer code changes.
Open source is gaining traction and attracting many enterprises. Having more companies participate will make the software better and benefit everyone.