The benefits of hybrid open-closed source software for smaller companies [Q&A]
Open source has gained enterprise popularity for its decentralized, collaborative approach to software development. By bringing large groups of developers together, it can boost efficiency, visibility and drive the adoption of new technologies.
However, taking a full open-source approach might not be the best fit for smaller enterprises. Dr. William Bain, founder and CEO of ScaleOut Software, cautions that the costs and legal risks associated with going full open source may be too great for smaller software companies. Instead, he recommends a hybrid open and closed-source model, we talked to him to learn more.
BN: What should small enterprises consider before taking a full open-source approach?
WB: Open-source projects create numerous challenges for small, privately held software companies. Open-source communities have many touchpoints and make use of complex processes for submissions, reviews, and releases. They typically require a staff of people dedicated to fostering communication in the community, and this takes substantial financial resources to maintain. Small companies that don't raise venture funding usually lack the budget to create and lead an open-source project. They also need to quickly pivot so that they can target emerging market opportunities without the burden of maintaining an open-source community.
In the open-source model, revenue comes primarily from support services and add-on features instead of from license fees for core software. This makes it difficult for small companies to establish strong revenue growth. As such, open-source projects are often sponsored by large corporations that have other sources of revenue. Also, venture-funded companies recognize that obtaining rapid adoption by a large open-source community at the expense of revenue growth represents an attractive tradeoff in their early days.
Open-source projects also can create legal exposure that small companies aren't prepared to handle. Because defending against license infringement can be expensive, small companies are at risk that others will misappropriate their source code. For example, another company might bundle it into its software product without permission or attribution. Smaller organizations may not have the resources to defend against misuse of the open-source code that they create.
BN: What does a hybrid of open-source and closed-source software look like?
WB: A hybrid open- and closed-source model can help small companies lower their costs, maintain better customer support and security, and increase product adoption. There are a variety of options for creating a hybrid model.
For example, by incorporating widely used open-source components that have proven reliability (such as memory managers, UI, encryption, and networking) into proprietary (closed-source) products, companies can drive adoption while avoiding unnecessary development work. They also can increase trust in their products by supporting industry standards (such as communication protocols and encryption techniques) implemented by these open-source components.
Small companies also can open-source some of their product features, such as API libraries, to foster adoption through community involvement. Open-sourcing components that are generally useful to the community can create visibility for a company’s core technology.
BN: Can you give us an example of this hybrid approach?
WB: As a recent example, ScaleOut Software used a hybrid approach by incorporating open-source Redis code into its ScaleOut In-Memory Database product. This software product uses ScaleOut’s patented automated clustering technology to automate Redis cluster management by replacing open-source Redis’s cluster implementation. To accomplish this, ScaleOut integrated open-source Redis code (version 6.2.5) into its cluster architecture and execution platform to implement popular Redis data structures and commands (strings, lists, sets, hashes, streams, and more).
By using this approach, ScaleOut users benefit from the combined functionality of open source and proprietary code. Each code base serves its distinct purpose. The Redis open-source code implements command parsing and processing, the data structure commands, transactions, publish/subscribe commands, and blocking commands. Meanwhile, ScaleOut In-Memory Database’s proprietary clustering code implements request processing, cluster membership, quorum processing of updates, load-balancing, recovery, and self-healing. It also uses a proprietary transport protocol for server-to-server communication.
This type of hybrid development also lowered development costs and accelerated completion of the product. It enables customers to have a seamless experience running Redis commands since these commands behave identically on ScaleOut clusters as they do on open-source Redis clusters.
BN: What are the benefits of taking this mixed approach?
WB: As the above example shows, a hybrid open- and closed-source model offers compelling advantages for small companies. First, a hybrid approach allows enterprises to incorporate widely used open-source components (such as memory managers, UI, encryption, and networking) into their products and thus avoid unnecessary development work. This can expedite development timelines.
By open sourcing some product features, such as API libraries, enterprises can foster adoption through open-source community involvement while reducing their development burden. They can also use the popularity of open source to create higher visibility in the marketplace. This can be accomplished by creating open-source components related to a company’s core technology that are useful to the community (such as stream-processing libraries) or by integrating popular open-source components. With ScaleOut Software In-Memory Database, we benefited from being able to tap into the Redis open-source community without having to maintain one of our own.
Lastly, many companies can increase trust in their products by incorporating open-source components following industry standards. For example, proprietary products can make use of open-source communication protocols and encryption techniques (like Open SSL) that are widely accepted as industry standards.
In many cases, a hybrid approach may be the way to go. I hope that other smaller enterprises will explore its benefits.