MySQL Blog Archive
For the latest blogs go to blogs.oracle.com/mysql
Contributing to MySQL Server

Do you have an idea for improving MySQL? Or do you see a problem in the code you think you can fix? Do you want to see your contribution becoming a part of the MySQL Server codebase?

MySQL Engineering gives you the opportunity of having your code considered for inclusion in one of our upcoming releases.

How to contribute?

These are the steps to follow:

  1. Make sure you have signed the Oracle Contributor Agreement (OCA).
  2. File a bug report at http://bugs.mysql.com
  3. Attach your code to the “contributor” tab in the bug report.

That is all.  At the time of writing, around 100 people have signed up as contributors to MySQL.

What happens then?

The bug system will automatically notify the Oracle manager responsible for monitoring contributions about the arrival of a new patch. In due course, the bug and the contribution will be assigned to a MySQL Server developer and the patch will be either accepted for inclusion or rejected. In the latter case, you will be notified and we will give you an explanation.

If the patch is accepted, it will be subject to the same scrutiny – code reviews and QA – as any change by a MySQL developer.  In particular,  we will ensure that the patch has proper test coverage and that it works all platforms that we deliver on.

Sometimes this means that  the patch will be completely rewritten, but even so, we will still acknowledge it as your contribution. Venkatesh Duggirala from the replication team has blogged about the work he did on Davi Arnaut’s patch for dynamic slave replication filters and in particular about some of the design decisions the replication team had to make as part of this implementation.

We get and welcome all kinds of contributions – some are minor fixes to our stupid mistakes, others are full-fledged features that turn into worklogs and are pushed to our milestone releases. To get an idea about what contributions we have taken in recently, you can take a look at the lastest 5.6.16 community release notes from my colleague Morgan Tocker.