trinity-devel@lists.pearsoncomputing.net

Message: previous - next
Month: December 2011

Suggestion to drop [t|k]win from Trinity and replace it by KWin4

From: Martin Gräßlin <mgraesslin@...>
Date: Sat, 10 Dec 2011 19:35:32 +0100
Hi Trinity developers,

first of all: this is a serious suggestion and no try to troll you or anything 
in that area.

Today I did some bug triaging for old bugs reported against KWin. With old I 
mean bugs reported against KDE 3.1 till 3.5. While I did that I realized how 
many bugs we fixed in the window manager after the release of KDE 4. All of 
those bugs are still valid for KDE 3.5 and your users do not benefit from the 
fixes done by us. The last commit done to KWin 3.5 was on October 3rd 2008[1]. 
Since then we fixed 617 bugs[2] and implemented 119 user wishes[3]. Just think 
about theses numbers. All those fixes your users are missing... I also just 
did a short count on our commits and only last month we had more than 50 
commits, although we entered feature freeze. You see KWin is an active, 
maintained and developed project.

Some weeks ago I heard that Krita developers requested a different name for 
the fork in Trinity, so I did the same for the fork of KWin. Reason was that I 
had looked at some commits done to the fork some time ago and considered them 
all in the area from plain wrong to harmful. I just wanted to make clear that 
we as upstream developers do not have anything to do with the development of 
this product especially as none of the patches were presented for review (all 
changes to KWin are peer reviewed).

I had been thinking about the Trinity/KWin relationship for quite some time 
and todays triaging showed me that this just does not make sense. I do 
understand that you want to provide a KDE 3.5 desktop experience. This is 
great and I am all for it. But KWin 4 is a clear continuation of KWin 3. It is 
not a rewrite like other parts of the desktop. It is the same application, 
with more features, less bugs and in general a better performance. I am only 
aware of one feature that got dropped from KWin 4 and this could be easily 
maintained in a separate branch.

Working on a window manager and compositor comes with great responsibility. It 
is one of the most complex parts of the desktop environment and introduced 
bugs affect all users and can be really harmful and very difficult to debug. 
Developing a window manager is not trivial and you have to understand how the 
window manager works, which - with all respect - is not the case in twin[4,5]. 
This is not surprising - it took me more than two years to learn KWin and 
there are still many areas where I am glad to have a team which can review 
suggested changes.

Therefore I suggest to you to discontinue the work on twin and instead switch 
to KWin 4 as provided, developed and maintained by the KDE community. We are 
currently the window manager to three different desktop environments ranging 
from mobile to desktop. I am sure that we can support a fourth one which used 
to be the only one some time ago.

For Trinity this gives about 60 kSLOC less code to maintain and develop. It 
removes one of the most complex parts and gives you the possibility to work on 
what really matters: providing a KDE 3.5 desktop experience by maintaining and 
improving kicker and kdesktop.

Kind Regards
Martin Gräßlin

KWin maintainer

[1] http://websvn.kde.org/?view=revision&amp;revision=867241
[2] 
https://bugs.kde.org/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=&product=kwin&long_desc_type=substring&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&keywords_type=allwords&keywords=&bug_status=RESOLVED&bug_severity=critical&bug_severity=grave&bug_severity=major&bug_severity=crash&bug_severity=normal&bug_severity=minor&emailassigned_to1=1&emailtype1=substring&email1=&emailassigned_to2=1&emailreporter2=1&emailcc2=1&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&chfieldfrom=2008-10-03&chfieldto=Now&chfield=resolution&chfieldvalue=FIXED&cmdtype=doit&order=Reuse+same+sort+as+last+time&field0-0-0=noop&type0-0-0=noop&value0-0-0=
[3] 
https://bugs.kde.org/buglist.cgi?query_format=advanced&short_desc_type=allwordssubstr&short_desc=&product=kwin&long_desc_type=substring&long_desc=&bug_file_loc_type=allwordssubstr&bug_file_loc=&keywords_type=allwords&keywords=&bug_status=RESOLVED&bug_severity=wishlist&emailassigned_to1=1&emailtype1=substring&email1=&emailassigned_to2=1&emailreporter2=1&emailcc2=1&emailtype2=substring&email2=&bugidtype=include&bug_id=&votes=&chfieldfrom=2008-10-03&chfieldto=Now&chfield=resolution&chfieldvalue=FIXED&cmdtype=doit&order=Reuse+same+sort+as+last+time&field0-0-0=noop&type0-0-0=noop&value0-0-0=
[4] 
http://git.trinitydesktop.org/cgit/tdebase/commit/kwin?id=1f40ada72d693d681ec6a32c2ef717e8dd73b5bb
[5] 
http://git.trinitydesktop.org/cgit/tdebase/commit/kwin?id=9cc1e2c1aa2629d499e7555acd4906d6cc989cf9

Attachments: