How you can benefit from a hybrid source model
Monday, August 8, 2022
We recently caught up with Dr. William Bain, from ScaleOut Software and talked about the benefits of a hybrid open and closed source model, what risks it overcomes, the pros and cons of open-source software projects, and the challenges small software companies may face when open-sourcing products.
Open-source software takes a decentralized, collaborative approach to software development. By bringing large groups of developers together, it can boost visibility and drive the adoption of new technologies. However, because of its complex review and release processes, the open-source model may limit a company’s ability to innovate rapidly and maintain cohesive codebases. Also, the costs and risks associated with going open source may be too great for smaller software companies. Instead, they can benefit from a hybrid open and closed source model.
Dr. William Bain, the Founder, and CEO of ScaleOut Software shared with us how their software company uses a hybrid model in developing products and recently integrated open-source Redis code into their automated clustering platform. The following Q&A offers Bain's perspective on the tradeoffs companies should weigh in selecting an open-source or hybrid approach.
ADM: What are some pros and cons of open-source software projects?
Bain: Open-source projects bring together large communities of developers who can drive widespread adoption of new software technology, create new features, and fix bugs at a very low cost. Large companies often subsidize these projects and supply developers to them. These companies usually have an interest in using the projects’ open-source software in their business activities.
However, an open-source project’s community has many touchpoints and complex processes for submissions, reviews, and releases. It requires a staff of people dedicated to fostering communication in the community. Keeping the community viable takes substantial financial resources.
Another drawback to open-source projects is that, by their nature, the development process encourages only incremental innovations. As the limitations of the original design concepts inevitably surface, some developers begin to rethink the core ideas. However, this can be difficult to do from within the project, and this tension often leads to the creation of a new project that replaces the original. (Consider, for example, how Spark was created to overcome the limitations of Hadoop.)
ADM: What are some challenges for small software companies in open-sourcing their products?
Bain: Small, privately held software companies that don’t raise venture funding typically don’t have the financial resources to maintain a large open-source community. They also don’t have the resources to defend against misuse of their software in violation of an open-source license agreement.
It can be impractical for a small company to create a viable revenue model based on open-source technology. In the open-source model, revenues come primarily from support services and add-on features instead of from license fees for core software. The burden of maintaining an open-source community can be cost-prohibitive, and it complicates release and support processes. It also reduces the company’s agility in pivoting to target emerging market opportunities.
ADM: What risks does an open-source portfolio create for small companies?
Bain: Small companies bear both legal and financial risks when basing their revenues on open-source software. Because defending against license infringement can be expensive, small companies are at risk that someone will misappropriate their source code (for example, another company bundling it into their software product without permission or attribution). Open-sourcing software also limits revenue and can increase support costs, so small companies are at risk of low revenue and profitability.
ADM: How does closed source offer benefits for small companies that overcome these risks?
Bain: By offering closed-source software, small companies can protect their intellectual property, such as key algorithms, as trade secrets. This approach reduces the opportunity for their source code to be misappropriated and thus lowers the risk of legal action.
Using closed source also simplifies release cycles and product support by limiting and controlling the changes that the company must review for each product release. In many cases, it leads to better product support for the customer because the company supports all product versions, not just the higher-end, commercialized versions. Customers don’t need to look to the community for support of a free, low-end version.
Lastly, using closed source can enable companies to maintain a highly coherent software architecture controlled by a small development team. It also can allow small companies to make quick design changes or feature additions to meet customer needs without the burden of involving a large community in those choices. Small companies need to be nimble to capture market opportunities and quickly gain market share.
ADM: Are there scenarios in which a hybrid open-source and closed-source model might be valuable?
Bain: Yes, a hybrid open-source and closed-source model can help small companies lower their costs and increase adoption. Companies can incorporate widely used open-source components (such as memory managers, UI, encryption, and networking) into their products and thus avoid unnecessary development work. They also can benefit from open-sourcing some of their product features, such as API libraries. By doing so, they can foster adoption through community involvement without creating a burden on the company.
ADM: How can small companies benefit from a hybrid model?
Bain: When incorporating open-source components in a limited manner, small companies can benefit from lower development costs and can increase trust in their products by following industry standards (such as communication protocols and encryption techniques, which are often open source). They also can use the popularity of open source to create higher visibility for the company. One way to do this is by creating open-source components related to their core technology that is useful to the community (such as stream-processing libraries).
ADM: How does this approach differ from that used by companies that commercialize open-source projects?
Bain: Large companies typically commercialize popular open-source technologies by building an open-source community, offering support and development services, and licensing closed-source enhancements to the core technology. This approach has been called the "Red Hat" model. It is appropriate for companies that have the resources to create and support a large open-source community. For small companies with limited resources, it is generally unwise to take this approach. They should only do so with the vision to establish a market presence that enables them to raise venture capital and migrate to a Red Hat model.
Dr. William Bain
Dr. William Bain is the Founder and CEO of ScaleOut Software, which has been developing software products since 2003 designed to enhance operational intelligence within live systems using scalable, in-memory computing technology. Bill earned a Ph.D. in electrical engineering from Rice University. Over a 40-year career focused on parallel computing, he has contributed to advancements at Bell Labs Research, Intel, and Microsoft, and holds several patents in computer architecture and distributed computing. Bill founded and ran three companies prior to ScaleOut Software. The most recent, Valence Research, developed web load-balancing software and was acquired by Microsoft Corporation to enhance the Windows Server operating system.
Become a subscriber of App Developer Magazine for just $5.99 a month and take advantage of all these perks.
MEMBERS GET ACCESS TO
- - Exclusive content from leaders in the industry
- - Q&A articles from industry leaders
- - Tips and tricks from the most successful developers weekly
- - Monthly issues, including all 90+ back-issues since 2012
- - Event discounts and early-bird signups
- - Gain insight from top achievers in the app store
- - Learn what tools to use, what SDK's to use, and more