Open Source im professionellen Einsatz

Jenseits von Maven

Maven steht nicht alleine als großes Buildsystem zur Verfügung. Neben kommerziellen Spin-offs wie Nexus Professional gibt es auch unter dem Apache-Dach weitere Alternativen. Buildr [8] zum Beispiel unterstützt Maven-Repositories, formuliert sein Buildfile jedoch in Ruby-Syntax. Damit fällt die Geschwätzigkeit und Sperrigkeit von XML weg. Weitere Alternativen sind Ivy [9], ein Ant-Subprojekt, oder Gradle (implementiert in Groovy, [10]). Buildr und Gradle erweisen sich auch als flexibler als Maven, da sie nicht dessen normativen Ansatz verfolgen. Der Entwickler bestimmt hier selbst, wie sein Projekt aussieht.

Unabhängig von Implementationsdetails und Philosophie gibt es aber im Entwicklungsprozess liegende Anforderungen, die auch ein System wie Maven nicht abdecken kann. Wirklich große und komplexe Projekte, an denen mehrere Teams gleichzeitig arbeiten oder die sehr viele unterschiedliche Anwendungsfälle abdecken, lassen sich nicht mehr auf den einzelnen Entwickler-PCs bauen und testen. Hier sind Buildserver gefragt, die die aktuellen Quellen verarbeiten und typischerweise nachts einen kompletten Build samt Tests anstoßen. Durch den regelmäßigen Versuch, alle aktuellen Änderungen zusammenzuführen, fallen Fehler so früh wie möglich auf. Das Stichwort hierzu lautet Continuous Integration, der passende Server Hudson [10].

Natürlich wollen Entwickler, Projektverantwortliche, Tester und Anwender auch passende Reports. Wie viel hat geklappt, was ging wo schief, gibt es eine neue Version zum Testen? Idealerweise werden die fertig gebauten Pakete gleich auf einem Server installiert oder liegen auf entsprechenden Webservern zum Download bereit.

Entwicklungshilfe mit Bretzn

Unter dem offenbar fränkisch kolorierten Namen Bretzn tritt derweil ein Projekt an, das es sich zum Ziel gemacht hat, Software quasi per Mausklick publizierbar zu machen. Das Gebäckstück kam als Name ins Spiel, weil dabei "Benutzer, Entwickler und die Anwendung an einem gleichsam wie eine Laugenbreze gewundenen Strang ziehen." (Entwickler Frank Karlitschek zum Linux-Magazin, (Abbildung 3). Er gibt gerne zu, dass der Name "recht spontan im Umfeld der Open Suse Conferenz 2011 in Nürnberg entstanden" sei. Dort hielt Karlitschek einen Vortrag und stellte kurz vor Beginn fest, dass das Projekt, an dem auch andere prominente Entwickler wie Sebastian Kügler und Dan Leinier Turthra Jensen seit drei Monaten gearbeitet hatten, noch keinen Namen hatte.

Abbildung 3: Bretzn will Entwickler, Anwender und die Applikation einander näher bringen.

Bretzn hilft

Auf der Basis der Open Collaboration Services will Bretzn dem Entwickler die meist als lästig empfundene Aufgabe der Vermarktung und Veröffentlichung abnehmen. Dazu setzt Bretzn dort an, wo die eigentliche Software-Entwicklung bereits zu Ende scheint: Beim Kompilieren und Paketieren für verschiedene Plattformen, beim Gestalten und der Pflege einer Projekt-Webseite und regelmäßigen Announcements.

Bretzn übernimmt vier Aufgaben: Paketbau, Veröffentlichung, Marketing und das Sammeln von Feedback für die Entwickler. "All das lästige Zeug, das Programmierer von der eigentlichen Arbeit abhält, fällt damit hoffentlich weg." (Karlitschek). Der Bau-Abschnitt des fertigen Framework bietet dabei IDEs für Buildservices und setzt auf Lubos Lunaks OBS-Generator, um auch Cross-Plattform-Buildfiles zu erstellen. Beim Veröffentlichen landet die neue Version im Idealfall gleich in zahlreichen App-Stores, während Bretzn schon die passenden Announcements via Facebook, Twitter, RSS-Feeds und dem Social Desktop verschickt.

Laugen-API

Mit Bretzn publizierte Applikationen können sowohl frei als auch kostenpflichtig sein. Etwaige Einnahmen gehen direkt an den oder die Entwickler. Darüber hinaus ermöglicht das API heute bereits Screenshots, Kategorien, Changelogs, Kommentare, Bewertungen, Suche und Updates. Das Bretzn-API ist vollständig offen und basiert auf den OCS-Diensten von Freedesktop.org. Laut Karlitschek verwenden sie heute bereits KDE, Gnome und Meego. Neben den Open-Desktop-Webseiten um Kde-apps.org gibt es einen Qt-Client, die Meego Garage (Abbildung 4) und sowohl eine KDE- als auch eine Gnome-Anwendung. Die Anbindung an Nokias Ovi-Store, Appup und andere Projekte ist ebenfalls in Arbeit.

Abbildung 4: Neben Clients für KDE und Gnome funktioniert Bretzn auch mit Meegos Garage. Möglich macht dies das API der Open Collaboration Services, optional auch mit dem Open Suse Build Service.

Kartlitschek zur Roadmap: "Das Projekt ist zu drei Viertel fertig, wir planen eine Veröffentlichung im Dezember. Und wir arbeiten zusammen mit anderen Entwicklern auch an dem Proof of Concept für den Suse App Shop, der mit Open Suse 11.4 kommen soll. Wer alle Features testen will, sollte sich den KDE-Client GHNS (Get Hot New Stuff) ansehen."[17] (Markus Feilner)

Bauen mit Buildbot

Selbstverständlich gibt es auch für das automatische, verteilte Bauen verschiedene Open-Source-Lösungen. Wenn es nur um Skalierung geht, hilft Distcc [12]. Umfassenderes bieten Buildbot [13] oder andere Alternativen. Die Apache-Seite [14] verlinkt zu Buildservern, die die Apache Foundation betreibt. Die laufen auch unter unterschiedlichen Produkten, ein Zeichen für die positive Konkurrenz der Lösungen untereinander.

Der Apache-Buildbot-Service für eigene Apache-Projekte zeigt die Leistungsfähigkeit eines solchen Systems. Die Seite [15] verlinkt zu mehreren Reports, um den aktuellen Status der diversen Projekte zu verfolgen (Abbildung 5).

Abbildung 5: Der Apache-Buildbot-Service zeigt den aktuellen Buildstatus der Apache-Projekte an.

Abbildung 5: Der Apache-Buildbot-Service zeigt den aktuellen Buildstatus der Apache-Projekte an.

Öffentlichen Buildservices mit einer kompletten Infrastruktur (Code-Hosting, Web, Buildsysteme und Buildserver, Bugtracker und so weiter) wird sicher die Zukunft gehören. Als Beispiel sei hier nur der Open Suse Build Service [16] genannt, der mit News um Meego und Bretzn (Kasten "Entwicklungshilfe mit Bretzn") in letzter Zeit viel Aufmerksamkeit erhielt.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 7 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Als digitales Abo

Als PDF im Abo bestellen

comments powered by Disqus

Ausgabe 07/2013

Preis € 6,40

Insecurity Bulletin

Insecurity Bulletin

Im Insecurity Bulletin widmet sich Mark Vogelsberger aktuellen Sicherheitslücken sowie Hintergründen und Security-Grundlagen. mehr...

Linux-Magazin auf Facebook