If you’ve been following the work we’re doing around open source at Rogue Wave Software, you’ve probably heard us say that open source software (OSS) has “crossed the chasm” or is “eating the enterprise.” Although the open source enterprise landscape is still truly nascent, there is no question that open source development principles and the products themselves have “won.” That begs the question: “Now what do we do?”
You’re leveraging free software, perhaps even without knowing it! Your developers are seeking out open source libraries to meet your business demands before writing the code themselves. You’re using an open source application server, middleware solution, or operating system instead of an expensive and locked-in commercial alternative. You’ve shortened your development cycles, you’re releasing things faster, and you’ve gained a competitive edge by embracing community developed solutions in your enterprise.
All is well with the universe, right? Not quite. Seeking new solutions and well-adopted software from open communities is often the easy part of implementation. The real challenge begins once those applications become part of your critical infrastructure. Supporting all of this software that you did not build yourself and do not own is a full-time business. Quite literally, in our case.
So, as a business that’s made the decision to adopt open software, what options do you have for supporting your infrastructure? Support generally boils down to a few specific categories: self-support, community support, and commercial support.
Many businesses choose to rely on their internal IT teams and staff to support the open source products that they deploy. The benefits of a model are relatively obvious. You can leverage your existing resources, or hire specialists, to maintain the products internally. Where necessary, you can find educational material to sharpen their skills, and designate code owners who are responsible for the various open source code that you’ve implemented. Ideally, these owners will be responsible for:
• Keeping ahead of new updates and functionality
• Being vigilant and proactive about security notifications
• Vetting software internally against business processes to ensure relevance
• Interacting with communities to request features and report bugs
• Shepherding product knowledge to stakeholders
Although many businesses feel that self-support is all that’s necessary, a recent analysis of a large sampling of real-world support tickets handled by the Rogue Wave Open Source Support team revealed that 80 percent of the problems encountered by our customers were due to either environmental issues or misconfiguration of products. That means that the IT staff supporting these applications did not fully understand the way that the deployed solutions would interact with other systems and/or hardware in real life, or that they didn’t have a complete understanding of the best way to configure these applications.
It truly isn’t their fault! As much as we love and advocate free software and the communities that support those initiatives, owning an open source implementation will be met with immediate challenges:
• Poor documentation
• Slow response from communities
• Lack of POCs relevant to your domain
So, despite the benefits on paper for self-support, this model is generally just not enough to get the reliability you expect out of your critical systems.
The community is your greatest resource when it comes to embracing open source, but, like most things in software, there’s a protocol. There are right ways and wrong ways of interfacing with these communities.
The most successful businesses who rely primarily on community support live by the following practices:
• Remember that these are volunteer developers in many cases, and you aren’t paying for their support – be patient and courteous
• When it comes to open source, there is a currency, and that currency is participation – consider donating your own resources to support the project
• There are lots of ways to support a project – code, documentation, donations, evangelism — and communities tend to reciprocate accordingly
• Submit clear, concise, and comprehensive bug reports and/or feature requests, one-liners tend to linger for months or even years in bugtrackers
At the end of the day, as great as these communities and people are, they are not your employees and they aren’t invested directly in the work that you are doing. You can glean incredible knowledge and forge valuable relationships with committers, maintainers, and curators, but if you’re looking for a guaranteed SLA and true risk mitigation, your best option will be to go to a commercial support provider.
Here we have many options. There are companies who provide “enterprise” editions of the community software that they maintain, and those editions often come with options for SLA based support and training. We also have organizations like Linux Foundation and Rogue Wave, who can help you build the support infrastructure you need internally, or provide that support team for you. Though these options aren’t free, when juxtaposed to the license costs associated with supporting a sophisticated commercial infrastructure, or the hiring costs associated with building and maintaining an internal support team, the ROI is generally substantial.
The benefits of utilizing a proprietary enterprise and/or third-party commercial support provider cover all aspects of ownership, including:
• Redundancy in skillsets and available resources
• Guaranteed SLAs governing response and resolution time
• Access to niche expertise and thought leadership
• Proactive guidance such as patching and vulnerability awareness
• Reliable, expedient advice and guidance
• Interaction with experts who have vetted the products in dozens of environments for multiple business use cases
By selecting the right commercial provider as an architectural partner in your development endeavors surrounding open source, you can obtain both the freedom and flexibility gained from adopting free software, and the peace of mind that comes with commercial-grade enterprise support.
Free, community-driven software is the way of the future, but in this ever-changing landscape it is increasingly important to ensure that your business is equipped to thrive and compete in this new world. Many models are available to you, and the right choice is going to vary depending on your business needs. It should be noted that these options are not mutually exclusive. You may find, for instance, that your business is best served by utilizing various degrees of each option above. Whatever you decide, the best way to squeeze the most benefit out of the open source revolution is to ensure your business adopts a strong, strategic model for support, and utilizes it to the most optimal degree possible.