Anders als in den meisten Softwaredisziplinen hat der Rückgriff auf quelloffene Werkzeuge unter Entwicklern eine lange Tradition. Dies ist vor allem der sehr frühzeitigen und erfolgreichen Community-Bildung geschuldet, die den Open-Source-Gedanken wie in keinem anderen Softwaresegment vorangetrieben hat. Ob Apache Software Foundation oder Eclipse Foundation, um nur zwei der wichtigsten Vertreter zu nennen, sie alle bieten Entwicklern Instrumente, mit denen sie sich unkompliziert in Softwareprojekte einbringen beziehungsweise sich dort der neuesten Entwicklungen bedienen können.
Dies ist ein guter Grund, unsere Reihe der "Best of Open-Source-Software Awards 2009" (Bossies) für die verschiedenen Softwaredisziplinen mit den Entwicklungs-Tools zu beginnen. Ausgewählt wurden die Projekte im Testcenter der CW-Schwesterpublikation "InfoWorld". Dabei betont die Jury, dass es sich nur um eine Auswahl des ohnehin großen Spektrums hervorragender Open-Source-Tools handelt. Neben der Verbreitung stand in diesem Jahr die Nähe zu Web-Standards im Vordergrund.
Eclipse Web Services Tools
Eclipse ist eine von vielen Entwicklern geschätzte Plattform, die in diesem Jahr einen Bossie-Award für ihre Web Services Tools beziehungsweise Web Standard Tools (wst) erhält. Das Projekt umfasst Werkzeuge für die Definition von WSDL- und XSD-Dateien bis hin zum Debugging und Testing der Web-Services.
Die Würdigung dieses Plug-ins liegt nahe, kommt doch Web-Services in modernen Softwareumgebungen wie Service-orientierten Architekturen eine stark wachsende Bedeutung zu. Insbesondere die wst-Komponente Web Services Explorer, die unter anderem als Test-Client für Web-Services dient, hat es der Jury angetan. Hier lassen sich grafisch WSDL-Dokumente über ihre URL öffnen, um Details des WSDL-Bindings zu erfahren, eine Liste der auf dieser Ebene verfügbaren WSDL-Operationen und Endpunkte zu erhalten sowie den gewünschten Service zu aktivieren und das Ergebnis anzuzeigen. Der Web Services Explorer ist eine JSP-Web-Applikation, die innerhalb von Eclipse auf der Servlet-Engine von Apache Tomcat läuft.
NetBeans
Die von Sun Microsystems Open Source gestellte Entwicklungsumgebung "NetBeans" hat die Infoworld-Jury ebenfalls mit einem Award bedacht. Die Begründung leuchtet ein: Während neue Versionen vieler freier IDEs Verbesserungen oft nur in Randbereichen erhalten, wartet das aktuelle Release NetBeans 6.7 mit zahlreichen für Entwickler wichtigen neuen Kernfunktionen auf.
Hierzu zählen die verbesserte Unterstützung für Ruby und JRuby, die deutlich erweiterten Groovy- sowie C/C++-Fähigkeiten und die Möglichkeit, in PHP-Programmen Unit-Tests vorzunehmen. Im Bereich Projekt-Management bietet NetBeans integrierten Support für "Maven", ein Build-Management-Tool von Apache zur standardisierten Erstellung und Verwaltung von Java-Programmen.
JBoss Drools
Namhafte Vertreter von Werkzeugen, mit denen sich regelgestützte Geschäftsanwendungen erstellen und automatisieren lassen, sind IBM/Ilog, Fair Isaac, Oracle und Pega Systems. Die Ironie hinter manchem Werkzeug für Business-Rules-Management ist jedoch, dass es als Business-Applikation positioniert wird, für die Bedienung durch die Fachabteilung allerdings zu komplex ist. Auch die Open-Source-Welt hat für diese Disziplin etwas zu bieten.
Den InfoWorld-Award erhält wiederholt "JBoss Drools". Die quelloffene Applikation kombiniere eine sehr schnelle Ablaufumgebung mit einem funktionsreichen Regel-Repository und exzellenten, auf Eclipse basierenden Entwicklerwerkzeuge, heißt es zur Begründung. Hinzu komme die Unterstützung für Excel-basierende Entscheidungstabellen, so dass nicht nur Programmierer, sondern auch Fachanwender Regeln in Drools einpflegen können. Als Besonderheit hob InfoWorld im vergangenen Jahr hervor, dass Drools im Gegensatz zur kommerziellen Konkurrenz die Regeln vieler anderer Business-Rules-Mangement-Systeme importieren könne.
jQuery
Eine inzwischen große Gruppe unter den JavaScript-Entwicklern bedient sich des freien Frameworks "jQuery", das von John Resig entwickelt wurde und sehr umfangreiche Funktionen zur Navigation und Manipulation der DOM-Syntax bietet. Mittlerweile hat sich auch ein vielfältiges Plug-in-Spektrum rund um das JavaScript-Programmiergerüst entwickelt.
Mit weniger Code und Zeit mehr erreichen als bei der reinen JavaScript-Programmierung, lässt sich das Motto der jQuery-Anwender beschreiben. Dazu tragen auch die leicht verständlichen Funktionen und die Programmierhilfen des Frameworks für Ajax wie vereinfachtes Event-Handling und animierte Effekte bei. Die jQuery-Basis besteht aus einer einzigen JavaScript-Datei in der alle grundlegenden DOM-, Event-, Effekt- und Ajax-Funktionen beinhaltet sind. Sie lässt sich auf jeder Web-Seite inkludieren.
Mono
In diesem Jahr würdigt die Infoworld-Jury auch das von Novell gesponsorte Open-Source-Projekt "Mono". Dabei handelt es sich um eine zu Microsofts .NET kompatible Entwicklungs- und Laufzeitumgebung, die auch unter Linux, Mac OS X und anderen Unix-ähnlichen Betriebssystemen eingesetzt werden kann. Für Anwender bedeutet dies, dass sie für .NET entwickelte Applikationen auf einem anderen Betriebssystem ihrer Wahl nutzen können.
Mono stellt Entwicklern alle benötigten Werkzeuge zur Verfügung, damit sie ihre Web- oder Desktop-Anwendung nicht auf jede einzelne Plattform portieren müssen. So werden neben Java und offenen Sprachen auch die Microsoft-eigenen Sprachen wie C# und Visual Basic .NET unterstützt, für die beiden letzteren werden die Kompiler bei der Installation mitgeliefert. Für grafische Anwendungen steht eine Vielzahl an Toolkits bereit. Den Datenzugriff (ADO.NET) unterstützen Datenprovider für alle namhaften Open-Source- und kommerzielle Datenbanken. Für Web-Dienste und -Anwendungen bietet Mono .NET-kompatible ASP.NET-Implementierungen.
Hadoop and Hive
Software für hochskalierbares und verteiltes Daten-Processing ist im Prinzip nichts Neues. Eine Herausforderung der letzten Jahre sind dagegen die weltweit verteilte Verarbeitung zum Beispiel der riesigen Datenaufkommen im Google-Umfeld, das Cloud-Computing und das rapide wachsende Volumen unstrukturierter Daten in sozialen Netzwerken.
Ein auf Java basierendes Open-Source-Framework für derart skalierbare und verteilt arbeitende Programme ist "Hadoop". Das inzwischen unter dem Dach der Apache Software Foundation angesiedelte Projekt wurde ursprünglich vom Lucene-Erfinder Doug Cutting initiiert und stützt sich auf den Google-Algorithmus "MapReduce" sowie auf Vorschläge des Google-Dateisystems. Damit sind Rechenprozesse in Datenhaltungen bis in den Petabyte-Bereich möglich. Von Facebook stammt ursprüngliche "Hive", das inzwischen ebenfalls als Open-Source-Projekt bei Apache läuft. Es erweitert Hadoop unter anderem um die Möglichkeit, Abfragen in den verteilten Dateisystemen in einer SQL-ähnlichen Syntax zu formulieren.
WebKit
Die HTML-Rendering-Bibliothek "WebKit" ist mittlerweile Grundlage für einige Web-Browser, insbesondere in namhafte mobilen Endgeräten. Zu den bekanntesten Beispielen zählt Apples iPhone, aber auch Google (Google Chrome und Android), Palm Pre und Nokia verwenden die Engine.
WebKit entstand aus der HTML-Engine KHTML und der JavaScript-Engine KJS des KDE-Projekts. Apple hatte eine Abspaltung der Engines erstellt und diese weiter entwickelt. Seit Version 10.3 von Mac OS X ist WebKit Teil des Betriebssystems und findet dort Verwendung im Safari-Browser. Ferner soll die freie Desktop-Umgebung Gnome und dort unter anderem der Standard-Browser Epiphany auf WebKit umgestellt werden. Wenn sich jetzt noch Research in Motion (RIM) bei BlackBerry für diese Browser-Technik entscheidet, dürfte WebKit wohl als die Zukunft für mobile Entwicklung gelten, so das Urteil der Infoworld-Jury.
OpenStreetMap
Die Benutzung von Kartenmaterial, sei es von Google oder vielen anderen Anbietern, ist zwar kostenlos, aber nicht frei. Meist werden Bedingungen an eine Nutzung geknüpft. Hinzu kommt bei Google, dass die den Karten zugrunde liegenden Geo-Informationen nicht zur Verfügung gestellt werden.
Anders bei "OpenStreetMap" (OSM). Das Projekt hat sich zum Ziel gesetzt, eine freie Weltkarte zu schaffen, die jeder lizenzkostenfrei einsetzen und beliebig weiterverarbeiten kann. Dies gilt auch für die "rohen" Geodaten, die man nach Bedarf verwenden kann. Viele Mitglieder der OSM-Community beteiligen sich durch Mapping indem sie mit einem GPS-Gerät Kartendaten sammeln und bei OpenStreetMap eingeben. Ein angenehmer Nebeneffekt dürften dabei die Mapping Weekends oder Mapping Parties sein, auf denen sich Gruppen zu einer gemeinsamen Kartierung treffen, sich ein Gebiet aufteilen, um dann abends in einer Kneipe oder in einem Restaurant zum gemütlichen Teil überzugehen.
BrowserShots
Kostenlos, schnell, unkompliziert und rundum praktisch: So das Resümee vieler Postings, in denen Anwender ihre Erfahrungen mit BrowserShots.org schildern. Interessant dürfte der Dienst vor allem für Web-Designer und -Entwickler sein, die nach Eingabe einer Domain beziehungsweise URL einen Screenshot dieser Seite erhalten - und zwar aus Sicht einer Vielzahl von Browsern auf allen wichtigen Betriebssystemen.
So arbeitet die "Shotfactory" derzeit mit fast 100 Browser-Versionen und deren Varianten für Linux, Windows, Mac OS X und BSD. So lässt sich schnell erkennen, wie sich eine Website unter Systemvoraussetzungen verhält, die bei einem selbst nicht gegeben sind. Für eine detaillierte Analyse lässt sich das Ergebnis auch als Zip-Datei herunterladen.