Proposal unify back our release schedules
Nate Graham
nate at kde.org
Mon Apr 22 16:12:46 BST 2024
Ok, so happily I actually see quite a bit of agreement here, regardless
of what else we do.
1. Fibonacci bugfix releases are good, and we could benefit from having
Gear adopt these.
2. Severing implicit dependencies is a good idea. Shared libraries in
Gear are especially problematic and could benefit from being moved to
Frameworks.
3. Fast frameworks releases in some capacity are a benefit and we don't
want to lose this.
All in agreement? If so, that would be amazing.
---
Now, let's say we make Gear use Plasma's current release schedule by
syncing up the feature releases and adopting the Fibonacci bugfix
releases. If we don't end up changing Plasma's own release schedule then
we already make our promo store more coherent by letting the marketing
team do three big glossy announcements of user-facing products a year,
rather than being stretched thin for 6. Even if we make Plasma go down
to 2 releases a year, then we have two synced Gear+Plasma
"mega-releases" and 2 independent Gear releases--down from 6 to 4. Both
of these options would improve the promo story IMO.
---
Moving on, the biggest points of contention I see revolve around
Frameworks. Personally I want to push back a bit on the idea of
developing an app against released frameworks. This is only realistic if
you use a rolling release distro and are okay with waiting a month to
use the new Frameworks code. For users looking to contribute with common
discrete-release distros, it is not at all realistic as many Frameworks
consumers require versions newer than what those users have on their
system, so they have to build some Frameworks anyway (note: not all of
them; kdesrc-build/kde-builder are smart enough not to do unnecessary
work). The older the distro's packages, the more likely this is to be.
Furthermore, because Frameworks has time-based releases and no beta
releases, in practice the QA is provided by developers living on master.
If KDE developers deliberately avoid this, they're not participating in
QA. There are of course other ways to improve Frameworks' QA as well,
but continuing to encourage KDE developers to use distro-packaged
Frameworks goes against the larger goal: we can't QA software versions
we're not using.
While 12 releases a year of Frameworks feels fast, it's actually not.
Gear also has 12 releases a year: 3 feature releases and 9 bugfix
releases. And Plasma currently gets 18: 3 feature releases and 15 bugfix
releases. The lack of bugfix releases is notable. With Plasma if a major
bug is discovered a day after the release (which is common) I can ship a
fix within a week, whereas for Frameworks, it takes a month. This is not
a theoretical problem; it has happened many times over the years.
To me it has always felt strange that the product that benefits most
from stability gets 4 times as many yearly feature releases as Gear and
Plasma, but no bugfix releases at all. And there have been many
occasions oven the years where new features in Frameworks could have
benefited from a bit more QA time in master before final release.
In this sense I find Frameworks' release schedule to be both too fast
and too slow: too fast for new features and too slow for bugfixes.
Shouldn't the product with the strongest stability guarantee ship
bugfixes at least as fast as Plasma?
If Frameworks got a feature release every 2 or 3 months and a guaranteed
bugfix release one week after each feature release, IMO the result would
be much better. We could ship fixes for important bugs faster,
developers would be more incentivized to live on master and therefore
provide their own QA, the period of time during which issues with new
features could be caught before release would be doubled or tripled, and
we could even still have 12 total releases per year.
---
Thus, if we make Gear's release cycle identical to Plasma's to get it
faster bugfixes, and then we also lengthen Frameworks' release cycle so
it gets the bugfix releases it could benefit from while slowing down its
feature releases to improve QA, then the result looks a lot like Carl's
proposal, and that's ultimately why it looks appealing to me.
This doesn't preclude breaking implicit dependencies and relocating
software into groups/release vehicles more suited for them. I don't find
the argument convincing that we ought to deal with pain to make this
happen. IMO we should make decisions about the final form we want, not
based on what we think will torture us into getting there. :)
Nate
More information about the kde-devel
mailing list