2 kirigami fixes for a point release

Friedrich W. H. Kossebau kossebau at kde.org
Sun Feb 16 21:55:05 GMT 2020


Sorry, no time to rewrite to make this short.

Am Mittwoch, 12. Februar 2020, 21:59:32 CET schrieb Nate Graham:
> [+ frameworks and plasma mailing lists]
> 
> On 2020-02-12 11:31, Albert Astals Cid wrote:
> > El dimecres, 12 de febrer de 2020, a les 15:37:09 CET, Nate Graham va 
escriure:
> >> On another note, I have to admit I'm starting to doubt how well our LTS
> >> Plasma product works without a corresponding LTS frameworks release to
> >> support it. We can fix bugs in software that uses the Plasma release
> >> schedule till the cows come home, but if the bug is in Frameworks, users
> >> are stuck with it forever since LTS distros don't typically ship new
> >> Frameworks releases.

Yes, this has been questioned a few times. Also seeing Plasma LTS used 
together with a non-LTS Qt is a bit strange.
But somehow it seems there has not been enough pain for those using the Plasma 
LTS to change something. Possibly because distributions simply backport 
important bug fixes for KF themselves, kind of maintaining their own KF LTS 
version of the KF version they pinpointed to when they froze the ingredients 
to their OS. Because they are used to do this for other projects as well, and 
so miss this could be done in cooperation with upstream.

IMHO distributions using Plasma LTS, Plasma team & other stakeholders should 
team up here and maintain a matching LTS branch of Frameworks together at the 
central KDE repos together. Well, and a version also satisfying other clients 
of KF, like non-workspace applications from KDE.

It's not a reason to change normal KF release cycle.

BTW, we release our software in variants of GPL. We give distributions lots of 
rights by that license to do with the source code what they like, not what 
pleases us as authors. So we want to do cooperation here, not get into any 
form of commandeering them, as it starts sounding elsewhere in this thread.

If unsatisfied with the quality, make Plasma a trademark and hand it out only 
to distributions which are complying with the standards the Plasma team is 
fine with ;) 
Oh, look, an iceweasel is running over there... ;)

> >> Yes yes, they should, and all that--but they don't.
> >> 
> >> It seems like we either need to:
> >> - Work on convincing these distros to ship Frameworks versions in a
> >> rolling manner to their LTS users
> >> - Provide an LTS Frameworks product that can receive bugfixes and get
> >> point releases, to support the Plasma LTS product
> >> - Stop misleadingly offering a Plasma LTS product, since everything in
> >> it that comes from Frameworks isn't actually LTS
> > 
> > This should not matter, Plasma LTS is built on *lots* of other libraries
> > that are not LTS either.
> > 
> > If it matters is because the quality of KF5 releases are not good, that's
> > what should be fixed IMHO.
> Yes, the Frameworks 5.67 release was indeed was quite buggy and
> regression-filled from a Plasma perspective :(
> 
> However buggy releases are the proximate cause, not the root cause. We
> have to ask: what causes buggy releases?
> 
> I would argue that bugginess is baked into the Frameworks product by
> virtue of its very fast one-month release cycle and lack of beta
> periods, as there are for apps and Plasma. No matter how diligent patch
> review is, regressions always sneak in; that's why QA and beta-testing
> exist.

This assumes the master branch of KF modules serves the purpose of beta 
testing. My understanding is: it does not. And could not be, for the very 
reason you gave, too little time and too few testers.

The master branch's purpose is mainly to collect all changes for the next 
release, and serve as reference when merging dependent changes across multiple 
repos for CI. It should be in the state of "always releaseable".

Which also means patches going in should have seen a beta period by the people 
doing the patches _before_ merging them, and be well understood in their 
potential side-effects. Yes, this also means that for cross-repo/products 
developer should have first done some testing for some time with locally 
patched variants of all affected repos, if unsure about their changes (say, 
removing an unused variable is well understood in effect scope and does not 
need lots of testingi).
But by default crowd-sourcing the QA to fellow developers also working against 
current master and wanting to test-drive their own changes is not the way to 
go. For one they do not know they should test certain things and thus might 
not even get close to things, thus not do any testing, or it will conflict 
with their own work, when they cannot be sure it was their own change or 
someone else's which breaks things, wasting efforts in finding causes.

Needing longer beta test phases also hints that some product is not well 
understood or designed, and things fall apart easily. That needs fixing of the 
product itself, to become reliably maintainable and expandable.

Looking at the reasoning for the recent requests for KF tarball respins like 
"fix highly user-visible issues with scrollbars in QML-based apps" or "user-
visible UI bugs", this smells a lot like "was not tested properly before 
because no time left". Things like obvious UI regressions should have been 
catched before landing in official branches, independent of length of release 
cycle.

So: ensure QA before landing patches with KF master. With bigger changes make 
sure to have more testers before landing. If you are unsure about side-
effects, do not land a patch. If you are a reviewer/tester of a patch, tell 
what you reviewed and what your qualification to do so is (I have seen 
beginner developers waving in beginner developer patches, both missing obvious 
flaws in the patch, but seemingly reassuring each other they did proper work).
And never rush patches. If you are late for a dead-line, you are too late and 
quality of the patch will suffer from compromises on quality to make up for 
that. Just do not do that, but target instead the next release.
Things are ready when they are ready. (which also means, promise to deliver 
things only when they are done, not before, to not put yourself under 
pressure).

To do proper QA that also needs targeted testing and representative testers. 
I miss to see how that is organized with people running of git master to make 
sure that is effective beta-testing and catches 99% of regressions/flaws. And 
most such users being developers, the usage patterns might not even be 
representative.

There is at least KDE CI. to catch build errors and report unit test results. 
Now, Plasma 5.18.0 was tagged while KDE CI was not covering the 5.18 branch 
yet (because no one had triggered the global due-to-Jenkins-being-Jenkins-
needed manual build rerun after branch switching in the kde-buildmetadata, 
done only few days ago by me), and at least kde-ci-tools was in failing build 
state at the tagging time. Also is there a bigger set of repos with failing 
unit tests.

To be frank, and false politeness seems wrong here:
when it comes to bugginess here, it would rather rhyme that onto sluggishness 
for now, the one which needs to be overcome to do all basic quality work 
oneself and in time before going public with code, And master branch is the 
public for your developer fellows.

Cheers
Friedrich




More information about the release-team mailing list