Not quite Open Source

Hanno Böck

https://hboeck.de

@hanno

Open Source

Free Software

Free Software is usually defined by the four freedoms:

  • use
  • study
  • share
  • improve

FSFE: Four Freedoms

Open Source Definition

10 aspects that define Open Source

Open Source Definition

Free Software and Open Source are just different ways of looking at the same thing

Using the term "Free Software" emphasizes user freedom, while Open Source emphasizes technical and business aspects

A license or a software that qualifies as "Free Software" also qualifies as "Open Source" and vice versa

Sometimes people use "FOSS" or "FLOSS" as inclusive terms

There are different flavors of FOSS

  • Copyleft licenses (GPL, AGPL)
  • Permissive licenses (BSD, MIT)
  • Public domain declarations (CC0)

Some things are neither Open Source nor Free Software.

  • Software that provides code, but does not allow changes to the code
  • Software that does not allow software to be used for certain things or by certain people

FOSS is very successful in many areas

Linux Wordpress Git VLC React
Python OpenSSH Signal GNOME Electron
Curl Firefox Docker Apache Tensorflow

FOSS has advantages for the user

No restrictions telling what you can and cannot do with the software

A technically savvy user can change FOSS software and adapt it

A not technically savvy user can ask or pay others to adapt it

FOSS is more resilient to change

If the company developing a proprietary software ceases to exist or loses interest then the software usually goes away

If the company developing a FOSS software ceases to exist then others can pick it up

If you use a FOSS software service you usually have the opportunity to go to a competitor if you are not satisfied

FOSS can also have advantages for the developer or publisher

Free Software and Open Source have a good reputation

Publishing software as FOSS can invite community contributions

Some users won't use your software if it's not FOSS

Some software distribution channels only accept FOSS

(e.g. Debian)

But there are also things you cannot do with FOSS

You cannot control what people do with your software

You cannot control who uses your software

You can sell your software, but once it's out you can't stop people from getting it for free

You can sell support for your software, but you can't stop others from offering better, cheaper or more convenient support for your software

You can sell services based on your software, but you can't stop others from selling services based on your software

Sometimes people want to have the good reputation of FOSS, but they don't want to accept the things they can't do with it

What shall they do?

One option is lying

Another option is causing confusion

The Cloud

Cloud
AWS Google Cloud Azure

Cloud providers sell services based on FOSS

AWS Market Azure Market Google Cloud Market

You could say this is perfectly normal and expected

Techcrunch: The Crusade against Open Source abuse

Techcrunch

Lately some companies have announced license changes to protect them from this "abuse"

Part 1: Commons Clause

Without limiting other conditions in the License, the grant of rights under the License will not include, and the License does not grant to you, the right to Sell the Software.

In August 2018 Redis adopted the Commons Clause for some of their modules

(Redis itself is still under BSD license)

Part 2: Server Side Public License (SSPL)

MongoDB has announced to adopt this

They claim that it's Open Source and even asked OSI to approve it

If you make the functionality of the Program or a modified version available to third parties as a service, you must make the Service Source Code available via network download to everyone at no charge, under the terms of this License. [...] “Service Source Code” means the Corresponding Source for the Program or the modified version, and the Corresponding Source for all programs that you use to make the Program or modified version available as a service, including, without limitation, management software, user interfaces, application program interfaces, automation software, monitoring software, backup software, storage software and hosting software, all such that a user could run an instance of the service using the Service Source Code you make available. (SSPL)

This may sound like a strong version of Copyleft, but it goes much further

The only intention is to make offering a service based on MongoDB completely impractical

SSPL says you can't offer a service with SSPL software that runs on Linux

Linux is released under GPL-2, which is itself a Copyleft license

Essentially this is an attempt to "hack" the Open Source Definition

Part 3: Confluent Community License

For purposes of this Agreement, “Excluded Purpose” means making available any software-as-a-service, platform-as-a-service, infrastructure-as-a-service or other similar online service that competes with Confluent products or services that provide the Software.

Confluent Community License

Ultimately what all these companies want:

Amazon, Google and Microsoft shall not be allowed to compete with our services

This alone wouldn't be a problem, they could put that in their licenses, but it wouldn't be Open Source anymore

But these companies want their software still be recognized as Open Source, which is fundamentally incompatible

Their solution: Confusion, deception, lying

They're not always lying

Is this “Open Source”?

No.

Commons Clause FAQ

That's clear and honest

RediSearch

That's a lie

Initiated by a coalition of top infrastructure software companies to protect their rights, Commons Clause is a condition added to existing open source software licenses to create a new, combined software license. The combined license maintains all conditions of the underlying open source license, but limits commercial sale of the software. (Redis Labs)

Sorry, that doesn't make any sense

FOSSA

You probably wouldn't think that
"Modern open source management"
is a way of saying
"We help Open Source Software to change their license to be no longer Open Source"

For those who aren’t commercial cloud providers, i.e. 99.9999% of the users of these projects, this adds no meaningful restriction on what they can do with the software, while allowing us to continue investing heavily in its creation. (Confluent)

This is interesting, because it's trying to tell you that none of this is relevant for you unless you are a cloud provider

Yet it's bogus: You may not be a cloud provider, but you may very well be a customer

Even if you run the software yourself this may still be relevant: You may want to keep your options open for the future

This isn't a mere technicality that's irrelevant for most users, this is a core aspect of what FOSS is supposed to be

But developers have to make money somehow

The funding of FOSS is often problematic and a legitimate issue

But is this really a debate about developer funding?

MongoDB stock

MongoDB stock, Yahoo Finance

Redis funding

Redis Labs funding, Crunchbase

Is this about funding development or investor expectations?

[MongoDB] management said customers were interested in utilizing features across all of the large, multiple public cloud providers. In addition to preventing customer lock-in, management explained that many customers wanted to take advantage of the different unique features each large cloud company provides. In that respect, MongoDB's "cloud-neutral" positioning continues to be an advantage, even as it competes with the very same cloud companies that have their own database offerings.

The Motley Fool

Did their management just say an advantage of MongoDB is the exact thing they want to prevent with their new license?

Is there a threat to Open Source?

Cloud infrastructure providers threaten the viability of open source (Salil Deshpande, Techcrunch)

Open Source is doing fine

Linux Wordpress Git VLC React
Python OpenSSH Signal GNOME Electron
Curl Firefox Docker Apache Tensorflow

Evil Big Cloud

This debate tries to ride upon the general unpopularity of large corporations, we should reject that framing, because it doesn't matter

Whether you like Google or Amazon is irrelevant for the discussion about the definition of "Open Source"

Conclusions

We should demand clarity and reject confusion about the terms "Free Software" and "Open Source"

Companies can decide to be no longer part of the FOSS community, but they can't have it both ways

We should talk about better funding options for FOSS

"Not publishing FOSS any more" is not a funding option for FOSS

Free and Open Source Software is doing fine

If your business is not doing fine that's not the problem of the FOSS community