Sonntag, 12. Februar 2012


Artikel

September 2010 | Artikel

Java unter Oracle: ein Best-Case-Szenario

(Link zum Artikel: http://www.entwickler.de/jaxenter//003319)

Gedankenspiel: Was der Community im besten Falle widerfahren könnte

Text: Sebastian Meyen, Hartmut Schlosser
  • Teilen
  • kommentieren
  • empfehlen
  • Bookmark and Share
Über die Zukunft von Java unter der neuen Obhut von Oracle wird spätestens seit der Klage gegen Google wegen Android heftig spekuliert. Auch JAXenter hatte gefragt "Was wäre wenn…" und ein Worst-Case-Szenario entworfen, das in einem fiktiven Gedankenspiel die denkbar ungünstigsten Folgen für die Java-Community beschrieb.

Oracle vs. Google

Weitere Meldungen, Berichte und Kommentare zur Auseinandersetzung zwischen Oracle und Google gibt es in der aktuellen JAXenter-Serie: Oracle versus Google

Am Ende des Szenarios stand allerdings die Einsicht, dass sich Oracle eine vollständige Verweigerung gegenüber der Community keinesfalls leisten wird. Zu stark bliese der Gegenwind der vielen Java-Nutzer und einer möglichen Allianz aus IBM, SAP, VMware (SpringSource), Red Hat usw. Und gewiss gibt es auch auf Seiten von Oracle zahlreiche Motive, die eine offene Java-Strategie nahe legen.

Gehen wir deshalb einmal den umgekehrten Weg und stellen uns aus Sicht der Java-Community ein Best-Case-Szenario vor:

Das Szenario:
  • Der Streit zwischen Oracle und Google wird schnell beigelegt, ohne dass Oracle weiterhin Patentverletzungen geltend macht. Google gelobt im Gegenzug, Android wieder unter das Dach der Java ME als eine Art "Java Smartphone Edition" zurückzuführen, sodass Android auf der JVM läuft und keine aus Sicht des JCP proprietären Elemente mehr enthalten sind. Zudem ist Google gefordert, die weitere Entwicklung von Android nicht hinter verschlossenen Türen (wie bisher) durchzuführen, sondern in transparenter Weise unter Einbeziehung der Java-Community.
  • Oracle zieht eine klare Trennlinie zwischen der Java-Plattform und Java-basierenden kommerziellen Produkten und beweist damit seine Glaubwürdigkeit gegenüber der Community, dass es sehr wohl zwischen Plattform-Interessen und eigenen (legitimen) kommerziellen Interessen unterscheiden kann. Diese Trennlinie wird mit einer starken Satzung unterlegt, sodass auch Wettbewerber von Oracle wieder langfristiges Vertrauen in die Java-Plattform setzen können.
  • Oracle überführt den JCP in eine Foundation mit klaren Governance-Regeln. Die Foundation wird paritätisch durch Vertreter der wichtigsten und größten Java-Unternehmen, Vertreter der Open-Source-Szene sowie Vertreter der Java-Entwicklergemeinde (Java-User, System-Entwickler, Projektleiter etc.) besetzt und bildet eine eigenständige Entität. Trademarks und Patente liegen bei dieser Foundation mit dem Auftrag, sie defensiv einzusetzen.
  • Die Finanzierung der Foundation wird qua Satzung gesichert, damit sie nicht zum Spielball wechselnder Interessen wird. Wer mehr bezahlt, gewinnt naturgemäß auch an Einfluss, allerdings muss die Balance zum traditionellen Open-Source-Prinzip der "Meritocracy" hergestellt werden, demzufolge derjenige, der am meisten beiträgt, auch am meisten Entscheidungsbefugnis erhält.
  • Das JDK wird grundsätzlich Open Source, gerne auch weiterhin GPL (um weitere Forks zu erschweren). Wichtig ist, dass auch die TCKs unter der GPL zur Verfügung gestellt und selbst vom JCP in transparenter Weise weiterentwickelt werden. Alternative Implementierungen erhalten Zugriff auf die TCKs, um ihre Java-Kompatibilität unter Beweis zu stellen. Die Genehmigung, das Zertifikat "Java kompatibel" zu verwenden, wird dann von der Foundation nach klaren und strikten Regeln erteilt (um eine unnötige Fragmentierung der Java-Plattform zu vermeiden).
  • Die weitere Entwicklung des JDK läuft zweigleisig: ein Innovationsrat arbeitet an einem dynamischen JDK mit neuesten Technologien und Ansätzen (nicht experimentell, aber Cutting Edge). Ein zweiter Strang baut das "Rock Solid JDK" für den geschäftskritischen Einsatz (EE, SE). Beide Versionen werden selbstverständlich unter einer validen Open-Source-Lizenz bereit gestellt.
  • Oracle stellt auch JavaFX Open Source zur Verfügung. JavaFX entwickelt sich daraufhin mithilfe der Community zu einem ernstzunehmenden Konkurrenten für die RIA-Toolkits von Apple, Adobe und Microsoft und erhält somit auch die Chance, im Mobile-Markt Fuß zu fassen.
  • Die Zwistigkeiten mit der OSGi-Alliance werden beigelegt. Gemeinsam wird ein State-of-the-Art-Modularisierungsstandard für Java entwickelt. Java erhält damit das Innovationspotential zurück, um die Heausforderungen moderner Softwareentwicklung zu bewältigen (Concurrency, Multi-Threading, Clouds).

Auch hier wieder der Hinweis, dass es sich bei dem Szenario um frei erfundene Spekulationen handelt. Doch wie realistisch ist dieses Szenario?

Hält man beide Szenarien - Worst Case und Best Case - nebeneinander, so wird augenfällig, dass gewiss keines der beiden zutreffen wird. Die Wahrheit - und damit die Zukunft Javas - liegt wohl wie so oft in der Mitte. Ob sich allerdings Oracle zur JavaOne mehr zur einen oder zur anderen Richtung bekennt, steht aktuell (Stand Anfang September 2010) noch in den Sternen.

Wie lautet Ihre Meinung? Welches Szenario ist aus Ihrer Sicht das realistischere? Oder schlagen Sie gar ein alternatives Szenario vor?

andere Artikel dieser Serie

Kommentare

Gravatar Marc 03.09.2010
um 07:36 Uhr
Mich würde mal interessieren ob bei der Unsicherheit, die derzeit im Java-Lager herrscht, Microsoft mit seiner .NET Technologie profitiert und dort wieder/noch mehr Zuwachs zu verzeichnen ist? #zitieren
Gravatar steve 03.09.2010
um 09:52 Uhr
Naja, wenn Oracle anfängt für die VM Geld zu verlangen, dann werden wohl Scharen auf .NET umsteigen. Bei .NET kosten zwar einige Dinge auch Geld (z. B. IDE, Datenbank), aber das Modell ist um einiges freundlicher. #zitieren
Gravatar M. Eimer 03.09.2010
um 13:29 Uhr
Woher kommt denn die Verunsicherung? #zitieren
Gravatar Wanja 03.09.2010
um 14:11 Uhr
Ob eine Trennung zwischen einem "cutting edge" und einem "rock solid"-Zweig ein "best case" wäre wage ich arg zu bezweifeln! IMO war es immer ein Hindernis, dass es Java ME und Java SE getrennte wegen gehen und nun soll es z.B. sowas wie ein Java mit und eines ohne Closures geben, oder vergleichbares? Entschuldigung, aber das ist von einem "best case" doch weit entfernt, ich würde es eher zu den "worst cases" zählen. Ich denke so eine Trennung zu haben, nur damit einige wenige, die besonders laut brüllen ein neues Spielzeug bekommen, ist völlig fehl am Platz. Lieber sähe ich eine behutsame langsame Weiterentwicklung der Sprache. Wer "cutting edge" will, sollte vielleicht besser in Richtung Scala gehen. #zitieren