Ist Kubuntu eine schlechte KDE Distribution?

Disclaimer: dieser Post stellt meine persönliche Meinung dar. Es ist meine persönlich Interpretation. Einige der genannten Punkte sind persönliche Einschätzungen und Vermutungen für die ich keine Belege habe. Dieser Post steht nicht in Verbindung mit irgendeinem Projekt für das ich ehrenamtlich arbeite und für Kubuntu bin ich nur ein Anwender.

Immer wieder lese ich, dass Kubuntu eine schlechte KDE Distribution sei, Canonical zu wenig für KDE macht, GNOME in Ubuntu viel besser integriert ist, etc. etc. Ich frage mich immer wieder woher diese Meinung kommt. Vorweg: ich halte sie für Quatsch.

Zuerst einmal frage ich mich: was macht eine Distribution zu einer schlechten? Für mich wäre es wenn die Distribution viel patcht und diese nicht nach Upstream durchgibt, oder sehr viele neue Features aus dem Entwicklungszweig importiert, etc. Da ich durch ein selbstgebautes KDE den direkten Vergleich habe, kann ich einfach mal sagen: Kubuntu patcht wenig. Ich kenne Distributionen, die bedeutend mehr patchen.

Nun möchte ich ein paar mögliche Thesen aufgreifen.
1. These: Canonical macht zu wenig für KDE
Dazu zitiere ich jetzt einfach mal Mark Shuttelworth:

(12:25:17 PM) jcastro: jcastro: QUESTION: Do you think Kubuntu is a blue headed step child that every seems to think it is? If not, can you put the rumours to rest, with possibly a song or a lovely poem letting everyone know just how much you really love us over in the Kubuntu community?
(12:25:31 PM) sabdfl: oh dea
(12:25:32 PM) sabdfl: r
(12:25:53 PM) sabdfl: this question makes me rather sad, because i don’t know what else i could do
(12:26:09 PM) sabdfl: i worked out the other day that i personally spend more than $2m a year supporting Kubuntu and KDE
(12:26:20 PM) sabdfl: and yet those communities think it’s cool to act unloved
(12:26:40 PM) sabdfl: i think the Kubuntu community’s work is amazing, and they should be proud of it
(12:27:07 PM) sabdfl: there’s no need to make out like it’s against the forces of corporate indifference
(12:27:19 PM) sabdfl: when in fact I and many others bend a long way to make it possible
(12:27:25 PM) sabdfl: that’s about enough on the subject

Wir sehen hier auch ein ganz wichtiges Wort: Community. Kubuntu ist eine Community Distribution – im Gegensatz zu Ubuntu. Wenn sich jemand über den “schlechten” Zustand von Kubuntu beschwert, könnte man auch ganz provokativ zurückfragen: Und was hast du gemacht um es zu verbessern?

Aber um das ganze noch ein bißchen weiter zu verfolgen, werfen wir mal einen Blick zurück. Kubuntu existiert seit 5.04, KDE 3.5 seit November 2005. Warum erwähne ich diese zwei Zeitpunkte? Mit KDE 3.5 hat sich die Entwicklercommunity KDE 4 zugewandt. Das Projekt stand für den Anwender im Prinzip still. Das Release von KDE 4.0 erfolgte Januar 2008, die erste wirklich nutzbare Version mit 4.2 im Januar 2009. Das sind mehr als drei Jahre.

Canonical war natürlich klar, dass KDE “eine Auszeit nimmt”. Für neue Versionen reichte es im Prinzip die aktuellste KDE Version zu paketieren. Neues kam von KDE kaum dazu. Neue Technologien wurden alle in KDE 4 eingebaut, KDE 3 hatte ja Stillstand erreicht. Wie hätte Canonical Neuerungen aus Ubuntu einbauen sollen? Hätten sie wirklich als junges Unternehmen, das keinen Gewinn abwirft, Geld verbrennen sollen, indem sie in KDE 3.5 investieren? Ja ich spreche bewusst von verbrennen, da die meisten Sachen gleichzeitig für KDE 4 entwickelt wurden.

These 2: Canonical/Kubuntu gibt nichts an KDE zurück
Nun das ist eine These, die wirklich absoluter Quatsch ist. Canonical/Kubuntu hat vielleicht nicht die Manpower um viele KDE Anwendungen zu schreiben, aber es fließt ständig etwas von Kubuntu zu KDE zurück. Ich möchte mal ein paar Beispiele nennen. Kubuntus SystemSettings sind heute der Standard in KDE, Kubuntus Katapult war ein Vorläufer des heutigen KRunners, Kubuntu hat die Druckerkonfiguration nach KDE portiert und in KDE integriert, Kubuntu Entwickler geben regelmäßig Bugreports an Upstream weiter.

Ach und ich möchte einfach mal erwähnen, dass der KDE 4 Port für OpenOffice.org von Kubuntu Entwicklern durchgeführt wurde und auch in anderen Distributionen nun zur Verfügung steht.

These 3: Kubuntu integriert nicht ausgereift Bestandteile
Nun an dieser These ist was dran. Kubuntu hat Dolphin recht früh integriert oder auch das Networkmanager Plasmoid. Schauen wir mal das Beispiel Dolphin an: Dolphin ist ein einfacher Dateimanager, dessen Zielgruppe ziemlich denkungsgleich mit der Zielgruppe der Kubuntu User ist. Kubuntu hat die Devise, das beste verfügbare Werkzeug für eine Aufgabe zu verwenden. Dolphin war in dem KDE 3 Port das beste verfügbare Werkzeug für einfache Dateiarbeiten. Konqueror ist ein Poweruser Werkzeug, welches viele Anwender überfordert. KDE selbst hat die Problematik ja auch erkannt, Kubuntu hatte es schneller umgesetzt.

