it-swarm.com.de

Ist Java frei / Open Source oder nicht?

Am 13. November 2006 veröffentlichte Sun einen Großteil von Java als freie und Open-Source-Software (FOSS)) unter den Bedingungen der GNU General Public License () GPL). Am 8. Mai 2007 beendete Sun den Prozess und stellte den gesamten Java-Kerncode unter den Bedingungen für freie Software/Open-Source-Distribution zur Verfügung, abgesehen von einem kleinen Teil des Codes, für den Sun dies nicht tat Halten Sie das Urheberrecht.

OpenJDK (Open Java Development Kit) ist eine kostenlose Open-Source-Implementierung der Programmiersprache Java). Es ist das Ergebnis einer Anstrengung, die Sun Microsystems 2006 begonnen hat Die Implementierung ist unter der GNU General Public License (GNU GPL) mit einer Verknüpfungsausnahme lizenziert.

  • Warum gibt es immer noch Leute, die sagen, dass Java nicht Open Source oder frei ist wie in der Redefreiheit?
  • Vermisse ich etwas
  • Ist Java noch proprietär?
37

Das Problem ist, dass Sie etwas als "Java" bezeichnen müssen, damit es als konform mit der Spezifikation Java) zertifiziert wird.

Eine der Voraussetzungen, um diese Zertifizierung zu erhalten, besteht darin, dass Sie Ihre JVM durch eine Testsuite ausführen - Java Technology Compatibility Kit (TCK) . Diese Testsuite ist NICHT Open Source .

Sie können also eine JVM erstellen, die sich sehr Java) verhält und vollständig Open Source ist. Wenn Sie sie jedoch als "Java-JVM" bezeichnen möchten, müssen Sie die Zertifizierungssuite unter kaufen Eine Nicht-Open-Source-Lizenz. Für viele Open-Source-Befürworter ist dies ein vollständiger Nicht-Starter.

39
James Anderson

Sie sollten diese Antwort gelesen haben, bevor entfernt wurde, welche verwendet werden soll. Die Hauptantwort lautete:

Über Java 7, beachten Sie, dass JDK7 und OpenJDK7 ( nahezu ) identische Codebasis haben.

Beachten Sie die fast Ich habe hervorgehoben.

Aus dem Artikel, der aus dieser Antwort verlinkt ist:

[…] Aber es gibt Code, bei dem Open Source ersetzt wird und bei dem immer noch der alte Closed Source Code verwendet wird. Dies betrifft hauptsächlich die Rasterung von Schriftarten und Grafiken. Der alte Closed-Source-Rasterisierungscode war zwar überlastet, hatte jedoch mehr als 10 Jahre Erfahrung in der Fehlerbehebung und Feinabstimmung usw., und damit jeder Open-Source-Ersatz diesen Code in produzierten JDK-Builds ersetzen kann, muss er nachweislich genauso schnell und stabil sein gute Qualität wie der vorhandene geschlossene Code.

Auch aus der Java FAQ:

Das Java Development Kit (JDK)) kann kostenlos heruntergeladen und für die kommerzielle Programmierung verwendet werden, aber nicht neu verteilen .

Also, nicht Open Source . Nur fast.

Auch wenn es vollständig Open Source wäre, würde das Entwicklungsmodell und Governance dies nicht tun. Dies ist jedoch kein Lizenzproblem.

15
Gallaecio

1997 wandte sich Sun Microsystems an die ECMA, um das Java zu formalisieren, zog sich jedoch bald aus dem Prozess zurück. Java Standard wird tatsächlich durch Java Community Process gesteuert.

Obwohl im Jahr 2006 der größte Teil des Java von Sun Microsystems unter den Bedingungen der GPL veröffentlicht wurde, gehört die aktuelle offizielle Implementierung Oracle.

Da Java keine formale Standardisierung aufweist, die von ECMA, ISO/IEC, ANSI oder einer anderen Standardorganisation von Drittanbietern anerkannt wurde, ist die Oracle-Implementierung der Defacto-Standard. Es gibt jedoch alternative Implementierungen wie GNU Compiler für Java, GNU Klassenpfad, IcedTea-Web usw.

1