Applications Lifecycle Policy
Martin Flöser
mgraesslin at kde.org
Wed Jul 5 20:37:09 BST 2017
Am 2017-07-04 13:20, schrieb Jonathan Riddell:
> The applications lifecycle policy needs an update
>
> Is this a good current state of it or are there more stages?
>
Hi all,
I'm now going to propose a rather radical change to the process:
1. Remove extragear
2. Remove playground
3. Remove the 2 week Review process
Let me explain the reasoning.
Extragear: to me extragear is a relict from the time of the big one KDE
svn trunk repository. There was "KDE" and everything else, aka.
extragear. When I started to compile KDE software it looked to me like
something created from the needs of SVN. A technical thing. Now we have
git and we have split up all those parts which used to be KDE, except
for extragear. Where is the difference between Krita (to my knowledge
not part of extragear), Amarok (to my knowledge part of extragear) and
Dolphin (to my knowledge part of KDE Applications)? Honestly I don't see
it.
Let's just remove it and separate into applications released as part of
a larger bundle for release simplification and applications having their
own release cycle.
With extragear gone I don't really see the need of playground any more.
Playground applications are just like all the other things, except that
they did not go through KDE Review. Which brings me to the next point:
remove the review.
To me the review process always felt weird and also like a relict from
other times. I contributed to overall KDE something like 100 k lines of
new code - none of them went through review. Would KWin pass review
today? Just for the fun I opened up Krazy and see 444 open issues.
Objectively speaking KWin is known as one of the products with highest
quality in the KDE area and one of the window managers with highest
quality and the Wayland compositor with largest test coverage. On the
other hand it would fail our rules for review (granted Krazy reports so
many false positives in the case of KWin, that I didn't check for
years).
KWayland entered frameworks without review. How come? Well it moved from
Plasma to frameworks, so no review needed. How did it enter Plasma? Well
it was split out of KWin. Back then it was a few files providing a very
minimal library for Wayland clients. If we had started in Playground we
would have had to go through review - today it's a code base of 50 k
(according to cloc). Similar if we would have started a new Wayland
compositor from scratch it would have had to go through review, but by
extending KWin that was never needed.
I see that the review process is there to ensure a "baselevel quality".
But what is afterwards? When did KWin go through review? When Matthias
forked it from KWM, or was it covered by KWM? That makes something like
15 years of nobody looking at this baselevel quality. Would we have
needed it sometimes? Hell yes! Think of the compositor introduction, the
xcb port, the Wayland port. To large parts like new products, but we
passed review once (if at all) so it was no longer needed.
Similar we see now for Kube. If it would have started as a "KMail 3" no
review would be needed, but as Kube it needs to go through review.
That's arbitrary. If I would start a new project I would think that this
process is a joke. The quality just doesn't get measured any more after
review.
Today I think there are way better things to measure the quality than a
two week process on kde review:
* how many unit tests does a project have?
* how large is the test coverage?
* how often do tests fail on build.kde.org?
* how often does the build fail on build.kde.org?
* is it translated?
* does it have appstream data?
* is the code getting reviewed?
* is the project a one person show?
* ...
So instead of a one time review I would propose a continuous review of
the projects and make it available in an easy accessible way so that
users can also see the objective quality of the application. And yes
that would mean that many long standing applications would have a way
lower quality than the new kids on the block.
For KDE Applications, Plasma and Frameworks I expect to have additional
rules for integration. Frameworks already has them, Plasma kind of has
them, but I think they are not codified and KDE Applications could e.g.
start with the current review process.
So to sum it up: I don't think there is a need for extragear and
playground any more. When a project starts it should have the same
rights and obligations as any other current extragear app. In addition
we should come up with measurable quality facts and make them available
to the community.
Cheers
Martin
More information about the kde-community
mailing list