Schauen wir auf den Networkmanager: nun das war wirklich katastrophal. Aber wie konnte es dazu kommen? In KDE 4.2 gab es noch keinen Networkmanager, jedoch wurde an einem gearbeitet und soweit ich weiß gab es die Aussage, dass dieses bis zur Releasewelle im Frühjahr in einem brauchbaren Zustand ist. Das war es am Ende jedoch nicht. Nun hätte man umdisponieren können? Ja man hätte weiterhin den KDE 3 networkmanager verwenden können. In Verbindung mit dem neuen Networkmanager aber auch ziemlich unbrauchbar oder man hätte den GNOME networkmanager verwenden können. Das wäre sicherlich die beste Option gewesen. Aber hätte man ihn mitsamt den Abhängigkeiten auf die LiveCD bekommen? Ich weiß es nicht.

These 4: Kubuntu hat $feature_von_Ubuntu nicht
Nun hier wieder der Verweis auf das schon oben erwähnte KDE 3/4 Problem. Hätte Kubuntu wirklich alle neuen Features implementieren sollen, obwohl gleichzeit in KDE an einer Lösung gearbeitet wird? Bestes Beispiel: Desktop Effekte. Compiz wird in Ubuntu seit 7.10 standardmäßig verwendet. KDE hatte zu diesem Zeitpunkt bereits Effekte in der Entwicklerversion integriert. Hätte man wirklich den Anwendern standardmäßig Compiz geben sollen? Man bedenke: KWin gilt als Fenstermanager mit bedeutend mehr Funktionen und besserer Stabilität.

Und hier möchte ich auch erwähnen, dass sich etwas grundlegend geändert hat. Neuerungen sollen nun auch gleichzeitig in Kubuntu integriert werden. Canonical hat viel Zeit und Geld in die Benachrichtigungen investiert und diese Neuerungen sind nun auch Bestandteil von KDE. Wie kommt’s? Nun KDE ist nun mit KDE 4 wieder aktiv in der Entwicklung. Neuerungen können einfach weitergegeben werden.

These 5: Kubuntu ist langsamer als andere Distributionen
Dies ist eine These, die ich immer mal wieder höre. Wenn man dann genauer hinschaut, wird meistens Arch mit KDEmod als hochgelobtes Land gepriesen. Arch ist eine Rolling Release Distribution und kann daher vom Releasemodell nicht mit Kubuntu verglichen werden. Meistens ist es einfach der Vergleich von Äpfeln mit Birnen.

Aber es gibt meiner Meinung nach eine einfache Erklärung für die immer wiederkehrende Behauptung, dass Arch mit KDEmod so viel schneller sei: KDEmod verwendet standardmäßig das Qt Graphicssystem “Raster” anstatt “Native”. Ja das ist schneller. Aber ob es eine gute Idee ist, darauf standarmäßig zu setzen, darf jeder für sich selbst entscheiden. Raster gibt es seit Qt 4.5, welches etwa zwei Monate vor Kubuntu 9.04 veröffentlicht wurde. Hätte man wirklich standardmäßig alle Anwendungen damit betreiben sollen? Bringt es überhaupt Vorteile bei allen Anwendungen? Ist es nicht sinnvoller die Entwickler der Anwendungen entscheiden zu lassen, die viel besser einschätzen können, ob man nativ braucht oder raster überhaupt Vorteile bringt? Meine Meinung dazu steht: lieber stabil und etwas langsamer als verfrüht auf ein neues Pferd zu setzen. Wer sich daran stört, ist bei einer bleeding edge oder rolling release Distribution besser aufgehoben

These 6: Kubuntus Übersetzungen sind katastrophal
Nun dazu gibt es nicht viel zu sagen: es stimmt. Jedoch ist größtenteils die Kubuntu Community unschuldig. Das größte Problem scheint wohl in Rosetta zu liegen. Ich gebe Kubuntu noch einmal eine Chance es mit 9.10 richtig hinzubekommen. Ach und wer jetzt gleich in den Kommentaren sich auslassen will, dass die Übersetzung in den 4.3 Paketen so katastrophal ist, bedenke bitte, dass 4.3 in Jaunty nicht unterstützt ist.

Zusammenfassend denke ich, stimmen die Anschuldigungen gegenüber Kubuntu und Canonical einfach nicht. Natürlich könnte einiges besser sein, aber das ist doch überall so. Der größte Knackpunkt sind meiner Meinung nach die Übersetzungen und ich hoffe einfach, dass Canonical da aus den Fehlern lernt.

Get Hot New Stuff in Aurorae

Dank Frank Karlitschek gibt es nun eine eigene Kategorie für Aurorae Themes auf kde-look.org. Er hat auch einen Get Hot New Stuff (GHNS) Provider hinzugefügt und ich hab diesen bereits implementiert und eine neue Aurorae Version veröffentlicht. Über GHNS kann man direkt aus dem Konfigurationsdialog neue Themes herunterladen. Hier der obligatorische Screenshot:

Von Aurorae

Es gibt mittlerweile schon einige Aurorae Themes und das ist einfach großartig. An dieser Stelle möchte ich einfach allen mal danken, die ein Theme erstellt haben. Einige Themes sehen richtig umwerfend aus und passen wunderbar zu einem Plasma Theme. Genau das wollte ich mit der Engine erreichen. Ein Beispiel für diese tolle Umsetzung ist das Gaia 09 Theme. Es ist schön zu sehen, wie viele Anwender die Theme Engine herunterladen und Designs erstellen, obwohl es mit der 4.3 Abhängigkeit nicht gerade einfach war (nun dieses Problem sollte seit gestern behoben sein).

Google Chrome OS: ein Angriff auf FLOSS

Google hat ja bekanntlich ein neues Netbook Betriebssystem angekündigt. Ich sehe dieses als größte Gefahr für FLOSS der letzten Jahre und ich hoffe und wünsche mir, dass es kein Erfolg wird. Der einzigen anderen Firma, der ich bisher nicht Erfolg gewünscht habe ist der Riese aus Redmond. Ich habe jetzt so sehr Angst vor Chrome, dass ich selbst mit dem Teufel, in Form von MS, paktieren würde, um dieses neue Betriebssystem zu bekämpfen.

Nun woher kommt diese Abneigung gegen Chrome OS? Laut der Ankündigung ist es doch Open Source. Also alles in Ordnung, warum sollte Open Source ein Angriff auf Open Source sein?

Nun allein die Ankündigung, dass es Open Source ist, ist ja schon der erste Punkt. Von Lizenz wurde noch nichts gesagt. Warum nicht freie Software? Ich gehe hier mal vom schlimmsten aus und denke es wird eine recht unhandliche Lizenz.

So schauen wir uns doch mal ein paar Schmankerl aus der Ankündigung an:

The user interface is minimal to stay out of your way, and most of the user experience takes place on the web.

D.h. Chrome OS wird nicht mehr sein als ein Browser. Alle Anwendungen laufen im Web. Nun ist es ja toll, dass Chrome OS komplett Open Source ist. Aber die Anwendungen, die man nutzt laufen auf Servern, nicht auf dem Gerät. Kann man da noch von Open Source sprechen? Wer hat schon den Code von GMail gesehen?

Wer Chrome OS benutzt, wird nicht nur seine Daten an Google geben, sondern auch die Berechnungen auslagern. Das Gerät wird ohne Internetzugang so gut wie unbenutzbar sein. Google ist schon eine Datenkrake, aber man muss sich bewusst machen, welche Daten sie mit Chrome OS in der Hand haben. Sie werden alles wissen. Sie werden wissen wie genau der Workflow aussieht, sie werden einen kontrollieren. 1984 – here we come. Ich hätte nie gedacht, dass der Angriff auf die Privatspähre in dieser Form nicht vom Staat ausgeht. Ganz klar: Stasi 2.0 ist Kindergarten dagegen.

Nun denn, der Leser mag sich denken: hey ich benutze doch die Webanwendungen gar nicht. Ich installiere einfach meine übliche Software und gut ist. Ist ja Linux – Chrome OS ist nichts mehr als eine weitere Distri. Tja leider nicht:

The software architecture is simple — Google Chrome running within a new windowing system on top of a Linux kernel.

Das entscheidende ist hierbei “a new windowing system” – es wird nicht X11 eingesetzt. Ach ja nicht weiter schlimm, X11 ist alt und verursacht viele Probleme. Ich plage mich tagtäglich damit rum. Aber es bedeutet viel mehr. All unsere freien Anwendungen verwenden X11. Keine GNOME/KDE/$DE Anwendung wird auf Chrome OS lauffähig sein. GTK+ und Qt müssten zuerst portiert werden. Window Manager wie KWin/Compiz/Mutter sind eng an die X11 Plattform angepasst und sind kaum portable. Diese sind nicht geschrieben worden mit dem Gedanken an andere Plattformen. Das heißt eine andere Benutzeroberfläche wäre nicht startbar, selbst wenn es jemand schaffen würde die Toolkits zu portieren.

Nun kommen wir dabei gleich zum nächsten Problem. Google spricht von einer simplen Architektur und nennt das Betriebssystem “lightweight”. Für mich bedeutet das, dass das windowing system so designt ist, dass es nur eine Anwendung ausführen kann: Chrome. Und wenn wir uns das Design vom Webbrowser Chrome anschauen, so stellen wir fest: hey das ist ja schon ein windowing system. Es hat eine Architektur, die pro Tab einen eigenen Prozess hat. Möchte man dies gut unter X11 erstellen, läuft es darauf hinaus, dass es ein eigenes Windowing System wird – vermute ich zumindest. Chrome scheint für mich bereits das komplette Windowing system zu integrieren.

Es gibt noch etwas was mir Angst macht: die Tatsache, dass die Ankündigung für Chrome OS während GCDS erfolgte. Google war Sponsor, wusste also, dass der Summit stattfindet. Für mich ist es kein Zufall. Für mich ist es ein Zeichen Googles, dass sie KDE und GNOME als überflüssig ansehen: “Lasst die mal diskutieren – hier das ist die Zukunft”. Ein sehr beängstigendes Zeichen.

Fassen wir zusammen: Chrome OS wird es unmöglich machen für existierende freie Software auf der Plattform zu laufen. Zusätzlich wird die komplette Berechnung auf die Server in Mountain View verlagert. Der Quellcode der Präsentationsschicht wird zwar freigegeben – ist aber recht wertlos. Es ist nur die Präsentationsschicht.

Ach und da ist noch ein anderes Problemchen: hat Chrome OS Erfolg, nimmt es unseren Marktanteil weg. Windows und Mac OS werden davon nicht wirklich beeinträchtigt werden. Für uns ist es aber eine Gefahr.

