Year in Review: Calamares
It’s the start of a new year, which means some retrospective – let’s look at what happened in Calamares in 2021. Calamares is an independent Linux system installer. Independent in the sense that it is developed outside of any specific distribution, but it supports Arch derivatives, Debian, Fedora derivatives, and openSUSE derivatives. KDE Neon and KaOS. Probably Gentoo and Slackware and Nix, also, although I haven’t heard of any. Some day it will install FreeBSD, as well.
Calamares was started in 2014, back then mostly by Teo, Anke, Aurélien, with a changing cast of characters. I can find over 100 different contributors in the git history.
Commit Stats
Not that commits are all that interesting, but:
- 31 different contributors in 2021
- 1200 commits during the year.
One of the things to conclude from that is “it’s not just me”, but there is an active community of contributors. If I had to characterize us all, I’d say that I’m the janitor, plugging away on internals and infrastructure and making sure the parts all play together, while other people contribute neat features and bugfixes.
I don’t anticipate what distro’s want; I do listen to what they ask for and try to build things that the distro’s can then innovate with.
Releases
Calamares releases on a short-cycle. That is, roughly every two weeks there is a release regardless of what has landed. I wrote about the development process on the Calamares site a while back, but I realise I didn’t particularly write down what the development cadence is.
- git alligator branches,
- it’s always summer in trunk (well, in branch calamares which is the primary development branch),
- automated releases by script, whenever I press the button.
Basically every two weeks I run RELEASE.sh
and the things happen. All I need to
do then is upload a tarball. These regular releases mean that new things arrive
relatively quickly, and we don’t end up bogged down by long-slow-moving-branches
that tackle difficult bugs. It also means that a particular bug might be serious,
and still not fixed over several releases because it doesn’t land until it’s fixed in some issue-branch.
There were 22 releases of Calamares in 2021. And one release of Calamares-Extensions. That’s roughly every two weeks, allowing for some summer vacation and the like. Sometimes hotfixes happenend: only days between releases. Sometimes things were slow, or unintentionally bogged down: may and june saw no releases at all.
Community
Notable new names in the community are Evan, who has recently submitted lots of new feature work around ZFS, followed by bugfixing all over, Artem who shows up with interesting UI improvements, and Matti who wrote BTRFS things. Anke continues to be a prolific bug-fixer and chaser-of-reported-issues.
In May there was some shake-up in the community as the communications-channels moved from one IRC network to another, and then primarily to Matrix. Thanks to KDE community supervision, there’s pretty good bridging between the Libera.chat IRC and the Matrix channels for Calamares. A couple of have-been-idling-forever accounts went away, but the discussion is still going on (slowly: really most of what needs to be said happens in issues and pull requests).
For 2022
Let’s keep doing the thing.
For releases and versioning, there is a rough plan as follows:
- the 3.2 series (now at 3.2.50) is going to come to an end,
- a 3.3 series will be released as an LTS version,
- this will bump the requirements for Calamares from 2014-era to 2022-era
- ABI stability checking
- bugfix-only releases
- a 3.4 series will follow the same style as 3.2 did: short-cycle
The big-ticket item before 3.3 is really one of cleaning up the internals of libcalamares so that it “feels right” to have it as an LTS. I do not have a handle yet on how long it will take for that stability to be reached.