Should companies pay?

Open Source software is usually cheaper than other software, at least in acquisition. Going with an Open Source solution typically means that a company only needs to spend engineering time and the rest is free. Usually they already have engineers onboard, adding work on their tables is "free".

That is attractive to any profit seeking entity. Pay less, get more.

It is hard for an Open Source project to make this company pay. Capitalism baby.

Time is not free

When I talk to or about companies such as the imaginary one above, I try to emphasize and underscore that engineering time is not free – not even for them. Their engineers only have a certain amount of time in their work days and if the company would pay me to handle my Open Source related matters, I would do it (probably) much more effectively and spend less time on it and it would free up time from their engineers. Time they could spend on things that are their expertise.

Dual license

A popular way to "encourage" companies to pay up, is to release Open Source under a dual license. Everything is under the GPL until you pay up to buy the same thing but under a more commercially friendly license.

This works, but this setup has a few conditions that certainly are not for every project:

  1. The project/BDFL needs to retain the copyrights of everything to keep the right to change the license at will.
  2. The Open Source license used needs to be GPL or something similar, with a copyleft that makes it difficult for commercial vendors to accept those conditions in proprietary applications.
  3. The project needs to be good and unique enough so that companies do not just instead switch to a competing Open Source project instead.

Non-open additions

Because of the shocking problems with selling stuff that we give away for free, it is popular to spice up Open Source offerings with services and software around that are not open. Like plugins, add-ons, subscriptions, more sophisticated versions etc. Open core is a popular name for this concept.

That does not actually make anyone pay for the open project, it is a way to upsell customers with related and associated non-open things.