The perils of long development cycles

As for today, latest version of systemd is v231, released in July 2016. This is the version that will be in Fedora 25 (to be GA in three weeks). That's quite a long time between releases for systemd – we used to have a new version every two weeks.

During the hackfest at systemd.conf 2016, I've tried to tackle three issues biting me with Fedora 24 (v229, released in February this year) and F25. The outcome was… unexpected.

First one was a minor in issue in networking part of systemd suite. Data received via LLDP protocol had last letter cut off. I started searching through networkd code, looking for this off-by-one error. But it looked different, the output I was seeing didn't match the code. Guess what? LLDP presentation was reworked shortly after v229. The rework fixed the issue, but Fedora 24 newer received the backport. Which is fair, as the issue was cosmetic and not really important.

So I gone through another cosmetic issue which was annoying me. In list-timers display, multi-byte characters in day names were causing columns to be misaligned. I've discussed the issue as it appeared in Fedora 25 (v231) with Zbyszek during the conference, and I was ready to fix it. Again, I wasn't able to find the code, because it was reworked after v231 and the problem was corrected. I just wasted some time digging through codebase.

Last issue, which I didn't have time to chase, was more serious. Sometimes output from services stopped appearing in journal. It turned out to be genuine bug (#4408). Zbyszek fixed it last week, it will be in v232. This is serious flaw, the fix should be backported to v231 in Fedora 25 and other stable versions.

In summary, long development periods increase the need to do backports, escalating the workload on maintainers. Delays cause contributors using stable versions to lose time looking through evolved code, which may no longer be buggy. Prolonged delays between stable releases make the distributions ship old code. Even Fedora, which tries to be first.


Comments powered by Disqus