Hat Chrome OS keinen Erfolg, so steht FLOSS ziemlich schlecht da. Wir werden verspottet werden und es wird heißen, dass man mit freier Software und Linux doch keinen Erfolg haben kann. Dass das Produkt, was Google ausliefert, nichts mit dem existierenden FLOSS Stack zu tun hat, ist dann irrelevant. Egal wie, wir sind die Verlierer.

Chrome ist für mich eine riesige Gefahr und wir müssen gemeinsam den Leuten klar machen, was es bedeutet, wenn dieses “Betriebssystem” Erfolg hat. Niemand sollte es benutzen. Die Leute, die sich nicht so gut auskennen, werden den Angriff auf FLOSS nicht verstehen, wir müssen sie mit den Gefahren für sie aufklären. Chrome OS bedeutet die Verlagerung sämtlicher Daten und sämtlicher Berechnungen auf die Server von Google. Man hat keine Privatsphäre mehr. Google weiß alles. Sie wissen wie lange man auf youporn war, wie oft und was man zuvor und danach gemacht hat. Leute macht euch klar: mit Chrome gibt es keine Privatsphäre mehr. Das Verfassungsgericht hat uns letztes Jahr ein tolles neues Grundrecht gegeben. Seid stolz in einem Land zu leben, in dem die Vertraulichkeit informationstechnischer Systeme und die informationelle Selbstbestimmung grundrechtlich geschütz ist. Zerstört es nicht, indem ihr alles an Google gibt. Geben wir freiwillig unseren Schutz auf, schützt uns auch das Verfassungsgericht nicht mehr, wenn die Politik wieder begehrlich ist.

Gran Canaria Desktop Summit – persönliche Zusammenfassung

Die letzte Woche war ich auf dem Gran Canaria Desktop Summit, der erstmalig gemeinsamen Konferenz von GNOME und KDE. Ich muss sagen es hat sich gelohnt und hoffe, dass in Zukunft öfter aKademy und Guadec zusammen stattfinden werden.

Ich war am Freitag in Las Palmas angekommen. Das Wetter war bei weitem nicht so schlimm, wie ich befürchtet hatte – es war richtig angenehm. Der starke Seewind und die Bewölkung machten die Hitze durchaus erträglich. Trotzdem: die Sonne ist gefährlich – das sagt mir zumindest mein Rücken 😉

Am Freitag Abend war das erste Social Event gesponsort von Canonical. Es war somit die erste Möglichkeit die GNOME Leute kennen zu lernen. Wenn man sich so umgeschaut hat, sah man aber, dass die KDE Leute mit den KDE Leuten sprachen, die GNOME Leute mit den GNOME Leuten. War ja irgendwie zu erwarten – man kennt sich halt 😉 Dennoch gab es wohl auch einige Gespräche über die Grenzen hinweg und ich hab ein ausführliches Gespräch mit einem GNOME Shell Entwickler gehabt und Ideen ausgetauscht.

Am Samstag morgen begann die Konferenz – trotz Party am Vorabend gut besucht. Das Konfernzgebäude war einfach gigantisch. Die Mitarbeiter wurden aber wohl nicht richtig darauf vorbereitet, dass eine freie Software Konfernz nicht wie eine normale Konfernz ist. Bei Lightning Talks jeweils neues Wasser und ein Namensschild zum Rednerpult zu bringen ist irgendwie overkill 😉

Die Konferenz wurde von einigen Vertretern von Gran Canaria/Spanien eröffnet. Leider hab ich keine Ahnung was sie uns sagen wollten, da sie auf Spanisch gesprochen hatten. Am Besten war ein Redner der anfing mit “mein Englisch ist nicht wirklich gut, daher halte ich meine Rede auf Spanisch”. Bei schlechtem Englisch hätte ich ja was verstanden, bei Spanisch leider nicht.

Nach der Eröffnung folgten die drei Keynotes. Ich war ja besonders an der Stallman Keynote interessiert. Da er ja zuvor schon auf Mono rumgehackt hatte, hatte ich erwartet, dass er auf die Problematik eingeht. Und ich wurde in dem Punkt nicht enttäuscht: seine ganze Rede ging eingentlich um die Mono Problematik. Die Rede war sehr gut aufgebaut: er begann mit einem Rückblick auf die Qt Problematik und wie es zu GNOME führte. Dass damals die freie Software bedroht war, weil der einzige freie Desktop auf eine unfreie Komponente aufbaute. Er erwähnte auch, dass dieses Problem heute gelöst ist. Mit diesem Rückblick motivierte er die Mono Diskussion: da Microsoft Patente auf C# hat, stellt das Entwickeln in dieser Sprache seiner Meinung nach eine Gefahr dar. Es sei schwer zu sagen an welchem Punkt es gefährlich wird, einzelne Anwendungen sind ok, aber komplett darauf aufzubauen nicht. So könnte man sagen, dass Tomboy ok ist, weil man es problemlos durch Gnote ersetzen kann. Also falls MS jemals auf die Idee kommt die Patente einzusetzen, wäre nichts verloren. Wie sich am Anschluss seiner Diskussion zeigt, kennt er sich jedoch mit der Problematik nicht wirklich aus. Er weiß nicht welche Teile patentiert sind, er weiß nicht in wie weit MS versprochen hat, keine Patente einzusetzen und seine Argumentation dreht sich um den Punkt “MS ist böse, MS hat gesagt sie wollen freie Software zerstören, also dürfen wir keine MS Technologie verwenden”. Auch wenn ich persönlich die gleiche Argumentation für mich folge und daher C# nicht verwenden würde, klingt seine Argumentation in meinen Ohren als FUD. Besonders die Empfehlung Lisp anstatt C# als Sprache zu verwenden, ist nun ja irgendwie weltfremd.

