it-swarm.com.de

Was ist der Grund, OpenJDK zu verwenden?

Ich verstehe irgendwie die Unterschiede zwischen Oracle JDK und Open JDK.
Ich kann jedoch keine Gründe finden, Open JDK zu verwenden.
Weil Oracle JDK bereits alles hat, was man braucht und manchmal schneller als Open JDK.

In welchen Fällen sollte jemand Open JDK verwenden?
Geht es nur um Legalitätsfragen?
Wenn ja, was sind dann Probleme?
.__, weil ich immer noch alle meine Projekte mit Oracle JDK entwickle

7
Turkhan Badalov

November 2017: Zu der Zeit, als diese Frage gestellt wurde, waren die Gründe für die Wahl zwischen OpenJDK und Oracle JDK:

  • Verfügbarkeit von Builds/Installern für bestimmte Plattformen. Zum Beispiel habe ich das letzte Mal überprüft, dass es keine Oracle JDK-Distributionen im ".deb" -Format für Debian/Ubuntu gibt. Und kein OpenJDK baut für Windows.

  • Oracle JDK bietet einige kommerzielle Funktionen, die von bezahlten Personen aktiviert werden können. Sie sind in OpenJDK nicht vorhanden.

  • Oracle JDK hat eine nervige Click-through-Lizenz. Dies ist problematisch, wenn Sie versuchen, die Bereitstellung zu automatisieren. z.B. zum Cloud-VMs. Im Gegensatz dazu kann OpenJDK unter Linux (mindestens) mithilfe des Paketmanagers der Plattform installiert und aktualisiert werden.

  • Es kann Probleme geben, wenn Sie kommerzielle Unterstützung für OpenJDK wünschen.

Es gab keine substantiellen Lizenzunterschiede zwischen Oracle JDK und OpenJDK, wenn Sie nur vorhaben, die Software zu verwenden. (Es gibt einige Einschränkungen für die Binärweitergabe für Oracle JDK, aber sie betreffen den Versand von nicht standardmäßigen oder abgespeckten Versionen der Java Plattform.)

In Zukunft werden einige dieser Unterschiede laut dieser Blog-Seite verschwinden:


Update im Dezember 2018:

  • Ab Januar 2019 wird Oracle JDK Java 8 EOL für kommerzielle Zwecke sein. (Für den persönlichen Gebrauch wird der kostenlose Support jedoch bis Januar 2020 fortgesetzt.)

  • Java 9 und Java 10 sind EOL.

  • Kommerzielle Verwendungen von Oracle JDK Java 11 und höher erfordern einen Supportvertrag oder ein Abonnement von Oracle. OpenJDK Java Builds haben diese Anforderung nicht.

  • Oracle bietet keine Unterstützung für OpenJDK Java Builds), aber Support wird von Drittanbietern angeboten. Drittanbieter portieren auch Oracle-Sicherheitsupdates für OpenJDK-Builds.

Weitere Lektüre:

8
Stephen C

OpenJDK ist eng in den Distributionsupdateprozess integriert. Auf Fedora bedeutet dies beispielsweise, dass Sie einfach laufen können

dnf update

ohne das Aktivieren von Repositorys von Drittanbietern, und Sie erhalten die neueste OpenJDK-Version mit allen relevanten Fixes.

OpenJDK wird vom Distributionsanbieter für diese bestimmte Distribution getestet. Oracle bietet verschiedene Referenzplattformen zum Testen von OpenJDK. Im Fall von Fedora wird in Java geschriebene Software mit der von der Distribution bereitgestellten OpenJDK-Version getestet, während die Kombination dieser Software mit Oracle JDK wesentlich weniger getestet wird.

Oracle bietet außerdem Java-Downloads mit zusätzlicher Software wie Browser-Symbolleisten, Leistungsmessung und Überwachungstools an.

2
Florian Weimer

Für diejenigen, die dies 2019 gelesen haben.

Java SE 8 ist die letzte Java SE-Version, die auf Desktop Deployment abzielt (z. B. Java Web Start und eine eigenständige System-JRE). Java SE 8 wird im Januar 2019 nicht mehr öffentlich zugänglich sein. Danach müssen kommerzielle Benutzer entweder auf andere Technologien umsteigen oder ein Java SE-Abonnement erwerben.

Ein weiterer Grund, OpenJDK zu verwenden (zusätzlich zu dem, was Stephen Csagte ): es ist für alle Zwecke kostenlos.

0
madhead