Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: What is the economics/business behind building an open source software?
19 points by leenasoni99 2 days ago | hide | past | favorite | 16 comments

I am trying to understand how economics of open-source software work? Why are some companies built as an open-source tool?

Open source has become a marketing / sales strategy. Start out with something that is free, brought into a company by their own engineers. Then when the company starts to adopt it broadly, they charge for Enterprise level support and features. And it works.

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.

The simple answer is that enterprise companies often want open source for security and flexibility reasons, but they also want hosting, support, and custom services. The world's largest open source software company, Red Hat (which IBM acquired in the largest buyout in software history), makes their money exactly this way.

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.

I don’t think it’s fair to think of Google as an open source company. Everything at Google exist to reinforce search or advertising and those segments are not open.

This is 100% my point. The idea that open source exists to make software free for "the people" is the biggest and most convenient lie in our industry.

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.

One or two market players decide user adoption is more important than actual revenue, and start giving away product for free. Now the rest of the market has to follow suit to compete. Upshot: code becomes worthless, and the market becomes a winner-takes-all situation in which the goal is to parlay name recognition to capital returns on equity, not profits.

And you wonder why Ballmer called Linux "a cancer."

Read the book Working In Public. A big chunk of that book is diving into the various economic models for OSS, covering pros and cons through real world examples.

Another indirect reason is creating support for your product in another open source project.

Qualcomm, for example, adds Linux drivers for their chipsets so they can be used in Android devices.

But aren't most of Qualcomm drivers closed source blobs? I remember that's why many mobile OS ports have to depend on libhybris ( https://en.wikipedia.org/wiki/Hybris_(software) ) to use the binary-only Android drivers of Qualcomm and other SoCs.

check the Qualcomm supported open source code base at https://www.codeaurora.org/

Developers often ask on HN: "How can I make a full-time living from my open source product?"

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.

This page in the GitLab handbook explains our approach in great detail: https://about.gitlab.com/company/stewardship/

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...

> To sell you product with source code (with a open source licence attached) is simply not possible.

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.)
This is new to me - do developers really not like providing paid support for their product? It's one of the easiest way to make money! The whole of India's IT industry makes money this way - the annual maintenance contract is a tried and tested business model. Even I've made easy money by doing light sys-admin tasks on VPS for clients.

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.

Time was software makers could make a living just selling CD-ROMs in shrink-wrapped boxes. They'd of course augment their income by selling support, but few devs enjoyed "is your computer plugged in?" hand-holding. With everything now open-source, selling support is now all their income.

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.

Most often, opensource software are not opensourced with a commercial intent. They are created for ideological reasons and / or to highlight their professional skillset.

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.)

To add to what I said, this is also a good read - Vivaldi browser and open-source - https://vivaldi.com/blog/vivaldi-browser-open-source/ ... (Vivaldi offers a browser that is built on the open source chromium web engine framework. But in their previous avatar, they used to sell a closed source browser called Opera. The post linked to explains why they aren't 100% opensource.)

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact