Open Source, Eclipse Foundation, EPL und das Eclipse-Ökosystem

Was ist Eclipse? Teil 3

Jonas Helming, Maximilian Kögel, Wayne Beaton
Preis

Kostenlos

Titel

Eclipse

Hersteller

Eclipse Foundation

Lizenz

Eclipse Public Licence (EPL)

Preis

Kostenlos

Download
Link

In den letzten beiden Teilen der Serie „Was ist Eclipse?“ starteten wir eine Rundreise durch das Eclipse-Universum und widmeten uns der Frage, auf die es so viele Antworten gibt: Was genau ist denn eigentlich Eclipse? Wir begannen mit der bekanntesten Antwort: Eclipse ist eine IDE. Von dort aus ging es weiter über Eclipse als Toolsplattform, danach zur Rich Client Platform, die Eclipse zur Anwendungsplattform macht, bis hin zu den Runtime-Technologien von Eclipse. Bisher haben wir die Frage vor allem technisch beantwortet. Doch Eclipse war von Anfang an mehr als ein paar Millionen Zeilen Code. Woher kommt diese Technologie, welche Rollen und Personen stehen dahinter? Und vielleicht ist es noch wichtiger zu wissen, warum alle diese Frameworks Open Source sind, was die Eclipse Foundation tut, was die EPL ist und wie man mit Open-Source-Software im Eclipse-Ökosystem Geld verdienen kann. Diesen Fragen widmen wir uns in diesem dritten und letzten Teil der Serie „Was ist Eclipse?“.

Open Source

Um die starke Verknüpfung von Eclipse mit Open Source, der Eclipse Public License (EPL) und den Aufgaben der Eclipse Foundation zu verstehen, begeben wir uns wieder einmal zu den Anfängen von Eclipse. Das Ziel von IBM war Ende der neunziger Jahre, eine gemeinsame Toolsplattform zu entwickeln, auf der aktuelle und zukünftige Produkte basieren sollten. Als Kriterium für den Erfolg der Plattform identifizierte IBM von Anfang an die Erweiterbarkeit. Es sollte zum einen für den Benutzer der Plattform möglich sein, neue Funktionen hinzuzufügen. Zum anderen sollten Erweiterungen auch von Drittanbietern ausgeliefert werden können. Die geforderte Erweiterbarkeit schlägt sich technisch in der Modularität von Eclipse und zahlreichen Konzepten wie den Extension Points nieder. Doch die technische Möglichkeit alleine hätte nicht den heutigen Erfolg der Eclipse-Plattform bewirkt. Zu Beginn wollten insbesondere Drittanbieter nicht in die neue und unbewährte Plattform investieren. Bliebe die Plattform unter der alleinigen Kontrolle von IBM, gingen Drittanbieter von Erweiterungen eine starke Abhängigkeit zu IBM und damit ein Risiko ein. Das Risiko wäre bei Eclipse noch höher gewesen, wurde die Plattform ja quasi neu aus dem Boden gestampft. IBM sah die Lösung des Problems in der Offenlegung des Quellcodes. Im November 2001 gründete IBM zusammen mit acht weiteren Firmen das Eclipse-Konsortium und schuf das Portal eclipse.org. Unter diesen Gründungsmitgliedern befanden sich neben Rational Software und TogetherSoft auch Konkurrenten wie WebGain und Borland. Das Konsortium verfolgte neue Prinzipien, nach denen noch heute das Eclipse-Ökosystem funktioniert. Die Plattform ist Open Source und wird von der Community kontrolliert. Die Mitglieder des Konsortiums kümmern sich um das Marketing und können auf Basis der freien Plattform kommerzielle Produkte anbieten. Die Grundidee dahinter ist, dass die Plattform Funktionen bietet, die verschiendene Hersteller in ihren Produkten benötigen, die ihnen aber für sich keine Wettbewerbsvorteile bieten. Der meist kleinere Teil der Produkte, der das tatsächliche Geschäftsmodell einer Firma ausmacht, basiert auf der Plattform und wird unter einer kommerziellen Lizenz vertrieben. Die Liste der Firmen, die zu Eclipse beitrugen, war damals sehr kurz. IBM lieferte die mit Abstand umfangreichsten Codebeiträge.

Die Eclipse Public License und die Eclipse Foundation

In den folgenden zwei Jahren nach der Gründung des Eclipse-Konsortiums 2001 kamen die ersten offenen Releases von Eclipse heraus. Insbesondere die Eclipse IDE wurde von der Entwicklergemeinde positiv aufgenommen. Ein kontinuierliches Wachstum führte zu dem Marktanteil bei den Java IDEs von über 60 Prozent (Abb. 1) [1]

Abb. 1: Die beliebtesten Java IDEs [1]

Allerdings war das Feedback der Industrie auf den Aufbau des Ökosystems gemischt, da Eclipse im Wesentlichen von IBM kontrolliert war. Diese Tatsache hielt große Hersteller zurück, verstärkt in Eclipse zu investieren. Eclipse musste also unabhängiger werden. Das war die Geburtsstunde der Eclipse Foundation, einer Non-Profit-Organisation. Das Kernziel der Eclipse Foundation ist der Aufbau einer herstellerneutralen, offenen und transparenten Community rund um Eclipse. Die Foundation definiert dazu die Aufgaben ihrer durch die Mitglieder finanzierten Mitarbeiter in vier Kerndienste:

  • IT-Infrastruktur
  • Entwicklung des Ökosystems
  • Entwicklungsprozess
  • Intellectual-Properties-(IP-)Management

Durch eine unabhängige Infrastruktur, beispielsweise Webseiten, SCMs und Build-Server, wird im Wesentlichen Offenheit und Transparenz erreicht. Kein einzelner Hersteller kann beispielsweise einfach Code aus dem offenen Teil von Eclipse entfernen. Auch die hier anfallenden Kosten werden über Mitgliedsbeiträge finanziert. Die Eclipse Foundation sorgt dafür, neue Mitglieder zu werben, Eclipse als Technologie bekannt zu machen und damit das Ökosystem zu entwickeln. Die Eclipse-Community trifft sich mindestens zweimal im Jahr auf der EclipseCon und der EclipseCon Europe [3]. Zusätzlich organisieren Mitglieder der Community mit Unterstützung der Eclipse Foundation lokale Democamps, bei denen die neuesten Technologien vorgestellt werden. Auch auf vielen anderen Veranstaltungen wie auf der JAX [4] hat Eclipse durch entsprechende Tracks seinen festen Platz.

Der Entwicklungsprozess legt die Regeln der Zusammenarbeit der Interessensgruppen fest. Im Eclipse-Prozess wird so beispielsweise zwischen Committern und Contributern unterschieden. Committer dürfen den Code eines Projekts direkt verändern, Änderungen von Contributern müssen von Committern reviewed werden. Unter Adoptern versteht man im Eclipse-Prozess Firmen oder Individuen, die auf Eclipse-Technolgie aufbauen, während User tatsächliche Benutzer eines der Endprodukte sind. Aktuell verzeichnet die Eclipse Foundation circa 1000 Committer und etwa zehnmal so viele Contributer. Die Anzahl der Adopter und User ist durch die offene Verteilung der Eclipse-Komponenten schwer abzuschätzen, man kann aber zumindest bei den Usern von einer hohen siebenstelligen Zahl ausgehen (Abb. 2).

Abb. 2: Abschätzung der Anzahl von Committern, Contributern, Adoptern und Usern von Eclipse

Ein weiteres Kernelement des Eclipse-Prozesses ist der Release Train, in dessen Rahmen es einmal pro Jahr ein gemeinsames Release vieler Kernkomponenten von Eclipse gibt. Nur durch den Eclipse-Prozess ist die heutige Qualität und Kompatibilität von Eclipse-Projekten bei gleichzeitigem hohen Innovationstempo möglich.

Nicht zuletzt ist die Kernaufgabe der Eclipse Foundation das Intellectual-Properties-(IP-)Management. Hierzu wurde 2004 die maßgeschneiderte Eclipse Public License (EPL) [2] eingeführt, unter der heute alle Eclipse-Komponenten stehen. Die EPL erlaubt im Gegensatz zu anderen Open-Source-Lizenzen explizit die kommerzielle Verwendung der Komponenten. Das bedeutet, ein Hersteller darf eine Eclipse-Komponente in ein Produkt einbauen und dieses kommerziell vertreiben. Als zweiten großen Teil des IP-Managements stellt die Eclipse Foundation über Review-Prozesse sicher, dass Eclipse-Projekte zur EPL kompatiblen Code erzeugen und nicht beispielsweise Drittkomponenten einsetzen, die eine kommerzielle Nutzung verbieten würden. Das bietet für Hersteller von Produkten auf Basis von Eclipse eine in der Open-Source-Welt seltene rechtliche Sicherheit. Gerade diese Sicherheit ermöglicht Investitionen ins Ökosystem, viele Hersteller stellen beispielsweise bezahlte Committer für bestimmte Projekte. Andere Firmen bieten umgekehrt Support, Training und Wartung für Eclipse-Projekte an. Das Modell des Eclipse-Ökosystems dient mittlerweile häufig als Vorbild, wie sich Offenheit und Transparenz mit kommerziellen Interessen vereinen lassen.

