Contributions to Free Software in 2025
Categories: FreeBSD, Sysadmin, The Real Life.
Three years ago, I started working on wtr(1) (Work Time Recorder), a time tracking system that complies with my intolerance to toil but allows me to track the time spent on projects for work (as one would expect) and for fun (as one might not have expected). Time tracking happening without me having to think about it, I try to track all "major" projects or at least each "organization" I am involved in in my contributions to Free Software.
I now have 2 full years of metrics, and so can compare them and maybe learn a few things! First, let's see a fancy graph similar to the one produced by GitHub for my overall activity over 2024 and 2025:
Beside showing obvious periods of vacations, this view provide a few interesting metrics:
- The number of days with/without activity recorded for the full date range (578/731);
- The median duration of activity recorded by day (9:16:15)
- The total duration of activity recorded for the full date range (223 days 17:43:32)
First, keep in mind that wtr(1) count "days" as "24 hours days", not as "8 hours man days". So it happens that on a single day above (2025-05-28), wtr(1) recorded 1 day and a half of activity… How come?! Let's dig in and ask wtr(1) about what was worked on on that day:
romain@zappy ~ % wtr on 2024-05-28 wtr since 2024-05-28 until 2024-05-29 Blogreen 5:44:20 Opus-Codium 16:28:30 Riemann 8:21:10 Vox Pupuli 5:59:10 --------------------------------- Total 1 day 12:36:30
wtr(1) track time per project, and multiple projects can be active at the same time. So we can safely assume that while working on Opus-Codium infrastructure, I also had to touch my personal (Blogreen) infrastructure, some Riemann projects, and some Vox Pupuli modules… But wtr(1) will not be able to tell me more: it only tracks the time spend on each project, but cannot guess what is being done.
We know however in which project to look for activity, and see that I worked mostly on Opus-Codium infrastructure (as we guessed). Among the things I did, I worked on improving the monitoring of our ZFS pools in riemann-tools. Because this feature did not existed yet, the time I spent creating it was added to both Opus-Codium (the organization that needed the feature) and Riemann (the organization where the development took place). So it is not unusual to see more way more that 8 hours of activity if you track multiple projects.
The actual data
In wtr(1), I added a floss tag to Free-Software projects, so I can use this tag to report the total time spent on each project by year to compare 2025 to the previous year:
romain@zappy ~ % wtr last 2 years by year on +floss
wtr since 2024-01-01 until 2025-01-01
ccin2p3 3:31:20
Choria 2 days 7:08:00
Debian 18:30
FreeBSD 8 days 6:38:20
OpenSearch 1 day 8:04:50
Puppet 6 days 21:22:05
Riemann 4 days 13:52:20
syslog-ng 1 day 10:34:00
Vox Pupuli 7 days 3:15:00
wtr 13:39:20
---------------------------------
Total 32 days 16:23:45
wtr since 2025-01-01 until 2026-01-01
ccin2p3 22:36:00
Choria 12:56:50
FreeBSD 9 days 15:57:20
OpenSearch 2 days 6:45:00
OpenVoxProject 9 days 12:46:50
Puffy 5:22:40
Puppet 17:38:40
Riemann 2 days 18:52:20
Rspamd 59:20
syslog-ng 1 day 6:18:50
Vox Pupuli 10 days 19:24:40
wtr 1 day 3:19:00
---------------------------------
Total 39 days 22:57:30
I think that a few things are worth noticing, so let's break down this list (skipping some entries of lower interest) with the variation of work time recorded compared to the previous year.
Choria (-76.517 %)
While 2025 looks quite idle compared to 2024, in reality 2024 has been extra busy. I got kind of "sponsored" to spend some days refactoring and improving the Choria puppet modules to reduce the maintenance burden. Last year was therefore back to usual, only requiring a few hours of contributions.
Given the Puppet situation (see bellow) and the way Choria is evolving, I cannot yet predict how this will change in the next years.
FreeBSD (+16.772 %)
Activity on FreeBSD has been overall quite similar to the one of the previous year.
I expect similar figures for next year, or maybe a slight increase given that Perforce has stopped releasing Puppet versions but OpenVox packages are now being shipped (see bellow).
OpenSearch (+70.664 %)
I am quite surprised by this one. I needed some tooling for a customer, and started to monitor the time spent on this project wondering if adding it to wtr(1) was worth the time. It happens that the tooling has been so helpful I still continue to work on/with it on a regular basis to audit the OpenSearch clusters I manage.
Next year will probably see a decrease unless a customer hires me to tweak or setup a new cluster.
Puffy (n/a %)
Puffy is an old project with low maintenance needs, but I recently had to add a new feature so though it would make sense to track the time spent there because a few times a year, I have an edge-case that require a bit of work.
I do not expect activity to increase on this project in the next years as the goal of this project is to express firewall rules for a bunch of hosts in a network in an error-prone way, but the design of netfilter gets in the way when you try to bend it to fit in the clear and simple design of pf.
Puppet (-89.330 %) / Vox Pupuli (+51.481 %) / OpenVoxProject (+n/a %)
Big changes here! End of 2024, Perforce announced the end of the Open Source version of Puppet. Maintenance of Puppet by Perforce was already almost nonexistent, but as one would guess, the situation just degraded further. The Vox Pupuli community had to fork the project and created a new sub-community called OpenVoxProject, which I promptly added to my wtr(1) configuration. I now try to minimize the time I spend doing free work for Perfoce (which is easier to say that to do given that they own a bunch of "base" modules they do not maintain much and for which I can merge PRs and publish new versions. From time to time we have to fix bugs and do a release). I rather invest time in helping with the OpenVox fork.
In the next years, I will continue to work preferably on the community tooling of the OpenVox project and I would be happy to reduce further the time I spend on Puppet.
Riemann (-39.136 %)
Not much has changed in the Riemann ecosystem during the last year, but I have found a new thing to play with that may end-up with changes in the future. I try to normalize fields in logs I collect, and while it only scratch the surface, Elastic Common Schema (ECS) seems worth a try.
Depending on how we adopt it at $WORK, we might need to contribute some ECS bits to the Riemann ecosystem.
syslog-ng (-12.303 %)
While syslog-ng is mostly feature-complete, but from time to time a new edge case require some development (and the software regularly gains new capabilities). Last year was similar to the previous one on regard to this.
I would not be surprised that my ECS evaluation brings new needs for syslog-ng, and will be happy to work on them if so. On a side note, working with the syslog-ng folks is always a breeze.
wtr (+100.041 %)
The project is now almost 3 years old, and I realize that no release has even been tagged. I guess that I rely on it enough to consider it production ready, so a 1.0.0 release is due!
Conclusion
Not all projects I work on are configured in wtr(1), so this list is not exhaustive and some time has not been tracked. But globally, this tells that each year, I basically spend one full month contributing to Free Software. I feel like this has been quite stable in the past years, but wtr(1) will help me to track this in the future, and confirm if what I think matches the reality.
According to wtr(1), it took me ~5 hours to write this blog post. That feels a lot, and I am sure I could have spend less time rewording paragraphs, but this blog has been silent for almost 10 years and the front page highlighted the availability of some software that reached EOL 5 years ago, so an update was really needed! I secretly hope that I will be able to at least do a similar post each year, avoiding this website to look deader than an old movie of George Romero.