Forking successfully
Forking in the open source world means going with different goals and design directions. How do you pick a winner? Colin Charles offers practical examples from the MariaDB world (MySQL fork), as well as lessons from other projects like LibreOffice, LibreSSL, SuiteCRM, and Jenkins. If you have to fork and want to do it well, this journey through the MariaDB server world is for you.
Talk Title | Forking successfully |
Speakers | |
Conference | O’Reilly Open Source Convention |
Conf Tag | |
Location | London, United Kingdom |
Date | October 17-19, 2016 |
URL | Talk Page |
Slides | Talk Slides |
Video | |
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.