Fazit

Die Reise durch das Eclipse-Universum ließe sich natürlich noch weiter fortsetzen, und sicher gibt es für viele noch weitere wichtige Bedeutungen von Eclipse. Nach der technischen Definition von Eclipse in den letzten beiden Beiträgen drehte sich der dritte Teil um den organisatorischen Teil sowie um Firmen und Personen, die hinter Eclipse stehen. Eclipse hat seit seiner Geburt jedes Jahr wieder ein rasantes Wachstum erfahren und sich immer wieder neu erfunden, technisch und organisatorisch. Durch so genannte Industry Working Groups organisieren sich seit kurzer Zeit Firmen mit gemeinsamen Interessen. So blieb und bleibt Eclipse nie stehen. Zuletzt, und für uns am wichtigsten, ist Eclipse aber auch eine Familie aus Gleichgesinnten. Gleichgesinnte, die neue, innovative, aber auch stabile und einsetzbare Technologien erschaffen möchten und sich dazu nächtelang mit Problemen auseinandersetzen. Gleichgesinnte, die sich wochenlang in Foren über die beste Lösung streiten, die jahrelang die oft immer wieder gleichen Fragen von Einsteigern in Newsgroups beantworten und die sich immer über eine Rückmeldung freuen, falls sie, liebe Leser, eine dieser Technologien erfolgreich einsetzen.

Serie: Was ist Eclipse?

Teil 1: Eclipse als Java IDE, IDE Framework und Tools-Plattform
Teil 2: Eclipse als Anwendungsframework und Runtime
Teil 3: Open Source, Eclipse Foundation, EPL und das Eclipse-Ökosystem

Geschrieben von
Jonas Helming
Jonas Helming
Dr. Jonas Helming ist Geschäftsführer der EclipseSource München GmbH sowie Consultant, Trainer und Software Engineer im Bereich Eclipse-Technologie. Seine Schwerpunkte liegen neben Java auf den Technologien Eclipse RCP, Eclipse-Modellierung und Eclipse 4. Weiterhin verfügt er über mehrjährige Erfahrung in der Etablierung und Anwendung von agilen Prozessen. Jonas ist aktives Mitglied der Eclipse-Community, leitet mit der EMF Client Plattform und dem EMFStore zwei bei der Eclipse Foundation gehostete Open-Source-Projekte und ist in einigen weiteren aktiv beteiligt. Als Berater und Trainer verfügt er über mehrjährige Erfahrung in der Vermittlung von Themen rund um Java und Eclipse sowie agilen Prozessen und hält einen Lehrauftrag der Technischen Universität München. Darüber hinaus ist er als Speaker regelmäßig auf Kernkonferenzen wie der JAX oder der EclipseCon. Kontakt: jhelming@eclipsesource.com
Maximilian Kögel
Maximilian Kögel
Dr. Maximilian Kögel ist Geschäftsführer der EclipseSource München GmbH und arbeitet als Senior Software Architect im Bereich Eclipse- und Web-Technologie. Neben seiner Fokussierung auf das Eclipse Modeling Framework und Eclipse RCP ist er auch mit der Entwicklung von Webapplikationen mit AngularJS, Web Components und JSON Schema vertraut. Ein Kernthema seiner Arbeit ist das Erstellen von Modellierungswerkzeugen basierend sowohl auf einem Eclipse- als auch einem Web Technologiestack. Er ist ein aktives Mitglied der Eclipse-Community, regelmäßiger Sprecher auf EclipseCons, Leiter und Committer bei mehreren Eclipse Projekten, u.a. EMFForms und EMF Core und nicht zuletzt Mitglied im Eclipse Architecture Council. Auch außerhalb des Eclipse Ökosystems ist er in Open-Source-Projekten aktiv und leitet z.B. das JSONForms-Projekt zur Entwicklung von Web-Applikationen. Als Berater und Trainer verfügt er über langjährige Erfahrung in der Anwendung und Vermittlung von Expertenwissen rund um Java, Eclipse und Web-Technologien sowie agilen Prozessen.
Wayne Beaton
Wayne Beaton
Wayne Beaton arbeitet für die Eclipse Foundation als Leiter der Committer-Community und „Evangelist“. Er ist Chefredakteur für die Eclipse Corner, PMC Lead des Technology Project und Project Lead der Projekte Eclipse Examples und Woolsey.
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.