# JavaFX ist NICHT für den Desktop!!!



## theuserbl (2. Feb 2010)

Da ja hier doch einige JavaFX verwenden oder überlegen es möglicherweise in Zukunft zu verwenden, hier eine Warnung bezüglich JavaFX: *JavaFX ist nicht für den Desktop gemacht!!!*

Hierzu auch den Beitrag unter
The JavaFX 1.0 License – Completely unreasonable?  Lobo Project Blog
lesen.
Und meinen Kommentar zu einem Beitrag unter
Lobo Integration in DeepaMehta  Lobo Project Blog


In Kurzform:
Die derzeitige JavaFX-Lizenz erlaubt es genau eine Kopie der JavaFX-Runtime für eigene Zwecke anzufertigen.
Es ist somit nicht erlaubt die JavaFX-Runtime eigenen Programmen beizufügen.

In der JavaFX-Lizenz steht folgendes (hier die deutsche Version):


> 5.	Beschränkungen
> 
> (a) Die Softwarekopien, die Ihnen gemäß dieser Vereinbarung von Sun zur Verfügung gestellt werden, sind lizenzierte, aber keine verkauften Kopien. Sun behält sich alle Rechte vor, die nicht gewährt wurden. (b) Sie dürfen eine einzelne Kopie der Software für Archivierungszwecke erstellen – es ist Ihnen jedoch nicht gestattet, die Software für andere Zwecke zu kopieren, zu modifizieren oder zu verteilen. Wenn in der Softwarebegleitdokumentation von Sun bestimmte Teile der Software aufgeführt sind (wie beispielsweise Kopfzeilendateien, Klassenbibliotheken, Referenzquellcodes und/oder weitergabefähige Dateien), die in anderer Weise verwendet werden können, ist Ihnen dies nur in der Art und Weise gestattet, wie es in der Dokumentation von Sun angegeben ist. (c) Es ist Ihnen nicht gestattet, Software zu vermieten, zu leasen, auszuleihen oder mit Verbindlichkeiten zu belasten. (d) Sofern die Geltendmachung nicht durch anwendbares Recht untersagt ist, ist es Ihnen nicht gestattet, Software zu dekompilieren oder zu rekonstruieren. (e) Die allgemeinen Bedingungen dieser Vereinbarung gelten für sämtliche Ihnen von Sun zur Verfügung gestellten Softwareaktualisierungen, die die Original-Software ersetzen oder ergänzen, es sei denn, eine solche Aktualisierung enthält eine separate Lizenz. (f) Es ist Ihnen nicht gestattet, die Ergebnisse von Leistungs- oder Vergleichstests, die an der Software durchgeführt wurden, ohne vorherige schriftliche Genehmigung von Sun zu veröffentlichen oder Dritten zur Verfügung zu stellen. (g) Software unterliegt der Vertraulichkeit und ist urheberrechtlich geschützt. (h) Wenn Software zusammen mit eingebetteter oder gebündelter Software geliefert wird, die den Zweck hat, Funktionen der Software zu aktivieren, ist es Ihnen wenn nicht anders angegeben nicht gestattet, diese Software unabhängig zu verwenden oder Teile dieser Software für die Kommunikation mit Programmen zu verwenden, die keine Softwareprogramme sind. (i) Die Software kann Programme enthalten, die eine automatische Erfassung von Systemdaten und/oder Dienste zur automatischen Aktualisierung von Software ausführen. Systemdaten, die von solchen Programmen erfasst werden, können von Sun, den Subunternehmern von Sun und den Dienstleistungspartnern von Sun verwendet werden, um Fernsystemdienste für Sie bereitzustellen und/oder die Software und Systeme von Sun zu verbessern. (j) Die Software ist nicht für die Entwicklung und Konstruktion sowie den Betrieb und die Wartung von Kernkraftanlagen konzipiert, lizenziert oder entwickelt, und Sun und die Lizenzgeber von Sun lehnen jegliche ausdrückliche oder stillschweigende Garantie der Eignung für solche Zwecke ab. (k) Im Rahmen dieser Vereinbarung werden keinerlei Rechte, Ansprüche oder Anrechte an Warenzeichen, Dienstleistungszeichen, Logos oder Markennamen von Sun oder seinen Lizenzgebern gewährt.
> 
> ...




