Why the GPL is great for business (Frank Karlitschek)[FOSDEM 2020]

There is a lot of discussion recently about whether or not free software licenses are good or bad for business. There were some High profile cases of projects relicensing their software with non-free licenses due to external market pressure (Redis, CockroachDB, MongoDB). Karlitschek argues that the GPL is actually great for business if you apply the right business model.

Richard Stallman coined the 4 freedoms.

  1. Run the program as you wish for any purpose
  2. Study how the program works, change it. Access to source code is precondition for this.
  3. Freedom to redistribute copies
  4. Freedom to redistribute modified copies

The OSI has a different set of rules.

There are differnt license types, ranging from Public domain to Trade secret

  1. Public domain: no rights, impossible in many countries
  2. Non-protective FOSS license: Do whatever you want, just don’t sue me! (BSD, Apache)
  3. Protective FOSS License: If you make derivative work you have to provide the source under the same license (GPL, AGPL)
  4. Proprietary License: You can use it if you pay, you can’t study it.
  5. Trade Secret: You can use it but can’t even talk about it.

The question is how do we get paid for writing Free software.

Frank was involved in the KDE community. He saw the issue of rotating team members. There was the dream of hiring people to work full time on free software.

What are customers paying for? In proprietary software the value proposition is clear.

But there are actually Open Source Business Models.

  • Selling branded merchandise –> doesn’t really work, will probably not pay for the development
  • Selling software as a service –> You can get a hosted version of e.g. Wordpress. Cloud computing makes this harder.
  • Partnerships with funding organisations –> Get funding through large institutions. Not a lot of examples of OSS development being funded this way
  • Sellling certificates and trademark use –>
  • Voluntary donations –>
  • Bounty driven development/Crowd sourcing –> People pool money together to get features development.
  • Advertising –> Include advertising. Tracking is an issue. Code can be rebuilt without the advertising. Firefox actually successfully does this. Google pays to be default search engine.
  • Delayed Open Source –> After a certain funding goal is reached it becomes open source
  • Open source at end of life –> when the product is EOL it becomes open source.

These are pretty unrealistic. The more realistic ones are:

  • Selling professional services (i.e. consulting, paid feature development, bugfixing, workshops, training.) –> This does not scale
  • Optional proprietary extensions i.e. open core. Community Edition / Enterprise Edition. This is not really Open Source. The free version is often just a teaser.
  • Dual licencing –> GPL, AGPL except if you pay for a proprietary license. This requires a CLA and is controversial.
  • Support subscription –> Scalable, doesn’t require code ownership. Gives someone to call when something goes wrong. Red Hat, SUSE, Nextcloud use this model.

Example given of nextcloud: Nextcloud subscription is job insurance for the sysadmin.

They provide the following benefits:

  • Stability
  • Compliance (i.e. HIPAA compliance)

This is the model that works the best.

The enemy of this model is the cloud. Less people have their own servers deployed. Everything is ‘As a service’ and the cloud provider provides the support.

Redis added the “Common clause” prohibiting to sell the sotware or offer hosting or without a commercial license. This in effect makes it proprietary.

MongoDB did a similar thing. If you want to offer it as a service you need a commercial license.

CockroachDB disallows commercial services without commercial licenses.

This is a hotly debated topic. Is the only way to save free software to kill it?

GPL is actually good for business

  • Creates the best communities. All contributors are equal.
  • Forks are always possible, nobody is special. This enforces the best results. Anyone can fork it and make it better.
  • This enables a global upstream/downstream network. It allows us to stand on the shoulders of giants. There are no code islands.
  • Working with the best developers, because they like Open Source
  • Ecosystems are key. The GPL creates an equal playing field.
  • It creates a good community governance.
  • There is no vendor lock-in. Fair relations lead to happy customers.
  • Owning the code is not important. The value of a company is in the people.

This strategy works.

GPLv3 has patent protection. This is important.

Karlitschek worked on Owncloud. Owncloud required a CLA for Open Core. Contributors were not happy about this. Fixed in Nextcloud. The customers were unhappy about the vendor lock-in. They expected open source and instead got proprietary software.