I am trying to understand how economics of open-source software work? Why are some companies built as an open-source tool?
From an investor perspective, it's great to see a strong top end funnel, prior to investing. With open core products, that's pretty straight forward.
There customer / product development is present through feature requests and, if popular enough, you get some free work. In practice, that might be a big driver upfront, but isn't a huge motivator as it grows. Additionally, open-source devs are a great and passionate early adopter group. So, all in all, tons of upside to going the open-core route.
However, the open source community isn't dumb and there are signs that, en masse, they are tired of getting used.
Many smaller commercial open source companies like my own follow this same model. Google is another famous open source company (Android, Chrome, ML tools) with another way of monetizing that code.
Open source exists because its easier to make money with software if you don't have to pay developers for the code you start with!
How you make money is up to your business model. In the case of Google, that's the egregious advertising and surveillance business. As much as I dislike that, it is still a business that monetizes open source software.
And you wonder why Ballmer called Linux "a cancer."
Qualcomm, for example, adds Linux drivers for their chipsets so they can be used in Android devices.
Consider this scenario: You have created an open source library or programme and now want to sell it to customers. You would love to work on the product full-time. And it's important to you that the product remains open source. What are your options?
- Offer the product for free, but sell support. (No developer finds this option appealing.)
- Offer the product for free, but charge for documentation. (This is inherently user-hostile and encourages purposely complicated products to goad users to pay for the documentation.)
- Offer the product for free, but offer a paid hosting option if it is a server-based web app. (Users who do not want to pay for hosting will self-install the product.)
- Offer the product for free, but charge for a closed-source add-on with more features ('open core').
Notice a missing option in the list above? To sell you product with source code (with a open source licence attached) is simply not possible. And yet, this missing option probably appeals the most to creators.
The examples of commercial success of open source products are few and far between. You can make a list of a few dozen successful examples e.g. GitLab ('open core'), Red Hat (enterprise support) - but these examples are the exceptions, not the norm.
Sponsorship, donations or patreon campaigns are not steady or sustainable long-term options.
The alternative? Well, one option is to offer a source-only option for your product. You charge for your product and offer the source code at the same time. The customer is free to amend the code to suit their needs. This isn't open source though - the customer cannot re-distribute the code. This is the 'source-only' model.
Recently, some companies have created a hybrid model: free open-source code for non-commercial use and a paid license for commercial use. There is debate about whether this meets the spirit of open source development or not. Everyone has a opinion. You can make you up your own mind.
Finally, and quite ironically, there is a recent development in software (related to open source code) that has been wildy successful: SaaS (Software as a Service).
Why ironic? Because open source software has been critical to the success of the SaaS model. And yet, the source code for these services (built on open source) is not visible.
It's a model that takes away the hassle of installation and maintainence of software, but gives users less control of their data than the desktop software model that preceded it. Where you essentially "rent" an app until you stop payment.
You could argue SaaS is the true success of the 'open source business model'. Just not in the way open source advocates ever expected it to be.
You may also want to check out this video of our founder/CEO Sid discussing commercial open source strategies: https://www.heavybit.com/library/video/commercial-open-sourc...
It's possible and it's called double licensing. Should work best with AGPLv3.
Offer the product for free, but sell support. (No developer finds this option appealing.)
And I also feel you are missing a major point - not all developers are natural entreprenuers who know how to make money from their product. There is a big learning curve to figure out all the business stuff and often many developers don't have the time or inclination to do so.
And yeah, SaaS provided a great way for companies previously averse to GPL licenses to really make money from it without adhering to the open source spirit behind it. And that is why all GPL software needs to be relicense under AGPL.
Same thing happened to music industry. Artists could live off record sales alone,
but ever since napster, going on tour is no longer optional if they want to
maintain a proper rockstar standard of living.
Some of these opensource projects become popular, and soon the creator(s) become deluged with feature requests and / or support requests for the opensource software. Ofcourse, at some point it becomes economically unviable for a developer to provide quality service for free. So some ask for sponsorship and donations. Some of them create a non-profit foundation to accept donations. Others choose to commercialise their product and offer paid support services or find other revenue streams.
(1) Mozilla Foundation - https://en.wikipedia.org/wiki/Mozilla_Foundation - dictates the development and commercialisation goals of the popular Firefox browser and Thunderbird Email client. Their main revenue stream is tying up various online services with their software (e.g. search engines).
(2) SQLite - https://sqlite.org/prosupport.html - They sell support at various price tiers and additional features to their software. They also ask companies invested in their software to support them by funding them - https://sqlite.org/consortium.html .
(3) Wordpress - https://wordpress.com/ - also sell their opensource product as a Software-as-a-service .
Some for-profit companies do opensource their project too. Their intention often includes PR, to increase the popularity / user-base of their product, get free work from other developers etc. Sometimes they use and enhance existing opensource projects and thus are obliged to share their work as a opensource too.
(1) Apple - https://opensource.apple.com/ - They built many commercial products from permissive opensource software, and release some of their work back as opensource to counter the negative PR that they only leech of free work by others but don't contribute anything back.
(2) Google - https://www.chromium.org/ - They used existing open source web engines to create their browser platform. Thus they were partly obliged to share their code. It also helped to increase their market share as they were initially not a major player.
(3) MySQL - Originally was dual-licensed as free open-source and paid closed-source (everyone contributing to the opensource project had to also consent to their code being used in the closed-source version without any remuneration). This model provided a lot of PR and free labour to the founding company. (Is now owned by Oracle.)