Im Gespräch mit Marcel Bruch, TU Darmstadt

Eclipse & Academia: Zwei verschiedene Welten?

Dass Eclipse in Lehre und Forschung großflächig zum Einsatz kommt, ist eine erfreuliche Tatsache. Dass allerdings wenige der im universitären Kontext entstehenden Projekte den Sprung hin zu einem offiziellen Eclipse-Projekt oder gar zu einem kommerziell vermarktbaren Produkt schaffen, ist die Kehrseite der Medaille. Weshalb ist dies so? Sind die Bedingungen im akademischen Umfeld so weit von den Anforderungen des Marktes bzw. dem Wertesystem der Eclipse Foundation entfernt? In unserer Serie „Eclipse & Academia“ berichten Projektleiter an verschiedenen deutschen Universitäten von ihren Erfahrungen mit ihren eigenen universitären Eclipse-Projekten und geben Anregungen, wie beide Welten – Eclipse und Academia – einander angenähert werden könnten.

JAXenter: Wie weit verbreitet ist Eclipse an Ihrer Universität?

Marcel Bruch: Eclipse wird bei uns großflächig für Vorlesungen als Java IDE eingesetzt. Das umfasst sowohl Grundstudiumsvorlesungen mit bis zu 700 Studenten als auch Hauptstudiumsveranstaltungen zwischen 20 und 100 Studenten. Darüber hinaus gibt es ein eigenes „Eclipse Plug-in Development“-Praktikum, in dem Studenten eigene Tools auf Basis von Eclipse entwickeln können.

JAXenter: Können Sie Ihr eigenes Eclipse-basiertes Universitätsprojekt Code Recommenders [1] kurz vorstellen?

Marcel Bruch: In zwei Sätzen zusammengefasst: Wir entwickeln Tools, die den Quellcode von bestehenden Anwendungen analysieren und Muster erkennen, wie Entwickler die API eines Frameworks korrekt benutzen. Diese Muster stellen wir dann anderen Usern wieder innerhalb der IDE zur Verfügung – z. B. als intelligente Code Completion, erweiterte API-Dokumentation oder durch eine smarte Beispielcodesuchmaschine.

JAXenter: Welche Probleme gibt es aus Ihrer Sicht, den Sprung vom rein akademischen Projekt hin zum offiziellen Eclipse-Projekt bzw. zum kommerziell vermarktbaren Produkt zu schaffen?

Marcel Bruch: Ich glaube, hier gibt es eine Reihe von Fragen, die sich ein Forschungsprojekt (bzw. das Team dahinter) erst einmal stellen muss. Zuallererst die Frage: Warum sollten wir das tun? Oder anders formuliert: Was bringt es dem Forschungsprojekt, ein Eclipse-Projekt zu werden?

Ziel eines Forschungsprojekts ist oftmals nicht ein vermarktbares Produkt zu schaffen, sondern bestehende Grenzen zu erweitern und neue Möglichkeiten zu eröffnen – sprich neue Ideen einfach auszuprobieren und auszureizen, was technisch möglich ist. Ob und wie sich diese Ideen für die Praxis umsetzen lassen, ist hierbei erst einmal zweitrangig. Ein Eclipse-Projekt hat eine andere Zielsetzung. Hier muss ein Mehrwert für die User entstehen, d. h. neben einer guten Idee muss das Tool seinen Benutzer bei seiner Arbeit sinnvoll unterstützen. Ein Forschungsprojekt muss also den Sprung weg von einem innovativen aber instabilen Forschungsprototypen hin zu einem praktisch einsetzbaren, stabilen Werkzeug schaffen.
Dieser Schritt ist in mehrerer Hinsicht schwierig. Zum einen erfordert die Stabilisierung eine Menge Ressourcen (Arbeitszeit, Hardwareinfrastruktur etc.). Zum anderen bindet ein Produkt aber auch langfristig Ressourcen, die somit nicht mehr für die Entwicklung neuer Ideen zur Verfügung stehen. Hier muss eine Grundsatzentscheidung gefällt werden: Soll das Projekt langfristig als Forschungsprojekt weiterentwickelt oder als Spin-off kommerzialisiert werden? Eines der aktuell bekanntesten Forschungsprojekte dürfte wohl Scala sein, das mittlerweile auf eine zehnjährige Unientwicklungszeit zurückblicken kann. Eclipse Mylyn dagegen ist ein Beispiel für ein erfolgreiches Uni-Spin-off.

Beide Varianten starten mit unterschiedlichen Voraussetzungen. Forschungsprojekte werden für gewöhnlich von einem sehr kleinen Team (ein bis zwei Doktoranden) über einen Zeitraum von drei bis fünf Jahren entwickelt. Um solche Projekte langfristig weiterzuentwickeln, muss ein solches Projekt dauerhaft von einem Fachgebiet unterstützt und koordiniert werden. Andernfalls bettet sich innerhalb kürzester Zeit nach dem Ende der Promotion das Forschungsprojekt zur Ruhe.
Ein Spin-off dagegen benötigt Anschubkapital und damit Sponsoren, die dem Projekt in der Gründungsphase dabei helfen, Geschäftsideen zu entwickeln und das Projekt soweit zu bringen, dass es sich selbst finanzieren kann. Vor allem bei Letzterem kann die Eclipse-Community bzw. die Eclipse Foundation helfen.

