MariaDB Server GitHub branches: Have your say

Many countries in the world right now are hosting elections, in fact, my own country’s election is tomorrow. MariaDB Foundation is also asking for you to make one more vote on our own kind of referendum.

We have recently had a request by a member of the community to change how we use GitHub, in a way that, in-theory, will make things easier for community contributors. I’ll explain the current situation, the proposal and then the poll.

Current situation

At the moment, if you want to develop a new feature for MariaDB Server, it needs to be developed against the latest version branch, which is the default branch when you view on GitHub. The new branch is typically created after the preview or RC release of the previous branch.

If, for example, you develop a feature against the 11.6 branch and the review cycle takes long enough that it will not land in 11.7 (this is relatively common), the commits will need rebasing against 11.7 when ready. This is quite a manual process by either the contributor or the reviewer. Depending on the permissions set by the contributor, it may not be possible for the reviewer to do this, causing bigger issues.

Proposed method

Otto Kekäläinen posted in the mailing list the recommendation that we instead use a fixed branch for new feature development called something like “main” or “trunk” and fork new versions from this. This is a more common contribution method for those who are used to using GitHub, GitLab and other similar systems.

This has the advantage of rebases become much simpler if something doesn’t get into the upcoming release, usually just a push-button in GitHub. There are potential downsides to this, such as it being a little more difficult for things to jump in if they miss the release train at fork time. There are also some unknowns around BuildBot, some of these concerns are outlined in Sergei’s reply to the mailing list thread.

The poll

With all that said, this is where you can have your say. Also, please feel free to add extra context to your choice in the comments.

Update: After 14 days of voting, the form was closed, here are the results:

Where should new MariaDB Server features go in future?
24%
(8 votes)
Versioned branch (current method)
76%
(25 votes)
Main / trunk branch (proposed method)
Total Votes: 33

Published by Andrew Hutchings

Chief Contributions Officer for the MariaDB Foundation