Lobbyisten aller Welt vereinigt euch!

Und noch ein interessanter Link: Da soll mal noch einer sagen, dass wir Nerds keinen Einfluss auf Politiker haben; Hanno Zulla schreibt in seinem Blog über seine Erfahrungen mit Lokalpolitikern in Hamburg.

Dabei hat er durchweg positive Erlebnisse zu berichten und stiess zumeist auf offene Ohren, gerade weil Onlinedurchsuchungen, Vorratsdatenspeicherung und viele andere Reizthemen innenpolitisch für viel Wirbel sorgen. Als Softwareentwickler in Person interessiert mich doch da gleich mal die Frage, ob ich das nicht auch hier in Leipzig hinbekommen könnte… habt ihr in diesem Bereich Erfahrungen sammeln können?

Unterschriftenaktion

Im Netz häuft sich immer weiter der Widerstand gegen (Noch)Bundesinnenminister Schäuble. Eine weitere Aktion, die online Unterschriften für den Abgang von Wolfgang Schäuble sammelt, ist http://www.schaeuble-wegtreten.de.

Währenddessen verschärft sich der Streit in der großen Koalition in Bezug auf die geplanten Online-Durchsuchungen. Bundesjustizministerin Zypries wird vorgeworfen, sich als “Hüterin des Rechtsstaats” (Beckstein) aufzuführen; schon Schäubles Vorgänger, Otto Schily (SPD) hätte sich mit ihr “herumärgern” müssen (Quelle).

Nun meine Herren Schäuble und Beckstein, glauben Sie nicht, dass wir uns gerade mit Ihnen am meisten rumärgern müssen? Wie kann es eigentlich sein, dass wir von soviel Inkompetenz regiert werden? Solange Deutschland mehrheitlich politikverdrossen agiert, wird sich leider daran so bald auch nichts ändern….

PS: Meine Exemplare des aktuellen Grundgesetzes (Aktion) sind bereits angekommen – und eins davon macht sich in den nächsten Tagen verpackt in einem netten Brief an unseren Innenminister ausser Rand und Band…

Auszüge aus dem Schäuble-Interview vom Spiegel…

Ich bin mir relativ sicher, dass den nicht alle abonniert haben (mich selbst eingeschlossen), daher ist es ganz interessant, einzelne Abschnitte aus dem Schäuble-Interview nochmal genauer zu studieren. Ein fleissiger Nutzer des Heise online-Forums hat dies für uns getan:

http://www.heise.de/…/msg_id=13089269&forum_id=120131

Ein anderer Nutzer hat eine nicht minder interessante Antwort dazu geschrieben:

http://www.heise.de/…/msg_id=13089731&forum_id=120131

Spätestens nach der Lektüre dieser beiden Einträge sollten jedem klar sein, das wir etwas tun müssen

Should Trolltech make their products support GPLv3?

Since the GNU General Public License v3 had been [released last week](http://gplv3.fsf.org/) I’m actively thinking about switching the license for some of my projects, f.e. [guitone](http://guitone.thomaskeller.biz), which are currently GPLv2 “or later”. The main reason for doing this for me personally is to protect my software even better from any possible [Tivoization](http://en.wikipedia.org/wiki/Tivoization), i.e. no patent restrictions, closed hardware, or anything else should hinder people to use, modify and distribute it further.

Looking more in detail at the license possibilities [Trolltech](http://www.trolltech.com) gives developers which use their Qt/Qtopia platform, upgrading Qt projects from GPLv2 to GPLv3 doesn’t seem to be possible: The problem is that even though Qt4 can be licensed under GPLv2, it does **not** contain the “… or – at your option – any later version” clause of the license, and since GPLv2 and GPLv3 are incompatible with each other, as Richard Stallman [told us here](http://gplv3.fsf.org/rms-why.html), you therefor can’t legally link GPLv3 code with those GPLv2 libraries:

> When we say that GPLv2 and GPLv3 are incompatible, it means there is no legal way to combine code under GPLv2 with code under GPLv3 in a single program. This is because both GPLv2 and GPLv3 are copyleft licenses: each of them says, If you include code under this license in a larger program, the larger program must be under this license too.? There is no way to make them compatible. We could add a GPLv2-compatibility clause to GPLv3, but it wouldn’t do the job, because GPLv2 would need a similar clause.

([Source](http://gplv3.fsf.org/rms-why.html))

There _might_ be a way out of this dilemma, in case Trolltech doesn’t want to put Qt/Qtopia directly under “GPLv2 or later”/GPLv3: There already seems to exist a “Trolltech GPL Exception version 1.0”, but the text is currently unavailable from the [Troll’s site](http://trolltech.com/products/qt/gplexception). A temporary copy of it can be found in the Subversion repository of the libqxt project. The Exception states that you can use a couple of other accepted Free Software Licenses in your project and still use the GPL version of Qt:

> […] 1) The right to use Open Source Licenses not compatible with the GNU General Public License: You may link software (hereafter referred to as “Your Software”) against the Licensed Software and/or distribute binaries of Your Software linked against the Licensed Software, provided that:

> A) Your Software is licensed under one of the following licenses: […]

and what follows is a list which includes licenses like the Apache Software License, the LGPL, the BSD license, the Mozilla Public License, to just name a few. Furthermore:

> […] B) You must, on request, make a complete package including the complete source code of Your Software (as defined in the GNU General Public License version 2, section 3, but excluding anything excluded by the special exception in the same section) available to Trolltech under the same license as that granted to other recipients of the source code of Your Software. […]

…this seems only fair…

> […] C) Your or any other contributor’s rights to:

> i) distribute the source code of Your Software to anyone for any purpose;

