It is my pleasure and honour to join the MariaDB Foundation as its new CEO from 1 Feb 2019. Following MariaDB closely since its inception, I welcome the opportunity to be focusing completely on adoption, collaboration and free open development of MariaDB Server. I joined MySQL AB in 2001 and worked in various leadership positions, notably as VP Community Relations, a task I continued at Sun Microsystems and, briefly, Oracle. A co-founder of SkySQL and an executive at MariaDB Corporation, I have now been part of the Open Source ecosystem for nearly two decades. The journey continues to fascinate me. It is a rare privilege to be able to work with brilliant minds in academia, law, software development and IT business, and MariaDB Foundation is at the intersection of all of them.
Looking at how I can contribute as the incoming CEO, I am going back to the basics to look at the purpose of the organisation I am to serve. The Certificate of Incorporation of MariaDB Foundation (the legal document that defines the purpose of the organisation and is required when registering an entity in the US) describes the fundament in its third and seventh articles.
Let us take the shorter and thus easier one first. The seventh article postulates that the MariaDB Foundation is not organised for profit. Yes, we have corporate donors who cover our costs, with MariaDB Corporation, Booking.com, Alibaba, Tencent Cloud, and Microsoft being platinum sponsors and Visma, DBS Bank, IBM, and Tencent Games being gold sponsors. But we do not sell services. We do not develop features to order (“non-recurring engineering”), and we do not sell support for MariaDB Server. Your membership payments – which we dearly appreciate – go in their entirety to ensure free open access to MariaDB, to driving MariaDB adoption, and to oil the collaborative development of MariaDB. This brings us to the third article.
The third article says that the MariaDB Foundation was formed exclusively to further and promote charitable, scientific and educational purposes. To quote:
The business and objects to be carried on and promoted by it are to
(1) continue the development of, free public access to, and adoption of the open source database management software known as “MariaDB” (which is based on the MySQL open source software);
(2) promote, foster and facilitate collaboration among developers and users in the continued development and improvement of, and free public access to, MariaDB open source software;
This is the core of why MariaDB Foundation exists, our raison d’être. Hence, it merits a drawing:
Our purpose is divided into four: Promoting development, Free public access, Adoption and Collaboration. And the fourth item is divided into collaboration with developers and with users. In this context, by “developers” we refer to those who develop MariaDB Server itself. The “users” are often developers too, developing applications using MariaDB Server. This self-centric simplification of ours sometimes causes misunderstandings, but so far, we have been unable to come up with short but good alternative wording.
Article three, the core purpose, is on a too high abstraction level to derive our day-to-day duties from. Let us detail what it means in practice.
The purpose of this more detailed “mission circle” is to establish a connection from the purpose as described in our articles of incorporation to our operations. The inner part of the circle contains the words “written in stone” as registered when we were founded in October 2012, the outer circle are interpretations thereof.
Let me add a further layer of interpretations as an outermost circle, before we dive into the diagram:
So, let us look at the four parts one at a time.
Development of MariaDB Server mostly happens in other organisations, in MariaDB Corporation and in the many organisations contributing code to MariaDB Server. On our part, we concentrate on promoting and enabling the activities in these organisations. Contributors provide patches, mostly in the form of pull requests, to alleviate pain points of their own and of other users. An example of such a feature would be systemd support (MDEV-427 and MDEV-5713), with pull requests originating from Daniel Black of IBM. Another example would be MDEV-11371 Compressed columns, a set of features originating from both Alibaba and Tencent.
We also see it as our task to focus on scripts that improve the user experience of working with MariaDB, and contributing to the documentation of MariaDB, both in the mariadb.com/kb/en/ Knowledge Base hosted by MariaDB Corporation, and elsewhere: in Linux distros, in MariaDB Server itself, and in core places on the web.
Our core developers also have the freedom to scratch some favourite itches of their own. My favourite examples: MDEV-8091 Window functions (a key feature in MariaDB 10.2 and an itch of our senior developer Vicențiu Ciorbaru) and MDEV-7941 Micro optimizations, a performance improvement itch of our senior developer Sergey Vojtovich.
The free public access aspect falls into the availability of MariaDB Server to everyone, where we have some work to do to improve the web journey. The source code repository for MariaDB Server is public on GitHub.com/mariadb. This is also the place where you can submit your own improvements to MariaDB Server (pull requests). The development process is kept transparent through open project planning and tracking at jira.mariadb.org. All planned features for the MariaDB Server are tracked there, for everyone to see and contribute to. The bug database is hosted on jira.mariadb.org/projects/MDEV/issues/.
On adoption, we work primarily with Linux distributions (notably Debian and Red Hat). We promote MariaDB Server through our own website mariadb.org and on social media, where we have just opened a few new accounts, instagram.com/mariadb_org and facebook.com/mariadb.org in addition to twitter.com/mariadb_org (just renamed from @mariadbfdn) and linkedin.com/company/mariadb-foundation.
Collaboration with developers using MariaDB Server happens over various Web forums. Stack Overflow, Reddit r/mariadb and Quora are the obvious ones, and the MariaDB KB also provides functionality for asking questions.
On a day-to-day basis, we collaborate with developers developing MariaDB itself in two ways: With the many developers of MariaDB Corporation through having common weekly voice conferences, and with the rest of the developer community through Github pull requests, which we review and, once quality requirements are filled, merge into the main repository. The chat type communication needed in the process have more and more moved from the #maria IRC channel on Freenode.net to our Zulip account mariadb.zulipchat.com.
Of course, nothing beats face-to-face interaction, where we host our own unconferences two-three times a year, and go to events arranged by others. The next MariaDB Unconference is Sat-Sun 23-24 Feb 2019 in New York, and before that, there is a MySQL / MariaDB DevRoom at FOSDEM Sat 2 Feb 2019 in Brussels.
I am coming to both New York and Brussels, and am looking forward to interacting with some of you there! And from the rest of you, I welcome your comments, on the blog, at [firstname]@mariadb.org, on Twitter (@kajarno and @mariadb_org) or other social media, and on Zulip Chat.