PROJEKT HARMONY

Motivation

Es besteht ein klarer Bedarf an einer Open Source Implementierung von Java 2, Standard Edition (J2SE), und es werden bereits einige Anstrengungen in der Richtung unternommen (Kaffe, Classpath, etc.). Es gibt ebenfalls schon verschiedene Ansätze zur Ausführung von Bytecode (GCJ und IKVM). All diese Unternehmungen erzeugen eine gesunde Vielfalt, können aber aufgrund gewisser Grenzen kein größeres Potenzial erreichen.

Vorschlag

Wir schlagen vor, dass ein neues Apache-Projekt, "Harmony", geschaffen wird, welches folgende Ziele erreicht:

  1. Erstellung einer kompatiblen, unabhängigen Implementierung von J2SE 5 unter der Apache-Lizenz.
  2. Erstellung der Architektur einer modularen Laufzeitumgebung (bestehend aus virtueller Maschine und Klassenbibliothek) durch die Community, die es verschiedenen Implementationen erlaubt, Laufzeitkomponenten untereinander auszutauschen, so dass in unterschiedlichen Laufzeitkomponenten unabhängig Innovationen geschaffen werden können.

Wir hoffen, dass sich eine möglichst breite Gemeinschaft von Mitwirkenden, Programmierern und Benutzern der modularen Plattformspezifikation zu schaffen.

Um mit etwas anzufangen, schlagen wir vor, das folgende Diagramm sowohl als architektonische Basis als auch als Basis für eine Diskussion zu nehmen:

http://download.todesbaum.dyndns.org/public/harmony.png

Wir werden erstellen, entweder direkt, durch Benutzung von Third-Party-Code, oder durch Beiträge von außerhalb:

  1. Eine frei implementierbare Spezifikation einer modularen VM und einer Klassenbibliothek, die multiple, unabhängige Implementierungen erlaubt
  2. Eine Test-Suite, um Interoperabilität zwischen den Modulen zu testen
  3. Eine Implementation der modularen VM unter der Apache-Lizenz
  4. Eine Implementation der Klassenbibliothek von J2SE 5, welche den Spezifikationen entspricht

Wir starten auf diese Art und Weise, weil wir damit:

  • einen einfachen Plan haben, der es uns ermöglicht, sofort mit der Programmierung zu beginnen;
  • einen Einstiegspunkt für die Diskussion mit interessierten Mitgliedern der Community haben;
  • einen klar definierten Satz an technischen Bedürfnissen haben, anhand derer eventuelle Spender und Mitwirkende Überlegungen anstellen können;
  • sicher stellen, dass Harmony eine Anstrengung der Community bleibt – gemeinsam werden wir planen und implementieren, entweder durch neuen Code oder durch Codespenden;
  • einen Anzahl von Spezifikationen erstellen, die verschiedene interoperable Implementationen erlauben, welche widerum auf Austausch, Erweiterung und Innovation ausgelegt sind.

Wir schlagen vor, dass folgende Personen als Startteilnehmer bezeichnet werden. Diese Auswahl beinhaltet Mitglieder von überall aus der Community; eine Vielfalt, mit welcher wir starten und die wir im Laufe des Prozesses beibehalten wollen.

Diese Personen haben ihr Interesse zum Ausdruck gebracht, an der Architektur und dem Design mitwirken zu wollen. Die Informationen in den Klammern geben andere Beteiligungen in der Community oder relevante Erfahrungen der Person an:

  • Guy Churchward (Person mit kommerzieller VM-Erfahrung)
  • Joakim Dahlstedt (Person mit kommerzieller VM-Erfahrung)
  • Jeroen Frijters (IKVM)
  • Geir Magnusson Jr. (Apache)
  • Ricardo Morin (Person mit kommerzieller VM-Erfahrung)
  • Georges Saab (Person mit kommerzieller VM-Erfahrung)
  • Bruno Souza (SOUJava)
  • Davanum Srinivas (Apache)
  • Dalibor Topic (Kaffe)
  • Tom Tromey (GCJ)
  • Weldon Washburn (Person mit kommerzieller VM-Erfahrung)
  • Mark Wielaard (Classpath)