JAXenter: Welche Hilfestellungen würden Sie sich hier von Seiten der Eclipse-Community bzw. der Eclipse Foundation wünschen?

Marcel Bruch: Unterstützungen für Spin-offs: Eclipse bietet Spin-offs schon jetzt durch seine große Verbreitung (über 1 Million Downloads pro Monat), Eclipse Marketplace, Planet Eclipse Blog Sphere, Konferenzen wie EclipseCon und Eclipse Summit Europe sowie die zahlreichen Eclipse Demo Camps als eine gute Ausgangssituation, um mit der Eclipse-Community in Kontakt zu kommen. Was könnte die Eclipse Foundation darüber hinaus noch tun? Aus meiner Sicht benötigen Spin-offs zusätzliche Unterstützung in vor allem zwei Bereichen: Akquirierung von Sponsoren für die Anschubfinanzierung und Hilfe beim Aufbau einer Community.

Die Anschubfinanzierung stellt für ein Spin-off das größte Problem dar. Wenige Spin-offs kommen mit einer eigenen Startfinanzierung daher und müssen sich auf Sponsorensuche machen. Die Eclipse Foundation steht in engem Kontakt zu ihren mehr als 160 Membern und zahlreichen weiteren Industriepartnern. Die Foundation könnte hier bei der Suche nach Sponsoren helfen.

Die nächste Herausforderung stellt der Aufbau einer Usercommunity dar. Spin-offs zeichnen sich selten durch übermäßige Erfahrung im Umgang mit dem Aufbau von Communities aus. Das heißt auch, dass ihnen eine Reihe von vermeidbaren Fehlern im Umgang mit der Community unterlaufen. Hier könnten Eclipse-Mentoren das Projekt unterstützen, indem sie helfen, gute Standards zu definieren und ein Stück weit ihre Erfahrungen in den Entwicklungsprozess einzubringen. Darüber hinaus kann die Foundation neuen Projekten auch durch verschiedene Marketingaktionen unterstützen.

Mal losgelöst von den Spin-offs – wie könnte die Eclipse Foundation Forschungsprojekte ganz allgemein unterstützen bzw. auch von ihnen profitieren? Seit Jahren entwickeln Universitäten interessante Ideen und Tools, die es aber leider niemals in die Eclipse-Community geschafft haben. Das liegt unter anderem daran, dass die Toolentwickler diese Projekte nicht langfristig unterstützen wollten oder konnten. Extrem schade ist das aber vor allem für die Eclipse-Community, denn durch den fehlenden Kontakt zur Research-Community entgehen ihr zahlreiche innovative Features („Exciter Features“) und der Plattform damit gute Möglichkeiten, sich den Ruf als Innovations-IDE zu erhalten. Ein Beispiel hierfür ist die Call Chain Completion von Idea. Hier sucht die IDE für eine Variablenzuweisung automatisch alle möglichen Methodenaufrufketten in beliebiger Tiefe ab und präsentiert dem Entwickler dann alle passenden Call Chains als Code-Templates, die eine Instanz des gesuchten Typs zurückliefern [2] – ein sehr beliebtes Feature bei Idea, das seinen Weg leider noch nicht in Eclipse gefunden hat, und das, obwohl eine smartere Lösung auf Eclipse-Basis schon seit 2006 in der Forschungswelt publiziert wurde: XSnippet [3].

Mein Wunsch wäre hier, dass die Eclipse Foundation einen deutlich engeren Kontakt zur Research-Community halten würde, um neue Trends und Tools schnell aufzugreifen und in die Entwicklungsumgebung einfließen zu lassen. Hier könnte schon ein aktives Ansprechen und gutes Marketing dafür sorgen, dass viele Forschungstools tatsächlich ihren Weg in den Kern von Eclipse finden und somit neue attraktive Alleinstellungsmerkmale für Eclipse entstehen. Aber darüber hinaus profitieren natürlich auch Forschungsprojekte von diesen Kooperationen (z. B. durch Userstudien etc.). Indes muss nicht jedes Projekt direkt in den Kern von Eclipse aufgenommen werden. Eine gut sichtbare Plattform für solche Forschungsprojekte auf Eclipse-Basis zu schaffen, könnte schon viel für den guten Ruf tun.

Sicherlich sind diese Ansätze und Hilfestellungen weit vom Standard anderer Communities entfernt, und im Gegenzug müssen neue Projekte natürlich auch ihre Leistung für das Eclipse Ecosystem erbringen. Aber Eclipse ist ja auch keine Standardcommunity.

JAXenter: Vielen Dank für dieses Gespräch!

Marcel Bruch ist wissenschaftlicher Mitarbeiter im Fachgebiet Softwaretechnik an der Technischen Universität Darmstadt und Koordinator des Projekts „Eclipse Code Recommenders“.
Kommentare

Schreibe einen Kommentar

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