Now this is exciting news: MySQL is now using Bazaar and Launchpad for their source code! Both the main MySQL server code and the code for many ancilliary projects have been converted to Bazaar, and are published on Launchpad.
Launchpad is a next generation project hosting and collaboration system, and we’re delighted that MySQL has chosen to host Bazaar branches of their code on Launchpad. This means that anyone can now publish their own branches of MySQL, with work in progress, fixes, enhancements, or my personal favorite – crazy experimental features! This makes it much easier to collaborate with other developers both inside and outside of MySQL.
MySQL has a very large code base, and a long history going back at least 8 years. Since early 2005, I’ve been working on getting the MySQL source code converted to a Free version control system that would work well for hundreds of developers working across dozens of countries, and it’s such a great feeling to see the results available to the public! In 2006, we started looking at Bazaar, and in recent months many engineers have worked hard to do conversions of all the different releases of MySQL. The Bazaar development team was able to add features to Bazaar specifically to enable the best possible history conversion with no data loss(per-file comments), and work with the Launchpad team to add features to make it much easier to host projects of this size. We’re already seeing a strong development community forming, with a variety of experimental branches showing up. I was also very pleased to see how easy it was for MySQL developers to write plugins to Bazaar to integrate with their custom continuous integration and bugtracking systems.
As Kaj said on his blog, a lot of different version control systems were evaluated carefully. It’s a great vote of confidence to have MySQL choosing Bazaar for their commercial-grade version control system, and choosing Canonical to provide professional support and custom development for Bazaar. I expect that as more and more people start using Bazaar and the tools around it, we’ll see a corresponding increase in development happening both on further optimizing the core system and the GUI tools that make it possible to work with a large code base like MySQL. Finally, Giuseppe Maxia has a great post with more technical details about getting started working with MySQL using Bazaar and Launchpad. Go try it out and let us know what you think!