FOSDEM 2020: Some memories and todos
FOSDEM gives energy. FOSDEM gives ideas. FOSDEM opens up opportunities, FOSDEM allows you to connect with old friends and colleagues. Hence, no big surprise that MariaDB Foundation attended FOSDEM, in order to promote Open Source and to get ourselves closer to the community.
Starting from a pre-FOSDEM dinner with Member of the European Parliament Nils Torvalds, over Open Source Diva Danese Cooper’s keynote about “Open Source is Art”, to the MySQL, MariaDB and Friends Devroom and Sunday’s MariaDB Day, concluding with OpenForum Europe’s meeting on Monday, my previous weekend was packed with encounters, discussions, and ideas around Open Source.
What is FOSDEM?
For those who don’t know FOSDEM, it’s probably the world’s biggest gathering of developers of Free and Open Source Software. And not in the Carlsberg’s beer sense; here, the word “probably” does have some scientific rigour. The 20th time occurring with the name FOSDEM (Free and Open Source Developer’s European Meeting), the free event hosted at Université Libre de Bruxelles attracted many thousands of developers, in full meeting rooms.
Dinner with Torvalds
For the MariaDB Foundation team, there were two Friday dinners. One was primarily for attendees of the Saturday MySQL, MariaDB and Friends Devroom, the other primarily for attendees from Finland – organised by former MariaDB Foundation CEO Otto Kekäläinen. Those picking the latter had bragging rights for the one-liner “Having dinner with the creator of MySQL and MariaDB [Michael ‘Monty’ Widenius, obviously] and the creator of the creator of Linux”. MEP Nils Torvalds did take a panorama picture of all of us at the Kabuki restaurant and sent it off to his son Linus. He also got quite a few chuckles when everyone presented themselves and their role in FOSS. His line? “My name is Nils Torvalds, and my role in the creation of Open Source software has been mostly sexual”.
Torvalds senior had never visited on FOSDEM, but the dinner and Otto’s persuasion got him so inspired that he promptly came to FOSDEM early Saturday.
Long-term perspective keynote by Danese Cooper
Saturday started by an immersion in the positive chaos of walking through the crowds to find out where one should be. My MariaDB Foundation subteam arrived early and could have a look at one of the earliest morning keynotes. By chance we picked a room in the K building, which turned out to be Open Source oldtimer and former Sun Microsystems colleague Danese Cooper presenting on “Open Source is Art”. She noted “Open Source has won”, and put that into the perspective of expectations from the last thirty years – not all of which have been met. In her show of hands, she didn’t go all the way back, though: “How many of you have been involved in Open Source for at least 5 years?” … “10 years” … “15 years” … “20 years”. I kept my hand up all along, but had she asked 25 years, nope. Of the MariaDB gang, only Monty and MySQL co-founder David Axmark were involved back then.
MySQL 8 vs MariaDB 10.4 comparison by Peter Zaitsev
The MySQL, MariaDB and Friends devroom started off with a welcome note by MariaDB Foundation’s Ian Gilfillan and Oracle’s Frédéric ‘LeFred’ Descamps. The coexistence at FOSDEM is much less adversary than it once was; the “Friends” wording does not seem out of place.
Peter Zaitsev, the CEO of Percona (who offer expertise in MariaDB, MySQL and other Open Source databases) started his keynote presentation by setting the expectation that he would be an “equal opportunity offender”, claiming “both MySQL and MariaDB folks will find plenty to disagree with”.
I think he failed, at least with MariaDB – his overview was quite balanced: “MariaDB is not MySQL. Started from the same roots, MariaDB and MySQL diverged enough so they should be seen as two different, great databases”, that’s not controversial.
His helicopter view comparison was adequate and relevant: MySQL accepts contributions, MariaDB encourages them. MySQL has drop-ship open source, MariaDB’s development is done openly, more in public. MariaDB “initially competed with MySQL on features”, is “improving SQL support” (such as the 2016 introduction of Common Table Expressions, Windowing functions)”, sets “a lot of focus on migration from Oracle, MS SQL”. Nothing wrong with that.
And on usability. “MariaDB focuses on usability for smart people, MySQL for stupid people” was Peter’s simplification, delivering on the offense expectation he set. Personally, I would like us to focus on usability for everyone.
I think Peter got the overall roadmap priorities right: MariaDB “pushes the old codebase further”, “prioritises choice and flexibility”, “supports multiple storage engines”, and has the development team “closer to practical operations”. Spot on.
Most importantly, Peter pointed out that MariaDB continues the “classic” MySQL philosophy: Relatively frequent major releases, doing no major changes in minor releases, allowing for minor downgrades if things happen. Datasets are kept intact. By contrast, MySQL 8 is an “evergreen release”, with features introduced in minor releases, disabling minor downgrades (which form an important safety net). Peter added that this MySQL policy ruffles the feathers of many users.
Within Replication, Peter noted Galera 4 with MariaDB is further than MySQL group replication (which as such is progressing faster). He complained of the GTID implementation of MySQL requiring “multiple PhDs”; the Global Transaction ID incompatibility between MySQL and MariaDB certainly decreases the interoperability of the two.
As for SQL standards compatibility, MySQL has “nothing that comes to mind that MariaDB wouldn’t offer”, whereas MariaDB has sql_mode=Oracle, System Versioned Tables, SEQUENCE (a more versatile AUTO_INCREMENT), and PACKAGES (stored procedures). Editor’s note GTID: MariaDB can replicate from MySQL, but MySQL cannot replicate from MariaDB.
One of Peter’s complaints on MariaDB was around limited Kubernetes support (a deficiency shared with MySQL). He is correct, but there is nothing I can promise around this going on right now. Good thing Peter has himself contributed with a Percona Kubernetes Operator.
Other MySQL, MariaDB and Friends devroom stuff
The devroom continued with a number of other presentations. 77 submissions, and only 13 slots! I only had the time to enjoy very few of them, as I had semi-private meetings to have and 1on1 discussions to conduct. Lucky Postgres, who I heard had 7 submissions and could fit them all! And posting our “we’re hiring” notice.
Going out of the devroom seemed to be an irreversible decision; the “Full” sign frequently showed up outside the devroom, when I wanted to re-enter.
I had planned to meet with many others. For example, I had hoped to reconnect with long-time colleague and friend Giuseppe Maxia (a benevolent critic encouraging MariaDB to Keep It Real, using the vocabulary of Ali G). And I never popped into Jaime ‘Jynus’ Crespo and the folks at Wikimedia Foundation. I could not tick off a number of important items on my todo list – spilling over to follow-up time afterwards.
But we did have good internal MariaDB Foundation team meetings, using the seldom-found opportunity to discuss face to face. Our room sharing policy is quite well suited to compensating for the otherwise very sparse real-life interactions offered by the virtual nature of our team. Last FOSDEM, I shared with Sergei Golubchik; this year, with Ian Gilfillan. Who leads the All-time Loudest Snorer score board is confidential, and will be shared on a strict need-to-know basis only.
Sunday: MariaDB Day
The popularity of FOSDEM gave MariaDB Foundation an only partly pleasant problem. Remember that there were over 60 rejected FOSDEM proposals for the Saturday devroom? MySQL has now and in the past solved it by adding days on Thursday and Friday as fringe events, as accepted by FOSDEM on the Fringe list https://fosdem.org/2020/fringe/. We decided to do the same on Sunday, even though there are other FOSDEM events going on that day. We did not find any code of conduct discouraging this, as we certainly want to comply with FOSDEM rules. So for those interested in a deeper dive into MariaDB, we went on with our own event on Sunday, at a not-too-distant hotel (walking distance for many of us). At least, FOSDEM approved of our listing the event in the Fringe list, and the participants gave enthusiastic feedback about the value of the presentations.
The first presentation also on MariaDB Day was by Peter Zaitsev, on “MariaDB Observability”. That’s the buzzword du jour for all kinds of monitoring, from the very simple classic SHOW STATUS to the best graphical monitoring tools. Good overview.
Another good overview was by Vlad Bogolin, about how MariaDB Foundation does the continuous integration for MariaDB Server – with Buildbot. He will blog about this separately. Vicentiu Ciorbaru presented on the differences between ROLEs in MariaDB and MySQL.
There were other cool presentations at MariaDB Day, notably by Monty on the S3 storage engine (a fast, low-cost archive storage engine for the cloud), on MariaDB 10.5 Galera features by Seppo Jaakola, about application-time extensions by Nikita Malyavin, about the InnoDB status and roadmap by Marko Mäkelä, about Galera schema upgrade pitfalls by Sveta Smirnova, and about protecting stored data with Virgil PureKit by Dmitry Dain.
Profiling production-time MariaDB Server
A particularly exciting presentation was “eBPF and Dynamic Tracing for MariaDB DBAs (ftrace, bcc tools and bpftrace)”, by Valerii Kravchuk. That had set off the alarms of many FOSDEM MariaDB people in advance; there was talk of “rocket science level debugging”. The audience certainly wasn’t disappointed.
In a way, this rocket science isn’t hard to understand. It’s about profiling, and finding performance bottlenecks. If there are inexplicable time sinks, where does MariaDB Server spend the time? Large installations at times get issues very hard to understand and pinpoint, where the root cause lies deeply buried into the code, and the scenario occurs in a way which makes it hard to reconstruct and repeat. The usual remedy has been to run code compiled in a debug mode, with logging enabled – which comes at a great performance penalty, and which is hard to set up (requiring a restart of the server just to get going with the measurements).
Not so with the tools that Valerii made a great overview of, in his presentation. Tracing (profiling) can be set up in a production environment without the cost of debug servers, and turned on without a reset of the entire server. In the audience, one could see how the faces of present and past employees of Booking.com lightened up, “oh so with this, we would have had a much easier time understanding where MariaDB Server spent its cycles investigating the issue that …”, referring to past war stories where said war wasn’t distant enough for time to have healed the wounds of the painful experiences.
Monday: OpenForum Europe
On Monday, I joined former MariaDB Foundation CEO Simon Phipps for another fringe event, less than a kilometre from the hotel.
The EU Commission Directorate-General for Communications Networks, Content and Technology had earlier launched a study to understand the impact of open source software (OSS) and hardware (OSH) on technological independence, competitiveness and innovation in the EU. Beforehand, I had engaged with OpenForum Europe (OFE), on whose agenda it is to broaden the use of Open Source.
So a group of experts representing various open source stakeholders gathered around FOSDEM. This was cross-pollination between academia, policy-makers, and industry. Thanks Simon for giving a heads-up to me, about this important initiative.
Meeting with fellow Europeans was rewarding. I did not know much about Open Source Hardware beforehand, but I certainly got inspired to engage, both in the process of furthering the use of Open Source in Europe, and in trying my hand at Open Source hardware. How about a private little Arduino or Raspberry Pi make fair, to control sound and light on my island in Finland?
There seems to be no limits to what Open Source and FOSDEM can inspire one to do – business or pleasure.