Wer plant Desktop-Programme auf JavaFX-Basis zu erstellen, der sollte bedenken, daß jeder Endanwender sich JavaFX selbst bei Sun runterladen muß!

Die JavaFX-Entwickler sagen selbst auch immer wieder, daß JavaFX für RIAs (Rich Internet Applications) entwickelt wurde. Somit existieren JavaFX-Programme als Webstart-Programme, die sich von dl.javafx.com die jeweils nötige JavaFX-Runtime runterladen.
Da bleibt dann natürlich nur zu hoffen, daß dl.javafx.com auch immer gut erreichbar ist. Wenn dorthin die Verbindung abbricht laufen erst einmal keine JavaFX-Programme mehr.

Naja, ich selbst halte nicht viel von JavaFX, so lange die derzeitige Lizenz nicht zum Besseren verändert wird. Vielleicht ändert Larry Ellison sie irgendwann...


Und wie gesagt, bezieht sich dieses Problem nur auf JavaFX.
Java selbst ist als OpenJDK unter der GPL+GNU Classpath exception und erlaubt somit mehr als die LGPL (auch das statische Linken ist erlaubt).
Scala steht unter der neuen BSD-Lizenz: Scala License | The Scala Programming Language
Und Groovy steht unter der Apache Lizenz: groovy - Frequently Asked Questions
Hier der Text in der Datei "LICENSE" der Datei groovy-src-1.7.0.zip:



> /*
> * Licensed under the Apache License, Version 2.0 (the "License");
> * you may not use this file except in compliance with the License.
> * You may obtain a copy of the License at
> ...




Somit gibt es nur mit JavaFX Lizenz-Probleme. Die anderen JVM-Compiler (Java, Scala, Groovy) kann man bedenkenlos nutzen.


----------



## theuserbl (3. Feb 2010)

Kleiner Nachtrag zu meinem gestrigen Posting:



theuserbl hat gesagt.:


> Java selbst ist als OpenJDK unter der GPL+GNU Classpath exception und erlaubt somit mehr als die LGPL (auch das statische Linken ist erlaubt).



Mit "auch das statische Linken ist erlaubt" ist gemeint, daß es gegen Dateien jeder belibigen anderen Lizenz statisch gelinkt werden darf. GPL-kompatible Dateien durften schon immer mit GPL-Dateien verlinkt werden. Hatte es halt mal wieder etwas schludrig geschrieben/formuliert.

Den genauen Wortlaut der GNU Classpath exception kann man hier nachlesen: GNU Classpath License - GNU Project - Free Software Foundation (FSF)


Es ist gut möglich, daß Oracle JavaFX unter eine OpenSource-Lizenz stellen wird. Aber das ist halt nur spekuliert.
Meine Vermutung ist, daß Sun extra JavaFX unter eine Lizenz mit vielen Nachteilen gestellt hat, damit ein Aufkäufer von Sun (Oracle), nachher als "edler Ritter" auftauchen kann, der etwas zu OpenSource macht. Ähnlich hatte Novell damals das Yast von SuSE unter die GPL gestellt. Und Nokia Qt unter die LGPL.
Aber das ist halt nur eine Vermutung.

Mehr Klarheit wird es auf der JavaONE im Juni geben: Moscone Center : Events : JavaOne

Wenn es eine Lizenzänderung geben wird, dann wird es dort wohl erwähnt. Wenn dort hingegen nichts dadrüber gesagt wird, kann man davon ausgehen, daß die Lizenz von JavaFX dauerhaft so bleiben wird, wie sie derzeit ist.


----------



## zilti (21. Feb 2010)

Zumindest der Kern von JavaFX ist/war schon immer OpenSource als openjfx und openjfx-compiler.
Und zudem: Wieso sollte die Tatsache, dass die JavaFX-Runtime jeweils von javafx.com heruntergeladen wird, dazu führen, dass JavaFX nicht für den Desktop geeignet sei? Auf Smartphones und BluRay-Playern braucht man auch zuerst die Runtime.


----------

