21 years in, the landscape around open source evolved a lot. Inpart 1 andpart 2 of this 3-part series,
I explained why today, while open source is more necessary than ever, it
appears to no longer be sufficient. In this part, I'll discuss what we, open
source enthusiasts and advocates, can do about that.
This is not a call to change open source
First, let me clarify what we should not do.
As mentioned in part 2, since
open source was coined in 1998, software companies have evolved ways to
retain control while producing open source software, and in that process
stripped users of some of the traditional benefits associated with F/OSS.
But those companies were still abiding to the terms of the open
source licenses, giving users a clear base set of freedoms and rights.
Over the past year, a number of those companies have decided that they
wanted even more control, in particular control of any revenue associated
with the open source software. They proposed new licenses, removing
established freedoms and rights in order to be able to assert that level of
control. The open source definition defines
those minimal freedoms and rights that any open source software should
have, so the Open Source Initiative (OSI),
as steadfast guardians of that definition, rightfully resisted those attempts.
Those companies quickly switched to attacking OSI's legitimacy, pitching "Open
Source" more as a broad category than a clear set of freedoms and rights.
And they created new licenses, with deceptive naming ("community", "commons",
"public"...) in an effort to blur the lines and retain some of
the open source definition aura for their now-proprietary software.
The solution is not in redefining open source, or claiming it's no longer
relevant. Open source is not a business model, or a constantly evolving way
to produce software. It is a base set of user freedoms and rights expressed
in the license the software is published under. Like all standards, its value
resides in its permanence.
Yes, I'm of the opinion that today, "open source" is not enough.
Yes, we need to go beyond open source. But in order to do that, we need to
base that additional layer on a solid foundation: theopen source definition.
That makes the work of the OSI more important
than ever. Open source used to be attacked from the outside, proprietary
software companies claiming open source software was inferior or dangerous.
Those were clear attacks that were relatively easy to resist: it was mostly
education and advocacy, and ultimately the quality of open source software
could be used to prove our point. Now it's attacked from the inside, by
companies traditionally producing open source software, claiming that it
should change to better fit their business models. We need to go back to
the basics and explain why those rights and freedoms matter, and why
blurring the lines ultimately weakens everyone. We need a strong OSI
to lead that new fight, because it is far from over.
A taxonomy of open source production models
As I argued in previous parts, how open source is built ultimately impacts
the benefits users get. A lot of us know that, and we all came up with our
own vocabulary to describe those various ways open source is produced today.
Even within a given model (say open collaboration between equals on a level
playing field), we use different sets of principles: the OpenStack
Foundation has the 4 Opens
(open source, open development, open design, open community), the Eclipse
Foundation has the Open Source Rules of Engagement (open, transparent,
meritocracy), the Apache Foundation has the Apache Way... We all advocate
for our own variant, focusing on differences rather than what we have in
common: the key benefits those variants all enable.
This abundance of slightly-different vocabulary makes it difficult to rally
around and communicate efficiently. If we have no clear way to differentiate
good all-benefits-included open source from twisted some-benefits-withheld
open source, the confusion (where all open source is considered equal)
benefits the twisted production models. I think it is time for us to
regroup, and converge around a clear, common classification of open source
production models.
We need to classify those models based on which benefits they guarantee
to the users of the produced software. Open-core does not guarantee
availability, single-vendor does not provide sustainability nor does
it allow to efficiently engage and influence the direction of the
software, while open-collaboration gives you all three.
Once we have this classification, we'll need to heavily communicate around
it, with a single voice. As long as we use slightly different terms (or
mean slightly different things when using common terms), we maintain
confusion which ultimately benefits the most restrictive models.
Get together
Beyond that, I think we need to talk more. Open source conferences used to
be all about education and advocacy: what is this weird way of producing
software, and why you should probably be interested in it. Once open source
became ubiquitous, those style of horizontal open source conferences became
less relevant, and were soon replaced by more vertical conferences around a
specific stack or a specific use case.
This is a good evolution: this is what winning looks like. The issue is:the future of open source is not discussed anymore. We rest on our
laurels, while the world continually evolves and adapts. Some open source
conference islands may still exist, with high-level keynotes still raising
the issues, but those are generally one-way conversations.
To do this important work of converging vocabulary and defining common
standards on how open source is produced, Twitter won't cut it. To
bootstrap the effort we'll need to meet, get around a table and take the
time to discuss specific issues together. Ideally that would be done around
some other event(s) to avoid extra travel.
And we need to do that soon. This work is becoming urgent. "Open source" as
a standard has lots of value because of all the user benefits traditionally
associated with free and open source software. That created an aura that
all open source software still benefits from today. But that aura is
weakening over time, thanks to twisted production models. How much more
single-vendor open source can we afford until "open source" no longer means
you can engage with the community and influence the direction of the
software ?
So here is my call to action, which concludes this series.
In 2019, open source is more important than ever. Open source has not "won",
this is a continuous effort, and we are today at a critical junction.
I think open source advocates and enthusiasts need to get together, defining
clear, standard terminology on how open source software is built, and start
communicate heavily around it with a single voice. And beyond that, we need
to create forums where those questions on the future of open source are
discussed. Because whatever battles you win today, the world does not stop
evolving and adapting.
Obviously I don't have all the answers. And there are lots of interesting
questions. It's just time we have a place to ask those questions and
discuss the answers. If you are interested and want to get involved, feel
free to contact me.