Ich persönlich habe vor der Rede ja auch eine Meinung zu Stallman gehabt und die ist nicht wirklich positiv. Er hat tolles für freie Software geleistet, aber irgendwie glaube ich nicht, dass er heute noch die richtige Person dafür ist. Und leider wurde meine in diesen Punkten ablehnende Haltung bestätigt. Nach seinem Mono Bashing verwandelte er sich in “St. IGNUcius of the Church of Emacs”. Eine meiner Meinung nach sehr peinliche Vorstellung und ich habe mit niemandem gesprochen der dieses gut geheißen hat. Es gab zwar viel Gelächter und Applaus aber irgendwie glaube ich mitlerweile die Leute haben ihn eher ausgelacht als das gutgeheißen. Für mich war dieser Teil der Rede ein “nein ich will nichts mit soetwas zu tun haben”. Da sage ich dann doch lieber ich bin ein Open Source Programmierer und kein Freie Software Programmierer. Ich kann mir nicht vorstellen, dass Microsoft ihn Ernst nimmt, wenn er als “Heiliger” mit Heiligenschein auftritt. Für eine Keynote bei solch einem Ereignis eine sehr schwache Nummer und ich war nicht der einzige, der sich daran störte.

Nach den Keynotes folgten die ersten Talks – zuerst einige Lightning Talks mit zum Teil grandiosen Projekten. Am nächsten Tag begannen die eigentlichen Vorträge, jeweils vier gleichzeitig – ich muss noch einige Videos anschauen. Es wird an doch bedeutend mehr Stellen zusammengearbeitet als ich dachte.

Nachmittags begann dann die eigentliche aKademy mit einer sehr guten Keynote von Glyn Moody. Ein schöner Rückblick wie Freie Software die Welt bereits veränderte. Die folgenden anderthalb Tage war ich also damit beschäftigt mir Talks anzuhören 😉

Am Dienstag war mein freier Tag, da ich nicht im e.V. und somit nicht zur Hauptversammlung gehen konnte. Die Zeit ein bißchen am Strand verbracht und ein bißchen für 4.4 gehackt.

Mittwoch wurde die Konferenz in die außerhalb Las Palmas gelegene Universität verlegt. Obwohl sie erst 20 Jahre alt ist ohne Klimaanlage – recht überraschend. Zumindest war hier das Internet – im Gegensatz zum Konferenzgebäude – top. An jedem Platz Ethernetkabel und Steckdose. Perfekt für Akademy. Die erste BOF session betraf die Umstellung auf git. Der Raum war komplett voll und überhaupt nicht wie ein BOF sein sollte. Es gibt einiges zu tun und es haben sich einige Freiwillige gefunden. Grober Zeitplan bis zum 4.4 Freeze – also wohl noch dieses Jahr 🙂

Am Donnerstag war das wichtige Plasma/KWin Treffen und es wird einiges tolles kommen – ich verrate jetzt mal noch nichts. Wir haben tolle und ehrgeizige Ideen, die wir aber erst noch weiter ausarbeiten müssen.

Am Mittag war der Tourist Trip. Tja Tourist Trip auf Gran Canaria bedeutet wohl nur, man geht an den Strand. Dass wir dazu mit dem Bus zum Süden der Insel fahren mussten, verstehe ich nicht wirklich – schönen Strand gab es auch in Las Palmas. Am Abend ging es für mich dann zum Flughafen, da ich einen Nachtflug hatte (wie konnte ich nur so blöd sein – ich weiß doch dass ich im Flugzeug nicht schlafen kann).

Insgesamt war es eine richtig tolle Woche und ich freue mich schon auf die aKademy nächstes Jahr. Die Community ist einfach richtig toll und es macht super Spaß in ihr zu arbeiten. Auch mit den GNOME Leuten war es eine sehr angenehme Erfahrung – aber man sieht doch Unterschiede. Mir kam es eigentlich die ganze Woche so vor, als ob mehr KDE Leute anwesend waren. Vermutlich ein rein subjektives Wahrnemen, da wir alle beim Social Event das Kubuntu T-Shirt angezogen haben und bei den Vorträgen unsere Laptops benutzten und man daher überall nur KDE sah.

Eine neue KWin Fensterdekoration Theme Engine

Dies ist eine Übersetzung des Englischen Posts A new KWin window decoration theme engine

Ich habe mit der Arbeit an einer neuen Theme Engine für Fensterdekorationen begonnen. Das Ziel ist Themes für Dekos so einfach zu machen wie Themes für Plasma. Also nutzt es Plasma Technologien, insbesondere FrameSvg 😉 Hier ist ein Screenshot des aktuellen Stand:

Von KWin

Der Hintergrund der Dekoration basiert auf Air’s transparenten Hintergrund und die Icons… nun man sieht, dass ich kein Künstler bin (und serenity auch nicht, der den Schließen Knopf erstellt hat). Es gibt bisher auch nur einen Minimieren und einen Schließen Knopf. Wie man sieht wird KWin’s neue ARGB Dekoratioen benutzt und das Theme zeichnet eigene Schatten. Die Engine unterstützt jedoch noch nicht wirklich undurchsichtige Dekorationen und das ist einer der noch ausstehenden Todos. Aber es wurde auch entwickelt mit Gedanken an ARGB Dekos 🙂

Aktuell fehlen noch zwei Dinge: ein Name und Beispielthemes. Wenn jemand Ideen für Namen hat, bitte einfach einen Kommentar hinterlassen. Und wer Interesse hat ein Theme zu erstellen, soll mich doch bitte einfach kontaktieren.

