17–19 October 2016: Conference & Tutorials
19–20 October 2016: Training
London, UK

Forking successfully

Colin Charles (Percona)
16:55–17:35 Monday, 17/10/2016
Open data & data science
Location: Windsor Suite Level: Intermediate
Average rating: ****.
(4.00, 1 rating)

What you'll learn

  • Understand the key considerations for choosing to fork (or not)


To the GitHub generation, forking is a concept that happens when one wants to make a branch and then submits a pull request for inclusion into the mainline source tree. Forking a project in the open source sense is a lot different: it can start with different goals and move in different design directions. The winner in the battle may not really be clear.

Forking has been studied deeply, but how one successfully forks is a whole other ballgame. If you have to fork and want to do it well, this journey through the MariaDB server world is for you.

Colin Charles outlines the goals of the MariaDB Project, how it was founded, how it managed to leapfrog features from the mainline MySQL, how it remained drop-in compatible with MySQL, how MySQL has managed to mostly catch up in terms of features in about six years, and how both projects have strong communities and user bases. At this point, it looks clear that MariaDB will be a successful branch, à la OpenBSD and NetBSD.

Building upon the work of Eric S. Raymond, David Wheeler, and Linus Nyman, among others, Colin also explores the OpenOffice.org/LibreOffice split, what happened within the Node.js/io.js world, and how SugarCRM and OpenSSL got forked and explains how not to do a fork—as in the case of Drizzle/MySQL.

Photo of Colin Charles

Colin Charles


Colin Charles is the chief evangelist at Percona. Previously, Colin was on the founding team of MariaDB Server, worked at MySQL, and worked actively on the Fedora and OpenOffice.org projects. Colin has been a MySQL user since 2000. He’s well known within open source communities in APAC and has spoken at many conferences.