> and

> ii) publicly discuss the development project for Your Software and its goals in any form and in any forumare not prohibited by any legal instrument, including but not limited to contracts, non-disclosure agreements, and employee contracts. […]

… yes I hope so!

Now I’m unsure if this exception is granted to every (free) software project using Qt. Currently, GPLv3 is not on the list, but if this exception is valid for everyone (not just paid customers of Trolltech), maybe it could be expanded to allow GPLv3 as well and therefor serve the Open Source community

Whatever route Trolltech will go, I hope they at least notice that there is **a demand from the Open Source community** to clarify the licensing issues with respect to GPLv3, and I hope this happens in the near future…

Edit 2007-08-09

It seems as Trolltech put back the GPL Exception in place, though the GPLv3 is still not listed as a valid license. One Trolltech engineer said however recently in a comment on the Labs Blog:

… As for GPL v3, we are actively working on it. From what I understand, it is a bigger step and not something we can just provide with an Exception.

(Source)

So its good to know that they’re aware of it!

Am Anfang war das Wort… [updated]

[Update: Dieser und weitere Blogeinträge waren ursprünglich unter der Domain schäuble-muss-weg.de erschienen, wurden jedoch im Juli 2008 auf mein Hauptblog verschoben. Über die Kategorien “German” bzw. “AK-Vorrat” können sie im Zusammenhang noch nachvollzogen werden.]

…so steht es schon in der Heiligen Schrift – und obwohl ich keiner Religion zugehörig bin, besitzen diese Worte dennoch eine tief gehende Weisheit: Man kann nur dann etwas ändern, wenn man von dem Recht zu reden auch Gebrauch macht!

Diese Webseite ist mein Sprachrohr und ich lade Euch alle dazu ein, Euch selbst daran zu beteiligen. Aber worum geht es hier eigentlich?

Um es kurz zu machen: Es geht um nichts weniger als die Aufrechterhaltung unserer Freiheit! Der deutsche Innenminister, aber auch viele andere Politiker aus den Reihen der CDU, sind gerade munter dabei, unsere Bürgerrechte im Kampf gegen den “Terrorismus” zu opfern, wenn nötig, dann eben per Grundgesetzänderung. Wenn man genau liest, dann stösst man auf unhaltbare Überlegungen von Wolfgang Schäuble, die einen die Haare zu Berge stehen lassen – Zitat Spiegel Online:

Als “rechtliches Problem” bezeichnete der Innenminister auch die gezielte Tötung von Verdächtigen durch den Staat. Würde etwa Osama Bin Laden aufgespürt und stünde eine derartige Entscheidung an, wären die Rechtsfragen in Deutschland “völlig ungeklärt”, so der Innenminister: “Wir sollten versuchen, solche Fragen möglichst präzise verfassungsrechtlich zu klären und Rechtsgrundlagen schaffen, die uns die nötigen Freiheiten im Kampf gegen den Terrorismus bieten.”