Ach ich habe noch keinen Code ins SVN eingespielt, aber die Engine wird bald in playground zu finden sein. Es gibt da noch ein paar Blocker (zum Beispiel der fehlende Name), welche zuerst behoben werden müssen, bevor ich den Code teile.

Petition gegen Internetzensur

Es gibt eine öffentliche Petition gegen Zensursulas Pläne das Internet zu zensieren: Keine Indizierung und Sperrung von Internetseiten

Aktuell gibt es bereits über 4000 Mitzeichner, alle anderen öffentlichen Petitionen sind nur im dreistelligen Bereich. Durch das Mitzeichnen kann man denke ich sehr gut Zensursula zeigen, was die Bevölkerung von den Plänen hält.

Also an alle: auf die Seite gehen, registrieren, Captcha überwinden, auf Bestätigungsmail warten, Link in Mail anklicken, anmelden und mitzeichnen. Zeigt der Regierung was ihr von Zensur haltet!

Wir sind wohl also alle Pädokriminell

Nach Ansicht von Zensursula können nur 20 Prozent der Internetnutzer die lächerliche mit DNS Poisoning umgesetzte Sperre umgehen, und die sind zum Teil schwer Pädokriminelle. Frau von der Leyen: ich betrachte das als eine sehr schwere Beleidigung nicht nur mir gegenüber, weil ich seit über 10 Jahren in der Lage bin meinen DNS Server selber einzustellen und ich deswegen noch lange nicht pädophil bin, sondern auch gegenüber den 80 % der Bevölkerung, der Sie die Kompetenz absprechen ein 30 Sekunden Video bei YouTube zu verfolgen.

Ach ja Ihre Chefin wird morgen von mir Post erhalten, weil Sie gegen Ihren Amtseid verstoßen. Sie haben geschworen das Grundgesetz zu wahren. Eine willkürliche, geheime, nicht kontrollierte Sperrliste, bei der ein Aufruf einer dieser Adressen zu einem Strafverfahren und Hausdurchsuchung führen kann, verstößt gegen Artikel 5: “Jeder hat das Recht, seine Meinung in Wort, Schrift und Bild frei zu äußern und zu verbreiten und sich aus allgemein zugänglichen Quellen ungehindert zu unterrichten.” Das Internet ist eine “allgemein zugängliche Quelle.

Sehr schade, dass der Verstoß gegen den Amtseid in Deutschland keine strafrechtlichen Folgen hat. Ich war in letzter Zeit sehr oft von der Politik enttäuscht: Hackerparagraph, Vorratsdatenspeicherung und Bundestrojaner. Aber Zensursula ist einfach nicht mehr zu überbieten. Ich kann meine Gefühle, die das Vorgehen dieser Frau auslösen, nicht mehr in Worte ausdrücken.

Das Übersetzungsdilemma

Es ist mal wieder diese besondere Zeit des Jahres – ein neues Kubuntu Release steht vor der Türe. Wie so oft habe ich bereits aktualisiert und wie jedes halbe Jahr wieder, sind die Übersetzungen zerstört.

Zuvor hab ich Intrepid Ibex mit KDE 4.2 aus dem PPA benutzt. Übersetzung: top, fast 100 % alles vorhanden. Nach dem Upgrade auf Jaunty, war auch noch alles in Ordnung. Ja und dann, dann kamen irgendwann neue Updates. Und plötzlich war die Übersetzung wieder weg. Zuerst ist es mir nur in den Systemsettings aufgefallen, das plötzlich die Einträge auf Englisch sind, aber wenn man auf einen Eintrag klickt, öffnet sich ein deutsches Menü. Dachte mir natürlich “hoppla da sind wohl meine Spracheinstellungen durcheinander gegangen”. Also umgestellt auf Englisch, zurück auf Deutsch und es war immer noch gemischt. Na ja stört ja nicht weiter. Nach ein paar Tagen noch mehr Updates. Und mit jedem mal wird es mehr und mehr Englisch.

Tja was ist der Grund? Anscheinend hat wohl irgendein super tolles Tool gemeint sämtliche Upstream Übersetzungen aus den .desktop Dateien zu entfernen. Diese Dateien beeinhalten den Namen und eine Beschreibung eines Programms oder Plugins oder was auch immer und auch die Übersetzungen. Hier mal ein Beispiel aus Kubuntu
[Desktop Entry]
Name=Desktop Cube
Icon=preferences-system-windows-effect-cube
Comment=Display each virtual desktop on a side of a cube

Type=Service
X-KDE-ServiceTypes=KWin/Effect
X-KDE-PluginInfo-Author=Martin Gräßlin
X-KDE-PluginInfo-Email=ubuntu@martin-graesslin.com
X-KDE-PluginInfo-Name=kwin4_effect_cube
X-KDE-PluginInfo-Version=0.1.0
X-KDE-PluginInfo-Category=Window Management
X-KDE-PluginInfo-Depends=
X-KDE-PluginInfo-License=GPL
X-KDE-PluginInfo-EnabledByDefault=false
X-KDE-Library=kwin4_effect_builtins
X-KDE-Ordering=50
X-Ubuntu-Gettext-Domain=desktop_kdebase-workspace

Und jetzt die gleiche Datei, wie sie im KDE SVN ist (gekürzt auf nur 10 Sprache):

