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