Folgende Personen haben ihr Interesse zum Ausdruck gebracht, als Mitwirkende an der unter der Apache-Lizenz stehenden Implementierung mitzuarbeiten:

  • Jeroen Frijters (IKVM)
  • Ben Laurie (Apache)
  • Geir Magnusson Jr. (Apache)
  • Ricardo Morin (Person mit kommerzieller VM-Erfahrung)
  • Bruno Souza (SOUJava)
  • Davanum Srinivas (Apache)
  • Dalibor Topic (Kaffe)
  • Tom Tromey (GCJ)
  • Weldon Washburn (Person mit kommerzieller VM-Erfahrung)

Diese Personen werden als "Incubator Mentoren" mitwirken:

  • Noel Bergman
  • Ben Laurie
  • Geir Magnusson Jr.
  • Stefano Mazzocchi
  • Sam Ruby
  • Leo Simons
  • Davanum Srinivas

Die folgenden Apache-Mitglieder werden Sponsoren-Mitglieder:

  • Noel Bergman
  • Jason Hunter
  • Ben Laurie
  • Ted Leung
  • Geir Magnusson Jr.
  • Stefano Mazzocchi
  • Sam Ruby
  • Leo Simons
  • Davanum Srinivas

Die folgenden Mitglieder der Community unterstützen diese Anstrengung:

  • Danese Cooper
  • Brian Goetz
  • Doug Lea

Anmerkungen zum Verfahren

1.#0 Wir haben eine Mailingliste zur allgemeinen Diskussion eingerichtet. Bitte senden Sie Ihre Mails dazu an harmony-dev@incubator.apache.org, sofern Ihre Mail nicht generall an die Incubator-Mitglieder oder das Incubator-PMC gerichtet ist. Um sich bei der Mailingliste anzumdelden, senden Sie bitte eine Mail an harmony-dev-subscribe@incubator.apache.org. Solange dieser Vorschlag nicht vom Incubator-PMC akzeptiert wurde, sind diese Angaben provisorisch.

  1. Aufgrund der zahlreichen bekannten und unbekannten Risiken, die dieses Projekt birgt, schlagen wir zusätzlich zum benötigten "Individual Contributor License Agreement (ICLA)" vor, dass jeder Mitwirkende ein "Corporate Contributor License Agreement (CCLA)" braucht, sofern das notwendig ist, welches beim Sekretär der ASF gelagert wird; der Mitwirkende ist dafür verantwortlich, dass dieses Dokument immer auf dem aktuellen Stand, was den Arbeitgeber angeht, bleibt, damit sein Status als Mitwirkender nicht beeinflusst wird. Wir machen das, um dabei zu helfen, die Community – sowohl Mitwirkende als auch Benutzer – vor nicht authorisiertem Einbringen von Code oder anderem intellektuellen Eigentum zu schützen.
  2. In der Vergangenheit ist der Source Code von VM und Klassenbibliothek (beides Eigentum von Sun Microsystems und anderen) bereits von vielen Leuten gesehen worden, da es nicht unüblich war, kommerzielle J2SE-Implementationen auf Suns Sourcen basieren zu lassen. Wir unternehmen jede nötige Anstrengung, um sicher zu stellen, dass Lizenzen und Rechte von externen Projekten respektiert werden. Um das zu ermöglichen, werden wir in Zusammenarbeit mit dem Apache Incubator zusätzliche Wege erforschen, die sicher stellen, dass sämtliches intellektuelles Eigentum sorgfältig beobachtet und verfolgt wird, sobald es in das Projekt eingebracht wird.


Übersetzung von / translated by David Roden

  • No labels