Apache Harmony
# Apache Harmony

Apache Harmony war ein Projekt der Apache Software Foundation mit dem Ziel, eine Open-Source-Version der Java-Technologie zu entwickeln. Es wurde Anfang Mai 2005 angekündigt und wurde unter Java-Entwicklern angeregt diskutiert. Mit der Offenlegung von Suns offiziellen Implementierungen der Java-Technologie unter der GNU General Public License ab 2006 als OpenJDK bestand die Notwendigkeit zur Entwicklung von Harmony nicht mehr in der anfänglichen Form. Nach der Übernahme von Sun Microsystems durch Oracle im Januar 2010 sowie dem Wegfall von IBM als aktivem Unterstützungspartner von Harmony im Oktober 2010 wurde Anfang November 2011 entschieden, das Projekt zu beenden.

## Geschichte

### Gründe für die Neuentwicklung

Die wichtigsten Gründe für Meinungsverschiedenheiten zwischen GNU-Classpath- und Apache-Projekten sind auf Unterschiede zwischen der General Public License (GNU Classpath enthält außerdem eine GPL linking exception) und der Apache-Lizenz zurückzuführen. Diese Unstimmigkeiten scheinen hauptsächlich durch unterschiedliche Software-Gesellschaften verursacht zu sein, die die etwas freizügigere Apache-Lizenz bevorzugen, die auch die Entwicklung unfreier Produkte ermöglicht. GNU kann ebenfalls mit proprietärem Code gebunden werden, es ist aber rechtlich schwieriger, die unfreien Produkte von GNU Classpath selbst abzuleiten. Dennoch meinen viele Software-Entwickler, dass die Lizenzen und Philosophie dieser Gemeinschaften nicht so unterschiedlich sind, dass eine Absonderung voneinander nötig gewesen wäre und die Unfähigkeit, Kompromisse zu finden wird oft negativ gesehen.

### Anbahnung

Das Projekt Harmony wurde ursprünglich konzipiert als der Versuch, alle Entwickler freier Implementierungen der Programmiersprache Java zu vereinigen. Viele Softwareentwickler erwarteten, dass es ein Projekt oberhalb von GNU, Apache und anderen Gemeinschaften würde. GNU-Entwickler wurden eingeladen und beteiligten sich an der ursprünglichen, vorbereitenden Planung. Dennoch wurde später entschieden, keinen Quelltext aus dem GNU Classpath zu verwenden und stattdessen die benötigten Klassen von Grund auf neu zu schreiben und auf große Quelltext-Spenden von Software-Unternehmen zu hoffen.

### Letzter Entwicklungsstand

Die erwarteten Code-Spenden von Software-Unternehmen gingen im Laufe der Zeit ein. Apache Harmony enthielt lauffähigen Code, inklusive Swing, AWT und Java2D, die von Intel beigetragen wurden. Der Anteil implementierter Klassen betrug zuletzt über 99 % (Stand November 2008). Apache Harmony wurde am 29. Oktober 2006 als Apache-Vollprojekt offiziell anerkannt.

### Ende des Projekts

Nach der Übernahme von Sun Microsystems durch Oracle sowie einer Klage gegen Google wegen der Java-Implementierung Dalvik ist 2010 eine Unsicherheit in das Java-Umfeld gekommen. Sun und auch der neue Eigentümer Oracle weigerten sich, Harmony Zugang zum Testsystem (Java SE TCK) für eine Zertifizierung zu gewähren. IBM hatte die aktive Unterstützung von Harmony im Oktober 2010 aufgegeben und will sich stattdessen gemeinsam mit Oracle bei OpenJDK engagieren.

Durch eine Abstimmung des Project Managements Anfang November 2011 wurde entschieden, das Projekt zu beenden. Der letzte Stand wurde in den sogenannten „Attic“ verschoben, wo weiterhin auf ihn zugegriffen werden kann.

## Entwicklungsteam

Apache Harmony wurde, im Gegensatz zu GNU Classpath, das von vielen unterschiedlichen Mitarbeitern entwickelt wird, hauptsächlich von diversen Unternehmen entwickelt. Es bekam große Quelltextspenden auf einmal und die meisten Änderungen des Quelltextes zwischen den Versionen sind nicht leicht erkennbar. Dies ließ es eher einem Unternehmenskonsortium als einem Gemeinschaftsprojekt ähneln. Dennoch sind die allgemeinen Diskussionen in den Mailinglisten frei für jedermann.