[Desktop Entry]
Name=Desktop Cube
Name[ar]=???? ??? ??????
Name[be@latin]=Rabo?y kub
Name[bg]=??????? ??????? ????
Name[bn]=??????? ????
Name[bn_IN]=??????? ????
Name[ca]=Cub d'escriptori
Name[cs]=Plochy na kostce
Name[csb]=Szescan pùltu
Name[da]=Desktop-terning
Name[de]=Arbeitsflächen-Würfel
Icon=preferences-system-windows-effect-cube
Comment=Display each virtual desktop on a side of a cube
Comment[ar]=???? ?? ??? ???? ??????? ?? ???? ?? ????? ??????
Comment[be@latin]=Pakazvaje virtualnyja rabo?yja sta?y na bakoch kuba
Comment[bg]=????? ????????? ??????? ???? ?? ??????? ???? ?????? ?? ???
Comment[bn]=?????????? ????????? ??????? ???? ????-?? ???? ?????
Comment[bn_IN]=?????????? ????????? ??????? ???? ????-?? ???? ?????
Comment[ca]=Visualitza cada escriptori virtual a la cara d'un cub
Comment[cs]=Zobrazuje každou virtuální plochu jako stranu krychle
Comment[csb]=Wëskrzëniô wirtualny pùlt na scanie szescanu
Comment[da]=Vis hver virtuel desktop på en side af en terning
Comment[de]=Zeigt jede virtuelle Arbeitsfläche auf einer Würfelseite an.

Type=Service
X-KDE-ServiceTypes=KWin/Effect
X-KDE-PluginInfo-Author=Martin Gräßlin
X-KDE-PluginInfo-Email=ubuntu@martin-graesslin.com
X-KDE-PluginInfo-Name=kwin4_effect_cube
X-KDE-PluginInfo-Version=0.1.0
X-KDE-PluginInfo-Category=Window Management
X-KDE-PluginInfo-Depends=
X-KDE-PluginInfo-License=GPL
X-KDE-PluginInfo-EnabledByDefault=false
X-KDE-Library=kwin4_effect_builtins
X-KDE-Ordering=50

Ich denke man sieht den Unterschied. Das ist mit jeder dieser Dateien passiert.

Aber es wäre doch gelacht, wenn das alle Probleme wären. Nein die KDE Templates in Rosetta sind durcheinander geraten. Jemand kam auf die Idee die Templates zwischen den Quellcode Paketen zu verschieben. Das führt dann dazu dass ganze Anwendungen nicht mehr übersetzt sind, obwohl sie Upstream übersetzt sind und das nicht nur im Deutschen, nein in allen Kubuntu Lokalisierungen.

Der Ansatz von Rosetta vor vielen Jahren war ja mal ganz gut. Leider funktioniert es immer noch nicht und egal was für eine Lösung man hat: Upstream Übersetztungen müssen einfach bevorzugt behandelt werden. Wenn es Fehler bei Upstream gibt (was der einzige Grund wäre, die Übersetzung zu ändern), dann muss das Upstream korrigiert werden und nicht in jeder Downstream.

Das Dilemma kann man hier nachlesen: https://lists.ubuntu.com/archives/ubuntu-translators/2009-April/002313.html

Ach ja, Hoffnung gibt es für mich auch. In etwas mehr als einem Monat kommt die Beta von 4.3 und ich werde wieder mit schönen Upstream Übersetzungen und nicht kaputten .desktop Dateien versorgt und muss nicht länger diesen Deutsch/Englisch Mischmasch ertragen.

Einige nicht so wabernde Neuigkeiten aus dem Land der wabernden Fenster

Dies ist eine Übersetzung des englischen Posts Some not so wobbly news from wobblyland.

Seit langer Zeit kein Post mehr über die letzten Änderungen in KWin, also werde ich mal ein paar neue Feauters vorstellen.

Es wurde einige Arbeit in die Verbesserung der Tabbox (alt+tab), wenn kein Effekt genutzt wird, investiert. Andreas Pakulat hat eine Umrandung für das ausgewählte Fenster wie in KDE 3 hinzugefügt. Die Tabbox hat eine visuelle Auffrischung erfahren und nutzt nun den Plasma style. Hier möchte ich Nuno danken für seine tolle Hilfe das ganze schön zu machen. Ein paar Pixel hier und da hinzufügen – ich hätte das nicht geschafft.

Nichts ist so gut wie ein Bildschirmfoto:

Plasma styled tabbox mit Umrandung
Plasma styled tabbox mit Umrandung

Aber das ist nicht alles was verbessert wurde. Einige könnten festgestellt haben, dass sie einen Effekt aktiviert haben, aber dass er einfach nicht funktioniert. Das kann verschiedene Ursachen haben: man versucht einen OpenGL Effekt zu aktivieren, aber man benutzt XRender oder der Effekt benötigt OpenGL Shader, aber die Hardware oder die Treiber unterstützen diese nicht. Um das Problem zu lösen, wäre die beste Lösung die nicht unterstützten Effekten im Plugin Wähler zu deaktivieren. Aber das ist nicht möglich, da man die Effekte auch ändern kann, wenn Compositing temporär oder dauerhaft ausgeschaltet ist. Daher bringt es nichts auf OpenGL zu testen und wir können die Effekte nicht einfach in der GUI deaktivieren.

Um etwas Feedback an den Anwender geben zu können, wird eine Benachrichtigung angezeigt, wenn die Effekte geändert werden und man hat einen nicht unterstützten Effekt ausgewählt. Es wird einfach überprüft welche Effekte geladen sind und welche in den Einstellungen ausgewählt wurden.

Benachrichtigung für nicht unterstützte Effekte
Benachrichtigung für nicht unterstützte Effekte

