In part 1 of this 3 part series I talked about what is new in the recently released Drizzle7 and what makes it different to MySQL. In this part I will talk about the development and testing processes behind Drizzle.
The Development Model
Drizzle is developed differently to many open source products. Instead of dual-licensing Drizzle is developed by companies and users that actually use the product. No part of it is closed-source and there is no contributor agreement to sign. We have had many open source developers come from seemingly nowhere to join in development which is fantastic. Development happens on Launchpad using the Bazaar version control system so that everyone can see what is happening.
Bugs reports are also on Launchpad and are pretty easy to search/track and file a new bug. If you have a problem running Drizzle that may or may not be a bug Launchpad has 'Questions' which are a bit like support tickets. We also have the mailing list and Freenode #drizzle IRC channel to ask any questions on.
Every code branch to be merged goes through the same process regardless of whether it came from a developer from Rackspace or a general community developer. First the code goes through a peer review and then gets tested on every platform we support using the Jenkins Continuous Integration system. This doesn't just test to see if the code compiles and runs the test suite, every branch also goes through a Valgrind run and multiple performance benchmarks to make sure there are no regressions (and also to see if a branch improves performance). All results of these tests are publicly available on our Builds and Benchmarks mailing lists.
Google Summer of Code
We are big fans of GSoC at Drizzle, and every year we have more and more students come to us asking to be a part of GSoC. Many of these students have gone on to get really good jobs in the database industry straight after GSoC. If you are a student and are interested in being a part of GSoC you can find a list of projects on our wiki page, to register your interest please contact the mailing list.
O'Reilly MySQL Conference and Expo
We have 12 talks lined up for the conference as well as a section in the "Mastering the MySQL And Drizzle Plugin Development" tutorial. This year the focus is much more on using Drizzle rather than the development of it. But anyone interested is welcome to ask as questions. We will have a Drizzle booth in the Expo hall for those who wish to come and have a chat.
Drizzle Developer Day
If you are at the MySQL conference and want to take part in shaping the future of Drizzle or just want to listen to talks about Drizzle development processes please come along to the Drizzle Developer Day which will be on Friday 15th April (the day after the UC).
One of the keys to Drizzle's success is the open development model. Anyone wanting to join in can see our documentation on the subject or contact us on the Freenode #drizzle channel and the mailing list.
In part 3 I will discuss the features currently planned and in-progress for future versions of Drizzle.