froscon2010 - PREVIEW

FrOSCon
Free and Open Source Software Conference

Speakers
Torsten Werner
Schedule
Day Day 2 - 2010-08-22
Room HS3
Start time 14:00
Duration 01:00
Info
ID 502
Event type Lecture
Track Packaging
Language used for presentation German
Feedback

Der Java-Albtraum

Der Vortrag stellt die Probleme dar, Java-Code aus der Open-Source-Community so zu paketieren, dass die Pakete die minimalen Qualitätsanforderungen von Debian genügen. Probleme sind u.a. die Tatsache, dass Binärcode nicht vollständig aus Quelltexten gebaut wird, sowie die Verwendung von unfreier Software oder gar Lizenzverletzungen. Möglichkeiten von Verbesserungen werden am Beispiel von Maven aufgezeigt.

Debian ist die größte freie Softwaredistribution und umfasst eine Vielzahl von Produkten aus allen Ecken der freien Softwarewelt. Überraschend unterrepräsentiert ist die große Welt der freien Java-Software, welche unter bekannten freien Lizenzen wie Apache-2.0, (L-)GPL, EPL und BSD zur Verfügung steht. Der Vortrag stellt die Ursachen dafür aus der Sicht eines Debian-Entwicklers dar und zeigt Wege auf, den Zustand zu verbessern.

Zwar ist die Anzahl der vom Java-Team gepflegten Source-Pakete in den letzten Jahren erheblich auf den derzeitigen Wert von ca. 500 gewachsen, aber es fehlen nach wie vor wichtige Pakete, wie beispielsweise der beliebte JBoss application server. Im Vergleich dazu stellt des Perl-Team über 1600 Source-Pakete bereit (Stand: Juni 2010). Thema des Vortrag soll aber nicht das JDK in Form von OpenJDK sein und es geht auch nicht um Kritik an der Programmiersprache Java an sich.

Aus den Debian Free Software Guidelines (DFSG) ergeben sich Minimalanforderungen an Softwarepakete, um Bestandteil der Debian-Kerndistribution (main) zu werden. Sie müssen vollständig aus dem Quelltext gebaut werden und dürfen dazu nur Software verwenden, die selbst Bestandteil von Debian/main sind und damit den gleichen Einschränkungen unterliegen. Desweiteren wird jede einzelne Quelltextdatei von den Debianentwicklern auf korrekte Lizenzierung überprüft, bevor das Gesamtpaket ins Debianarchiv aufgenommen wird.

Zunächst dank der Weiterentwicklung der GNU Compiler Collection, des Eclipse-Compilers und der Classpath-Bibliothek, aber insbesondere aufgrund der GPL-Relizensierung des Sun-JDK unter dem Namen OpenJDK kann heute nahezu jede Javasoftware mit freien Compilern übersetzt und mit freien virtuellen Maschinen ausgeführt werden, was eine große Verbesserung gegenüber dem Stand vor einigen Jahren ist. Um ein modernes Java-Paket zu bauen, wird neben dem OpenJDK aber meist noch ein komplexes Build-Werkzeug und eine Vielzahl von Bibliotheken benötigt. Aus Gründen der Bequemlichkeit werden diese fast immer in Binärform mitgeliefert oder einfach aus dem Internet zu Beginn des Build-Prozesses geladen, was die o.g. Minimalanforderungen der DFSG verletzt.

Am Beispiel von Maven – einem sehr verbreitetem Build-Werkzeug in der Java-Welt – werden die vielen Schwierigkeiten bis zur Aufnahme der Software in Debian erläutert. Java-Entwickler erhalten Tipps, wie sie ihre eigene Software verbessern können, um der Debian-Community das Paketieren zu erleichtern.