Wir haben auch eine D-Bus Methode toggleCompositing um compositing temporär auszuschalten und wieder zu starten hinzugefügt. Diese wird bereits von PowerDevil benutzt wenn die Option Compositing auszuschalten gesetzt ist. In diesem Fall wird auch eine Benachrichtigung gezeigt, welche mitteilt mit welchem Tastenkürzel Compositing wieder gestartet werden kann.

Und nicht zuletzt gibt es nun ein neues On-Screen-Display, welches angzeigt wird, wenn man den virtuellen Desktop wechselt. Es ist auch Plasma styled und sieht wie der Pager aus. Der neue Desktop wird hervorgehoben und Pfeile vom alten zum neuen Desktop werden angezeigt. Bitte meckert nicht, dass es nur eine Kopie von Mac OS ist – natürlich ist es davon inspiriert. Aber es ist besser. Jemals auf das Mac OS Spaces OSD geschaut? Sieht es aus wie die anderen Bereiche der Arbeitsfläche? Nein sieht es nicht. Unser OSD benutzt den Arbeitsflächen Stil, also ist es besser integriert 🙂

Dieses OSD ersetzt den alten Popup. Also muss man nur die Option “Namen der Arbeitsfläche beim Wechsel anzeigen” auswählen um das OSD zu erhalten. Falls jemand das alte Popup weiterhin haben möchte: bitte eine Nachricht hinterlassen. Wenn ein Bedarf besteht, werde ich eine Option hinzufügen um zwischen OSD und Popup zu wählen.

Desktop Wechsel OSD
Desktop Wechsel OSD

Und da ein Bild die dynamischen Animationen nicht zeigen kann (Plasma hat dafür wirklich tolle Möglichkeiten), ist hier das Video (Link für Planet Leser):

KWin Effekte in Windows Vista

Es gibt seit einer Zeit einen Feature Request um KWin auf die Microsoft Windows Plattform zu portieren (siehe Bug 182700) und wir haben im Geheimen mit der Portierung nach Microsoft Windows Vista begonnen. Und heute sind wir froh verkünden zu können, dass es mit KDE 4.3 ein erstes Release for die Microsoft Windows Plattform geben wird.

Natürlich ist die Portierung einer Anwendung, welche so eng mit der X11 Plattform verzahnt ist, keine einfache Aufgabe. Daher haben wir uns entschlossen keine Fenstermanager Funktionen in der ersten Version bereitzustellen. Es wird nur Compositing Unterstützung geben. Microsoft erlaubt den Zugrif auf Vista’s Aero Funktionen und daher mussten wir nur ein Direct3D Backend implementieren. KWin’s Compositing Unterstützung ist sehr modular und es gibt mit OpenGL und XRender bereits zwei Backends. Daher war das Hinzufügen von Direct3D Unterstützung nicht schwierig. Also haben wir eine neue scene_direct3d.cpp Datei angelegt, welche das Compositing genauso handhabt wie die bereits existierende scene_opengl.cpp.

Eine kompliziertere Aufgabe werden die EffectWindows, welche ein Fenster in den Effekten darstellen. In der bestehenden Implementierung sind diese mit X Clients verzahnt: managed, unmanaged und deleted Clients. Diese Typen haben eine Elternklasse TopLevel. Also mussten wir eine neue Client Implementierung namens WindowsWindow erstellen. Wir sind nicht in der Lage diese Fenster zu verwalten, da – wie gesagt – die Portierung der Fenstermanager Funktionen zu schwierig ist. Für die Effekte ist also alles transparent, nichts ändert sich. Wenn ein EffectWindow in X11 angesprochen wird, dann ist es ein managed oder unmanaged client, in Microsoft Windows ein WindowsWindow.

Natürlich erlaubt unsere Effekte API Zugriff auf die Fensterverwaltung. Es wäre lachhaft, wenn man den Würfel hat, aber die Arbeitsfläche nicht darüber wechseln kann. Da die Microsoft Windows Plattform das Konzept der virtuellen Arbeitsflächen nicht kennt, können wir natürlich diese API Aufrufe nicht bereitstellen. Also mussten we einen WindowsEffectsHandler Implementation erstellen welche Zugriff auf all die Funktionen auf Grund der API Kompatibilität bereitstellt und Standardwerte zurückliefert. effects->numberOfDesktops() wird immer 1 zurückliefern. Daher werden Effekte welche effects->numberOfDesktops() > 1 voraussetzen nicht funktionieren. Daher keinen Würfeleffekt 🙁

Wir haben nun einen Punkt in der Portierung erreicht, in dem wir zuversichtlich sind alle wichtigen Effekte portiert zu haben bis zum Hard Freeze. CoverSwitch und FlipSwitch funktionieren bereits, auch kleinere Effekte wie MagicLamp und die MinimizeAnimation sind fast fertig (wir haben immer noch Probleme die Icon Position zu ermitteln).

Ich denke mal es ist Zeit einen Screenshot vom aktuellen Stand zu zeigen. Da FlipSwitch einer der ersten Effekte war, welcher 3D in KWin verwendet, habe ich diesen Port als erstes fertiggestellt und hier ist er:
KWin FlipSwitch in Windows Vista

Leider hat sich niemand vom KWin Team für die Windows 7 Beta Lizenz beworben, daher waren wir bisher nicht in der Lage mit der kommenden Windows Version zu testen. Wir hoffen, dass Microsoft die Chance in einem guten und funktionieren Compositor für ihre Plattform sieht und hoffen, dass sie uns alle benötigte Hilfe inklusive Lizenzen für die neue Version bereitstellt.