ON OPEN SOURCE AND THE SUSTAINABILITY OF THE COMMONS
by Ploum on 2024-07-01
https://ploum.net/2024-07-01-opensource_sustainability.html
TL;DR: put your open source code under the AGPL license.
Much have been said about the need to pay Open Source developers for
their work and the fact that huge corporations use open source software
without contributing back.
Most articles I’ve been reading on the subject completely miss the mark.
Plenty of commentators try to reinvent some kind of "free software but
with forced contributions" or "free software but non-commercial". Those
are naive and wrong. If you impose limitations, it’s, by definition, not
free software anymore.
The problem is not about Open Source or Free Software. The problem is
everything else.
Open Source utopia, as envisioned until the first decade of this
millennium, was to create a huge, powerful stack of open-source software
that would serve as the foundations of any human endeavour. Including
building businesses or, for some, proprietary products. Free Software
would be part of the commons, a huge natural pool of resources. Every
business would be small in comparison. Just like we allowed private
companies to sell water (a common good) thinking the companies would be
small compared to the nearly infinite supply of water.
We were naive.
What we got is more or less the opposite: huge monopolistic corporations
and lots of small fragmented free software pieces that connect them.
Bottled soda factories pumping so much water that whole populations
start to suffer from the lack of fresh water and, as a consequence,
being forced to buy bottled water.
Technically, Open Source won. Politically, it lost. The reason is
simple: it was easier to build consensus around technical solutions,
washing away political implications that were seen as out of scope or
too hard to agree.
Every megacorporation is now built on top of free software. But they
managed to make it effectively proprietary by hiding their code behind
web interfaces. When publicly distributed, the open-source code is
hidden behind layers of indirection bypassing any packaging/integration
effort, relying instead on virtualisation and downloading dependencies
on the fly. Thanks to those strategies, corporations could benefit from
open source code without any consequence. The open source code is,
anyway, mostly hosted and developed on proprietary platforms.
Even hardcore free software geeks now use some dependencies/plugins
mechanisms that are hardcoded to only look at Github. Through nested
dependencies, millions of people are running code directly downloaded
from Github without even realising it.
We need to talk about your Github addiction (ploum.net)
https://ploum.net/2023-02-22-leaving-github.html
Due to the original open-source utopia paradigm, every time a developer
push free code on Github, she feels like she’s contributing to the
commons. But, effectively, she’s pushing code into production in
hundreds of exploitive corporate projects. When a problem occurs, per
corporate tradition, pressure and blame fall on the maintainer. Even if
that maintainer is not on the payroll.
Paying the Maintainer Makes the Problem Worse
=============================================
That will be an extremely unpopular opinion but I’m convinced that
paying the contributor/maintainer a dime is not the solution. It worsen
the situation. It acknowledges the responsibility of the aforementioned
maintainer and legitimises the exploitation.
We need to remember that most (if not all) free software is provided,
"without liability". That rule should be enforced. We should not care
about corporations. If there was no support contract prior hand, let
them burn. Trying to force corporations to pay the maintainer is like
trying to force landlords to pay firefighters only if their house is
burning. Or agreeing that a factory should give a small tip to
volunteers cleaning the river it is polluting.
Paid and unpaid open source developers are pressed into providing a
support they never promised in the first time. So they ask companies for
mandatory contributions, something they explicitly refused when they
licensed their code.
So, what can we do?
In the short term, it’s very simple. If you care about the commons, you
should put your work under a strong copyleft license like the AGPL. That
way, we will get back to building that commons we lost because of web
services. If someone ever complains that a web service broke because of
your AGPL code, reply that the whole web service should be under the
AGPL too.
We were tricked into thinking that BSD or MIT licences were "freer" like
we were tricked into believing that building a polluting factory next to
our local river would be "good for the economy". It is a scam. A lot of
unpaid or badly paid developers would probably benefit from switching to
a copyleft license but they use BSD/MIT because they see themselves are
"temporary embarrassed software millionaires".
We should also actively fight against automatic installation of
recursive dependencies. No, it is not normal and no sanely engineered
system should do this. We should not trust the Microsoft-owned Github to
distribute software. A git repository is a development tool, not a
distribution mechanism for end users. Something the Great Ancients
understood fully when they started projects like BSD, Debian or Red Hat
which are called… "distributions". Yes, the "D" in BSD stand for
"distribution". It is not by accident that those distributions care a
lot about the license of the software they distribute.
Get Rid of Monopolies
=====================
In the long term, the root causes of most of our problems are the
monopolistic corporations. Without them, we would not have this
discussion. There’s a generational divide here. Brilliant coders now on
the market or in the free software space have never known a world
without Google, Facebook and Github. Their definition of software is
"something running in the browser". Even email is, for them, a synonym
for the proprietary messaging system called "Gmail" or "Outlook". They
contribute to FLOSS on Github while chatting on Slack or Discord,
sharing specifications on Google Drive and advertising their project on
Twitter/X. They also often have an iPhone and a Mac because "shiny".
They cannot imagine an alternative world where monopolies would not be
everywhere. They feel that having nice Github and Linkedin profiles
where they work for free is the only hope they have to escape
unemployment. Who can blame them? They cannot imagine a world without
monopolies. They don’t search, they Google, they don’t shop online, they
go on Amazon, they don’t read a book but a Kindle, they don’t take a
coffee but a Starbucks. For them, politics is only a source of
conflicts, a naughty word.
As they start to understand that they are exploited by those omnipotent
deities, they see only one way to make it acceptable: ask, through one
of those deities (Twitter, Facebook, LinkedIn), to be paid. They
understand that they are two classes of coders in the world: those who
are exploited without being paid and those who are paid to be exploited.
A bit or even more in some cases. While a few hands keep all the power.
What elderly, like myself, should teach them, is that there are many
alternatives. We can live without Google, Facebook Microsoft, Apple,
Amazon. We can write code which is not on Github, which doesn’t run on
an Amazon server and which is not displayed in a Google browser. We
should also insist that every piece of technology is, by essence,
political. That you cannot understand technology without understanding
the people. And you cannot understand people without understanding
politics. Every choice you made has an impact on the world.
At the turn of the century, the free software community was focused on
fighting Microsoft monopoly. We even joined force with Google and Apple
to fight Microsoft. We completely failed. We helped build a world where
mostly everything is "Microsofted", "Googled" and "Iphonized". All of
this made possible thanks to open source and millions of hours worked
for free by people who contributed to what we thought was "the commons".
The lesson we learned is harsh: we can never trust corporations with
anything. They destroyed our oceans, our atmosphere and our politics.
There’s no reason to trust them with our software, our privacy and our
daily lives.
In the long term, our only hope is to build stronger commons. Every day,
we must fight to protect and improve the commons while letting
corporations have as little power as we can over it and over our lives.
If you are a creator or a coder, you can do it today by adopting
copyleft licenses and enforcing them as much as you can.
Put your open source code under the AGPL license!
Photo by Nick Karvounis
https://unsplash.com/fr/photos/man-cleaning-shoe-of-another-man-near-white-…