Venture capital plays an important role in open source: It funds startups innovative commercial open source products for the benefit of all as part of the equation. For venture capital to keep flowing, the startup needs to make money eventually, at a level similar to traditional software startups. This is always achieved by withholding something that is not made available for free, generically called “the complement” in this article. This is not human services (labor), because it doesn’t scale well. Rather, it is intellectual property, usually packaged today with machine services (computing). This does scale well.
Open core model
An early attempt at a complement was the open core model. In this model, additional software functionality was made available only for pay. The core of the software was open source, but important functionality was only available as closed source. This worked well in the on-premise world. Not surprisingly, over their life-time, most open-core products became more closed.
While there should be some understanding for a company’s need to make money, the open core model was generally not well received by the broader open source community, which expected that all features should always be open source.
Source-available code
With a bad name stuck to the open core model (e.g. “faux-pen source”), startups moved on. The cloud offered the option of a cleaner cut between open source and the closed complement: Operating the product for customers as a cloud service. People seem much more willing to pay for computing power than for added (non-open) software functionality.
Due to complications (from a vendor’s perspective) with open source licenses, however, the hyperscalers (AWS, Azure, GCP) were gearing up as competition to the commercial open source vendors. In reaction, mature vendors relicensed away from open source to so-called source-available licenses that effectively forbid any competition with the original vendor.
Like with the open core model, the source-available model quickly got a bad name with the broader open source community, and in my opinion has now been burned for the next generation of commercial open source startups. Vendors with a strong established position can still use it, but the next generation will face strong resistance early on should they steer towards this model. This resistance will both be a public backlash from the open source community at large as well as competitive strategy from the hyperscalers.
This begs the question: What’s next? Are there other alternatives?
Software + data at scale
There are various forms of complements, for example, specialized hardware to provide a superior computing service (e.g. Google’s TPUs). A cloud service vendor can provide better performance through hardware, software, and (human labor) services, both for domain-specific functionality (business functionality, like in the open core model) and for quality of service (i.e the operation of a cloud service).
For the vanilla commercial open source startup, I suspect it will be software + data at scale. Everything else is too difficult: Hardware is too capital intensive, human-labor services are too cumbersome, and closed features will bring back the open core ill-will. This leaves quality-of-service focused software functionality, which pushes the vendor into an arms race with the hyperscalers. To survive and thrive, they need superior performance, and this is most cost-efficiently achieved by dedicated software and utilizing one’s customer data to improve control and operations of the cloud.
Leave a Reply