Learning from the MySQL experience
Looking back on the experience with Sun and Oracle, Widenius says it's a lesson for other open source projects that they should always be prepared "that someone may try to take over the project and kill it as a way to get rid of competition".
"This is especially important for projects with a dual licensing model where a big part of the income needed to develop the project comes from licensing. It's these kinds of projects that can be bought or killed."
"Another way to kill an open source project is to contract all the main developers and somehow get them moved to other projects. Without the main developers, it's very likely that the project will die," he adds.
The problem was that we never thought that someone would like to buy MySQL to kill it and we never added protection for that
The problem wasn't that MySQL was too closely aligned to a single commercial entity (first MySQL Ab, then Sun). "The problem was that we never thought that someone would like to buy MySQL to kill it and we never added protection for that," he says.
"That we were able to fork MySQL successfully was only possible because we have some people that were willing to spend a lot of money, without big hopes of ever getting it back, just to save MySQL.
"Open source doesn't guarantee that a project can be forked and saved. This is especially hard for an infrastructure open source project that is GPL [licensed] and where a lot of development money came from licences."
The developers around MariaDB have established a non-profit foundation, which owns the trademark for mariadb.org and for the MariaDB server.
"This means that there will never be a need to change the name of MariaDB to something else," says Widenius.
"It's the community that will decide which is the official MariaDB release and that release will always be open source."
However, "MariaDB can only evolve if there are companies that are prepared to either do the development of MariaDB or fund it," he says. "The MariaDB Foundation is there to make it possible for companies to easily do this."
Alongside this, the foundation has responsibility to strengthen the community around the project, helping developers understand the code base and keeping an eye on code review and QA.
The foundation is actively seeking sponsors, Widenius says. "In principle, anyone who has an interest in MySQL and MariaDB surviving should contact the MariaDB foundation and ask about sponsoring it, either with money or with resources. That is the best way to ensure that the MySQL code base will survive !"
"We have some big sponsors already, but not as many as we originally hoped for," Widenius says.
"Many of the possible sponsors we have talked have wanted to wait until the MariaDB Foundation has a final governance structure in place. This is now finally done and we expect that we will now get these in soon."
Code committed to MariaDB needs to be under the Monty Program Ab contributor agreement (MCA) or the BSD-new licence. Widenius says that this is so that code contributed to MariaDB, such as bug fixes, can still be used by MySQL and so that companies that have bought MySQL licences can easily switch to MariaDB.
In addition, "if Oracle ever donates the MySQL code to a foundation, like the Apache foundation, we can donate the MariaDB code under the same licence to the foundation," he adds.
MariaDB 5.2 was almost totally developed by the MariaDB community outside of Monty Program Ab, according to Widenius. "Of the 33 people that have commit access to MariaDB, 15 are from Monty Program Ab," he adds, and he expects the community of developers outside the company to grow.
He says he's happy with the pace of development. The team is currently working on the next version of MariaDB - 10.0 (10.0.1 — an alpha version — was released in February). The new version adds multi-source replication, "truly" parallel replication, the LevelDB storage engine and more.
Monty Program, the company established by Widenius to push MariaDB forward, has been focussed on feature development, delivering support for companies such as SkySQL and developer support for MySQL companies.
"One problem we had was that we needed to prove that MariaDB is 'good enough' to be able to attract paying customers," he says. "This was something that took us 3 years to do on a larger scale. Now when MariaDB is going to be default in a lot of distributions it's much easier to attract customers!
"Together with SkySQL we have built a customer base of 300-plus quite big customers. The main services we have provided is development services. SkySQL has been doing front support to companies and we have provided that back support both for MariaDB and MySQL."
The company is "very like" the original MySQL business, "minus OEM licences and end-user support. For the end user support we use partners like SkySQL.
"You could say that Monty Program Ab plus SkySQL is very much like MySQL, except that the MariaDB is now always open source."
The company has a Google-esque 40/40/20 per cent split for employees' time: 40 per cent of their time is spent on new development, mainly customer projects; 40 per cent is spent working with the MariaDB community on code reviews, bug fixing and merging new code into MariaDB; and 20 per cent is spent on projects chosen by the individual.
"One could say that Monty Program Ab has donated 40 % of its developers' time to the community for making the MariaDB project possible," Widenius say.
"Now the MariaDB foundation will take over some of the community time and free Monty Program Ab to concentrate on serving customers."
Follow Rohan on Twitter: @rohan_p