It is common to see members of the open source community at large bash companies that use an open core model to make money. I have always found that curious, because the open source community is not against making money, but many are against making money using this particular approach. Just why?
In the open core model, a software vendor builds on an open source project and extends it with proprietary components. The proprietary components, in contrast to the free open source core, are available only commercially, letting the vendor own its income.
A first hint at a reason behind the occasional exasperation about open core is whether the core is single or multi-vendor. In the single-vendor case, the core is owned by one company that (ignoring forks) determines its fate. In the multi-vendor case, the core is a true open source project, developed and maintained by multiple stakeholders. I suspect that a big part of the mistrust against the open core model is directed at the single vendor case, as users suspect that over time, the core will be turned into useless crippleware, as the open source strategy to drive market adoption has run its course for the vendor.
I specifically suspect that an open core vendor will earn community-at-large disdain if they exert control over the core using common strategies like contributor license agreements and aggressive reciprocal licenses.
A second hint may be found in what people are not complaining about. As a vendor with an open source model, to earn money, you need to find complements to the free-to-use open core. This can be hotline support, easy access to bug fixes, etc. Open source enthusiasts seem to make a difference between the vendor charging for proprietary components and providing services for the software. It does not seem to matter whether services are provided at cost or at a hefty profit margin.
Here are three examples of complements that don’t rile people:
- Charging for configuration. Nobody complains about Red Hat putting together a workable distribution and charging for preferential access
- Charging for higher quality operations through data. Nobody complains about startups operating the software utilizing superior access to usage data
- Charging for faster computations. Nobody complains about Google not laying open the design of its TPUs for faster Tensorflow operations
There are all kinds of complements beyond software that allow a vendor to earn an income, but people rarely complain about these. They only complain about complementary software. I don’t claim to fully understand why, and I’m pretty sure that the savvy buyer (customer) doesn’t quite care as much as the open source community at large. Maybe, again, it is the worry that a vendor will starve the core if they complement it with proprietary software.
In any case, for a vendor, it means that they will maintain a better relationship with the open source community if they can find complements other than proprietary software add-ons.