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

Reply via email to