»Fsck the GPL«

…, das scheint jedenfalls das Motto nicht weniger Trittbrettfahrer zu sein, die ihre geschäftemacherische Grundausbildung bei den karibischen Piraten hinter sich gebracht zu haben scheinen. Nicht nur OSWave.com schmückt sich so mit fremden – da GPL- – Federn. Auch wilibox setzt auf Linux als Access-Point-OS, GPL-Code wird aber nur vier Paketen zugeschrieben. Eigentlich komisch, denn in squashfs.img (lt. »file« ein »Squashfs filesystem, big endian, version 2.1, 4583104 bytes, 894 inodes, blocksize: 65536 bytes, created: Thu Feb 1 13:49:48 2007« aus einer wilibox-Firmware) findet sich:

root@death.uu.org:~ # ls -la /mnt2/bin/
total 485
lrwxrwxrwx 1 root root 7 2007-02-01 13:49 [ -> busybox
lrwxrwxrwx 1 root root 7 2007-02-01 13:49 [[ -> busybox
[...]
root@death.uu.org:~ # ls -la /mnt2/sbin/
[...]
-rwxr-xr-x 1 root root 26612 1970-01-01 01:00 watchquagga
-rwxr-xr-x 1 root root 16080 1970-01-01 01:00 wlanconfig
-rwxr-xr-x 1 root root 200448 1970-01-01 01:00 wpa_supplicant
-rwxr-xr-x 1 root root 8436 1970-01-01 01:00 xnatconf
-rwxr-xr-x 1 root root 86984 1970-01-01 01:00 zebra

Ich habe nun die GPL-Bedingungen nicht ganz im Kopf – und: IANAL –, aber mußte nicht zu einer auf GPL-Kram basierender Firmware alles an Sourcen inkl. der Buildumgebung mitgeliefert werden? Die FAQ auf gpl-violations.org sagt dies meines Erachtens aus:

The GNU GPL demands that as soon as you distribute GPL licensed software in executable format you make available the “complete corresponding source code”. The GNU GPL also contains a definition of this term:
“ The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. ”
This is a quite precise definition. For a typical C program, this translates into all the source code (.c files) plus header files (.h files) plus the scripts used to control compilation and installation.
Always keep in mind that it is the purpose of the GPL to enable the users to exercise his freedoms. Specifically, the freedom to make modified versions of the program, and to run such modified versions of the program.

 
Wo Schatten ist, ist auch Licht, offensichtlich — hier sollte jetzt eigentlich AProuter angeprangert werden, eine Firmware für verschiedene Realtek-8186-basierte WLAN-Router, die zwar seit Jahren als Binary plus kostenpflichtige Lizenz angeboten wird, wo sich aber nie ein Downloadlink auf die Sourcen fand. Doch, oh Wunder, beim Zusammensuchen der Beispiellinks stolperte ich über einen Link zur GPL-Software in AProuter. Ob aus dem Archiv plus den sich unten auf der Seite findenden Hinweisen zum Bauen eines Images ein funktionsfähiges Image ergibt — wahrscheinlich nicht, da oftmals eigene Tools und die Konfigurationsoberfläche fehlen (so zumindest bei den Archiven von Edimax und anderen Herstellern; was, meinem Verständnis nach, GPL-konform ist). Aber immerhin, für mich, der ich seit langem eine Firmwarebasis für meine RTL-8186-Accesspoints suche, ist das wieder ein Schritt näher zu besserer Kontrolle meiner APs ;)