(Quelle: http://www.spiegel.de/…/0,1518,493094,00.html)

Sollten solche Worte eines deutschen Innenministers ungesühnt bleiben? Wollen wir zu einer Bananenrepublik wie die Vereinigten Staaten von Amerika verkommen, in dem geheime Gefangenenlager existieren, deren vorsorglich Inhaftierte so schnell kein ordentliches Gericht zu sehen bekommen? Plädiert hier Wolfgang Schäuble wirklich für die Einführung der Todesstrafe für verdächtige Personen in Deutschland?

Es ist an der Zeit, dieser Farce ein Ende zu setzen – und nicht erst auf den Wahlausgang 2009 zu hoffen.

Helft unserem Vorhaben! Findet neue Mitstreiter! Plant Eure eigenen Aktionen! Erhebt Euch von Euren Stühlen und tretet für Eure Freiheit ein!

– Thomas.

Projects, projects, projects!

Last week my copy of Anno 1701 for the Nintendo DS dropped in and I instantly remembered the happy days when I played the original version for the PC, Anno 1602. While the gameplay is pretty much the same, graphics have been improved a bit and the product circuits got less complex. While you may have needed two or three buildings to produce a certain good, now one or two are enough.
All in all its a worthwile game, which made me looking into alternatives and/or ports for the Mac OS. Sunflowers, the company behind the Anno series, never considered such a step (“market share too less significant”) and I don’t know of any other publisher, such as Aspyr Media, ever considered that either way. This is kind of sad, especially if you look at the gorgeous PC version of 1701 which was released last fall. Intel Macs now certainly have enough power to play those games, but even Steve itself doesn’t put the “almost no mainstream games for the Mac”-problem on a high agenda – which you may imagine if you look at the half-hearted try of Electronic Arts to support the Mac OS with games, which was, of course, vastly announced by Steve on the last MacWorld.

Now, one very interesting project which recently took my attention in this regard is OpenAnno. It seems that a couple of Anno-enthusiasts try to create a clone of the original 1602 version. The game is in very early stage, there is an editor written in Qt, and the game itself seems to be build upon SDL, making it suitable for cross platform gaming. However, like every Open Source game, the developer’s biggest problem is to find people who create kick-ass graphics and animations, and in general, get more attention by the community. I decided to give it a try and create some native mac binaries for the most recent version. This is not done in five minutes, given the fact that the SDL libs (they use SDL_image, SDL_mixer, SDL_gfx and SDL_ttf) aren’t installed on most user Macs and most of those libs are known to have other horrible dependencies. So instead of messing around with frameworks I’ll probably try and link all of them statically to the main application. PhysFS is another dependency, but this shouldn’t be too hard to integrate. Lets see how this goes, I’ll of course post news here if I get it done =)

Beside OpenAnno there are of course other projects which have my attention. At first guitone, where the development slowed down a bit recently, because I’m in the process of rebuilding the monotone wrapper in use again. Having the mtn process run in the main GUI thread seems to cause a lot of problems, sometimes it just doesn’t signal that output is available, so the GUI is stucked (this happens on my beloved win32 port). But I’m not saying that it works better on other platforms… OSX has similar problems. My current solution involves putting the QProcess in a separate thread which has a local task queue and which signals when a certain task has been finished. Thanks to the Trolls that signals and slots work across threads (they are enqueue in this case and are not executed directly), still, my new solution includes some ugly code parts, f.e. when I try to match the finished task to any of the signalled slots. Given a general signal like this

void taskFinished(MonotoneTask & task);

and any amount of consumer classes which have a slot for this of course makes the need for code like this

void Consumer::taskFinished(MonotoneTask & task)
{
    // this is not our task...
    if (task.getTaskNumber() != rememberedTaskNumber) return;
}

if one uses a thread-global task number to identify each of them. I’ve looked into various other solutions for this; what I basically need is of course a callback or something which only functional languages provide: lambda notations. But this is Qt, this is C++, so without getting your hands very very dirty (or throwing in big dependencies like boost) there is no way of doing safe, reliable, non-intrusive, cross-thread callbacks. But hey, if you know something I don’t know, I’d be happy to hear from you!

There are two other projects which have my interest, but I guess I’ll tell you of those in my next post – this one got already far too long =)