While MySQL has been open source-based from the start, the development process at MySQL has been fairly concentrated around the company itself. However, since 2006, the development model has changed, and it has generally entirely opened up:
- ensuring that our already-opened tools are open enough (our bugs system at bugs.mysql.com, and our source control system with BitKeeper)
- harnessing MySQL Forge for fun and profit (or saving time, using someone else’s scripts!)
- opening up Worklog, our detailed roadmap and specifications control system, for commenting on MySQL Forge
- opening internal documentation from our closed Wiki onto MySQL Forge Wiki
- opening our internal chat sessions, moving them from our closed IRC server to Freenode
- starting with the Quality Contribution Program (QCP), and getting rewarded
- patch reviews on the internals@ list (which is like the lkml equivalent for MySQL), with examples of the back & forth process before it gets into the patch queue; commits@ list for discussions surrounding commits
- how to submit a good patch for acceptance – this involves test cases, documentation, and following the somewhat strict coding guidelines
- examples of contributions that have made it into the tree, and how this happened
- learn to code MySQL, via MySQL University
- our recent summer of code participation also garnered us more patches
- working in a distributed environment – get used to it, as all developers in the company do, so should you!
- giving talks based on MySQL slides repository
- and so much more…
In this session, Colin shares the experiences so far, concentrating on building up the network of connections between internal and external developers. The focus is to lower the threshold for external developers and non-developers alike to contribute to MySQL.