summaryrefslogtreecommitdiff
path: root/talermerchantdemos/blog/articles/de/java-trap.html
diff options
context:
space:
mode:
Diffstat (limited to 'talermerchantdemos/blog/articles/de/java-trap.html')
-rw-r--r--talermerchantdemos/blog/articles/de/java-trap.html313
1 files changed, 313 insertions, 0 deletions
diff --git a/talermerchantdemos/blog/articles/de/java-trap.html b/talermerchantdemos/blog/articles/de/java-trap.html
new file mode 100644
index 0000000..2ada5a7
--- /dev/null
+++ b/talermerchantdemos/blog/articles/de/java-trap.html
@@ -0,0 +1,313 @@
+<!--#set var="ENGLISH_PAGE" value="/philosophy/java-trap.en.html" -->
+
+<!--#include virtual="/server/header.de.html" -->
+<!-- Parent-Version: 1.77 -->
+
+<!-- This file is automatically generated by GNUnited Nations! -->
+<title>Frei, aber gefesselt: Die Java-Falle - GNU-Projekt - Free Software
+Foundation</title>
+
+<!--#include virtual="/philosophy/po/java-trap.translist" -->
+<!--#include virtual="/server/banner.de.html" -->
+<h2>Frei, aber gefesselt: Die Java-Falle</h2>
+
+<p>von <strong><a href="http://www.stallman.org/">Richard Stallman</a></strong>
+| 2004-04-12</p>
+
+
+<div class="announcement"><blockquote><h3> </h3>
+<p><span class="intro">Seitdem dieser Artikel 2004 erstveröffentlicht wurde,
+hat Sun Microsystems&#160;&#8209;&#160;2010 durch Oracle übernommen und
+eingegliedert!&#160;&#8209;&#160;den größten Teil ihrer Umsetzung der
+Java-Plattform-Referenz unter der <a href="/licenses/gpl" xml:lang="en"
+lang="en">GNU General Public License</a> (GPL) <a
+href="https://www.fsf.org/news/fsf-welcomes-gpl-java.html" title="Free
+Software Foundation, Sun begins releasing Java under the GPL, unter: fsf.org
+2006.">relizenziert</a>. Es gibt nunmehr eine freie Entwicklungsumgebung für
+Java. Somit stellt Java als solches keine Falle mehr dar.</span></p>
+
+<p><span class="intro">Man muss jedoch achtsam sein, denn nicht jede
+Java-Plattform ist frei. Sun vertreibt nach wie vor eine lauffähige
+Java-Plattform, die unfrei ist, und andere Unternehmen tun dies auch.</span></p>
+
+<p><span class="intro">Die freie Umgebung für Java heiẞt
+<strong>IcedTea</strong>, der von Sun freigegebene Quellcode ist darin
+enthalten, die sollte <ins>bevorzugt</ins> genutzt werden. IcedTea ist
+bereits in vielen GNU/Linux-Distributionen enthalten, einige enthalten
+jedoch unfreie Java-Plattformen.<br /><br /><em>Hinweis: Die freie Umsetzung
+der Java-Plattform ist<!-- in vielen GNU/Linux Distributionen--> unter der
+Bezeichnung <strong>OpenJDK</strong> bekannt.</em></span></p>
+
+<p><span class="intro">Um zuverlässig sicherzustellen das Java-Programme
+problemlos in einer freien Umgebung ausgeführt werden können, muss man diese
+mit IcedTea entwickeln. Theoretisch sollten die Java-Plattformen kompatibel
+sein, aber sie sind nicht 100%ig kompatibel.</span></p>
+
+<p><span class="intro">Darüber hinaus gibt es unfreie Programme mit den Wort
+<em>Java</em> im Namen, wie beispielsweise <strong>JavaFX</strong>‚ und es
+gibt unfreie Java-Pakete, die einen vielleicht verlocken mögen, man aber
+zurückweisen muss. Die Lizenz/en, von gleich welchen Paketen man plant
+benutzen zu wollen sollten <ins>zuvor</ins> eingehend überprüft
+werden. Möchte man etwa <ins>Java-Swing-Ereignisse</ins> nutzen, sollte man
+dafür sorge tragen die freie Variante zu benutzen, die mit IcedTea kommt.<br
+/><br /><em>Hinweis: Die freie Umsetung der JavaFX-Rahmenstruktur ist unter
+der Bezeichnung <strong>OpenJFX</strong> bekannt.</em></span></p>
+
+<p><span class="intro">Abgesehen von diesen Java-Besonderheiten bleibt die hier
+beschriebene allgemeine Frage bedeutsam, weil jede unfreie Bibliothek oder
+Programmierplattform ein ähnliches Problem verursachen kann. Wir müssen aus
+der Geschichte von Java eine Lehre ziehen, damit wir andere Fallen zukünftg
+vermeiden können.</span></p>
+
+<p><span class="intro">Bitte beachten in diesem Zusammenhang auch den Artikel
+<cite><a href="/philosophy/javascript-trap">Die
+JavaScript-Falle</a></cite>!</span></p>
+</blockquote>
+</div>
+
+<p> </p>
+
+<p>
+ Wenn Ihr Programm Freie Software ist, ist das grundsätzlich
+ethisch&#160;&#8209;&#160;aber es gibt eine Falle, bei der Sie auf der Hut
+sein müssen. Ihr Programm, obwohl an sich frei, kann durch unfreie Software,
+von der es abhängt, eingeschränkt werden. Da das Problem bei heutigen
+Java-Programmen am auffälligsten ist, nennen wir es die Java-Falle.
+</p>
+
+<p>
+ Ein Programm ist Freie Software, wenn deren Nutzer bestimmte entscheidende
+Freiheiten haben. Diese sind grob gesagt: das Programm ausführen, den
+Quellcode untersuchen und ändern, den Quellcode und Binärdateien erneut
+distribuieren und verbesserte Versionen bereitstellen (siehe <cite><a
+href="/philosophy/free-sw">Freie Software. Was ist das?</a></cite>). Ob ein
+bestimmtes Programm in Quellcodeform <em>freie</em> Software ist, hängt
+ausschließlich von der Bedeutung seiner Lizenz ab.
+</p>
+
+<p>
+ Ob das Programm aber in der freien Welt genutzt werden kann, genutzt von
+Menschen die beabsichtigen in Freiheit zu leben, ist schon eine komplexere
+Frage. Dies hängt nicht allein von der Lizenz des Programms selbst ab, weil
+kein Programm isoliert funktioniert. Jedes Programm hängt von anderen
+Programmen ab. Ein Programm muss beispielsweise kompiliert oder
+interpretiert werden und hängt damit von einem Compiler oder Interpreter
+ab. Wenn in Bytecode kompiliert, hängt es von einem Bytecode-Interpreter
+ab. Außerdem benötigt es zur Ausführung Bibliotheken und kann auch andere
+separate Programme aufrufen, die in anderen Prozessen ausgeführt werden. All
+diese Programme sind Abhängigkeiten. Abhängigkeiten sind möglicherweise
+notwendig, damit das Programm überhaupt ausgeführt wird, oder sind
+möglicherweise nur für bestimmte Funktionen notwendig. So oder so, ohne die
+Abhängigkeiten kann das Programm ganz oder teilweise nicht ausgeführt
+werden.
+</p>
+
+<p>
+ Wenn einige der Abhängigkeiten eines Programms unfrei sind, bedeutet das,
+dass das ganze oder ein Teil des Programms nicht auf einem völlig freien
+System ausgeführt werden kann&#160;&#8209;&#160;es ist in der freien Welt
+unbrauchbar. Sicher, wir könnten das Programm zwar weiterverbreiten und
+Kopien auf unseren Rechnern haben, aber das nützt nicht viel, wenn es nicht
+ausgeführt werden kann. Dieses Programm ist zwar Freie Software, aber
+praktisch durch eigene unfreie Abhängigkeiten gefesselt.
+</p>
+
+<p>
+ Dieses Problem kann in jeder Art von Software auftreten&#160;&#8209;&#160;in
+jeder Programmiersprache. Beispielsweise ist ein freies Programm, das nur
+unter Microsoft Windows läuft, in der freien Welt eindeutig
+unbrauchbar. Aber Software, die unter GNU/Linux läuft, kann ebenfalls
+unbrauchbar sein, wenn sie von anderer unfreier Software abhängig ist. In
+der Vergangenheit waren Motif (bevor wir LessTif hatten) und Qt (bevor seine
+Entwickler es zu Freie Software machten) Hauptursachen dieses Problems. Die
+meisten 3D-Grafikkarten funktionieren nur vollständig mit unfreien Treibern,
+die dieses Problem ebenfalls verursachen. Aber die Hauptquelle dieses
+Problems ist heute Java, weil Menschen, die Freie Software schreiben, oft
+meinen, Java sei sexy. Verblendet von der Anziehungskraft der Sprache,
+übersehen sie das Problem der Abhängigkeiten und tappen in die Java-Falle.
+</p>
+
+<p>
+ Suns Java-Umsetzung ist unfrei. Die Standard-Java-Bibliotheken
+ebenfalls. Wir haben zwar freie Java-Umsetzungen, wie den <strong><a
+href="http://gcc.gnu.org/java/" xml:lang="en" lang="en">GNU Compiler for
+Java</a></strong> (GCJ) und <strong><a href="/software/classpath">GNU
+Classpath</a></strong>, aber sie unterstützen noch nicht alle
+Funktionen. Wir haben noch einiges an Aufholarbeit zu leisten.
+</p>
+
+<p>
+ Wenn Sie ein Java-Programm auf Suns Java-Plattform entwickeln, laufen Sie
+Gefahr nur noch <!--(proprietäre)-->Funktionen von Sun zu nutzen, ohne es zu
+bemerken. Bis Sie das herausgefunden haben, können Sie diese schon
+monatelang benutzt haben, und das Ganze umzuschreiben könnte weitere Monate
+dauern. Sie könnten dann sagen, &#8222;Es ist zu viel Arbeit, um
+anzufangen.&#8220; Dann wird Ihr Programm in die Java-Falle getappt
+sein&#160;&#8209;&#160;unbrauchbar in der freien Welt.
+</p>
+
+<p>
+ Der zuverlässigste Weg die Java-Falle zu vermeiden ist nur eine freie
+Umsetzung von Java auf dem System zu haben. Dann, wenn Sie eine
+Java-Funktion oder -Bibliothek benutzen, die Freie Software noch nicht
+unterstützt, werden Sie das stehenden Fußes herausfinden und können diesen
+Quellcode sofort umschreiben.
+</p>
+
+<p>
+ Sun entwickelt weiterhin zusätzliche
+&#8222;Standard&#8220;-Java-Bibliotheken, und fast alle sind unfrei. In
+vielen Fällen ist sogar die Spezifikation einer Bibliothek ein
+Geschäftsgeheimnis, und Suns neueste Lizenz für diese Spezifikationen
+untersagt die Freigabe von nichts geringerem als einer vollständigen
+Umsetzung der Spezifikation (siehe <a
+href="https://jcp.org/aboutJava/communityprocess/JSPA2.pdf" title="Java
+Community Process, Java Specification Participation Agreement, unter:
+jcp.org 2005." type="application/pdf" xml:lang="en"
+lang="en">https://jcp.org/aboutJava/communityprocess/JSPA2.pdf</a> und <a
+href="https://jcp.org/aboutJava/communityprocess/final/jsr129/j2me_pb-1_0-fr-spec-license.html"
+title="Java Community Process, J2ME Personal Basis Profile Specification"
+type="application/pdf" xml:lang="en"
+lang="en">https://jcp.org/aboutJava/communityprocess/final/jsr129/j2me_pb-1_0-fr-spec-license.html</a>).
+</p>
+
+<p>
+ Glücklicherweise ermöglicht diese Lizenzspezifikation die Freigabe einer
+Umsetzung als Freie Software; anderen, die die Bibliothek erhalten, kann
+eingeräumt werden sie zu ändern und müssen sich nicht an die Spezifikation
+halten. Aber diese Bedingung bewirkt die Verwendung eines
+zusammenarbeitenden Entwicklungsmodells zu verbieten, um die freie Umsetzung
+zu erzeugen. Die Verwendung dieses Modells würde die Veröffentlichung von
+unvollständigen Versionen mit sich bringen, was jenen, die die
+Spezifikationen gelesen haben, nicht eingeräumt wird.
+</p>
+
+<p>
+ In den frühen Tagen der Freie-Software-Bewegung war es unmöglich zu
+vermeiden, dass man von unfreien Programmen abhängig war. Bevor wir den GNU
+C-Compiler hatten, hing jedes C-Programm (frei oder nicht) von einem
+unfreien C-Compiler ab. Bevor wir die GNU C-Bibliothek hatten, hing jedes
+Programm von einer unfreien C-Bibliothek ab. Bevor wir Linux hatten, den
+ersten freien Betriebssystemkern, hing jedes Programm von einem unfreien
+Systemkern ab. Bevor wir Bash hatten, musste jedes Shell-Skript von einer
+unfreien Shell interpretiert werden. Es war unvermeidlich, dass unsere
+ersten Programme zunächst durch diese Abhängigkeiten behindert würden. Aber
+wir akzeptierten das, weil unser Plan beinhaltete diese nachträglich zu
+befreien. Unser oberstes Ziel&#160;&#8209;&#160;ein im Wesentlichen alle zum
+Betrieb notwendigen Komponenten umfassendes (Self-Hosting)
+GNU-Betriebssystem&#160;&#8209;&#160;beinhaltete freien Ersatz für all jene
+Abhängigkeiten; sofern wir das Ziel erreichten, würden all unsere Programme
+befreit. So geschah es: mit dem GNU/Linux-System können wir nun diese
+Programme auf freien Plattformen ausführen.
+</p>
+
+<p>
+ Heute ist die Situation eine andere. Wir haben nun leistungsfähige freie
+Betriebssysteme und viele freie Programmierwerkzeuge. Welche Aufgabe Sie
+auch immer erledigen wollen, Sie können es auf einer freien Plattform tun;
+es gibt keinen Grund, eine unfreie Abhängigkeit auch nur zeitweilig zu
+akzeptieren. Der Hauptgrund warum Menschen in die Falle tappen besteht heute
+darin, weil sie dabei nicht darüber nachdenken. Die einfachste Lösung des
+Problems ist den Menschen beizubringen dies zu erkennen und nicht
+hineinzufallen.
+</p>
+
+<p>
+ Um Ihren Java-Quellcode vor der Java-Falle zu schützen, installieren Sie
+eine freie Java-Entwicklungsumgebung und benutzen Sie sie. Welche Sprache
+auch immer Sie benutzen, halten Sie generell die Augen offen und prüfen Sie
+den freien Status der Programme, von denen Ihr Quellode abhängt. Am
+einfachsten, um zu überprüfen ob ein Programm frei ist, ist danach im <a
+href="http://directory.fsf.org/">Freie-Software-Verzeichnis
+&lt;directory.fsf.org&gt;</a> zu gucken. Sollte ein Programm nicht
+aufgeführt sein, können die Lizenz(en) anhand <a
+href="/licenses/license-list"><em>Verschiedene Lizenzen und Kommentare</em>
+&lt;gnu.org/licenses/license-list.html&gt;</a> überprüft werden.
+</p>
+
+<p>
+ Wir versuchen die in die Falle getappten Java-Programme zu befreien. Wenn
+Sie also die Sprache Java mögen, laden wir Sie ein bei der Entwicklung von
+GNU Classpath zu helfen. Auch hilfreich ist Programme mit GCJ und GNU
+Classpath auszuprobieren und etwaige Probleme, die in bereits
+implementierten Klassen auftreten, zu berichten. Allerdings wird GNU
+Classpath’ letzter Schliff Zeit beanspruchen. Werden weiterhin mehr unfreie
+Bibliotheken geschrieben, werden wir möglicherweise niemals alle aktuellen
+haben. Legen Sie also Ihrer freien Software keine Fesseln an. Wenn Sie heute
+ein Anwendungsprogramm schreiben, schreiben Sie es, damit es von Anfang an
+in freien Umgebungen ausgeführt werden kann.
+</p>
+
+<h3>Siehe auch:</h3>
+<p>Richard Stallman, <cite><a href="/philosophy/sun-in-night-time">Supergute
+Tage oder Die sonderbare Welt von Sun</a></cite> 2006.</p>
+
+<div class="translators-notes">
+
+<!--TRANSLATORS: Use space (SPC) as msgstr if you don't have notes.-->
+ </div>
+</div>
+
+<!-- for id="content", starts in the include above -->
+<!--#include virtual="/server/footer.de.html" -->
+<div id="footer">
+<div class="unprintable">
+
+<p>Bitte senden Sie allgemeine Fragen zur FSF &amp; GNU an <a
+href="mailto:gnu@gnu.org">&lt;gnu@gnu.org&gt;</a>. Sie können auch die <a
+href="/contact/"><span xml:lang="en" lang="en">Free Software
+Foundation</span> kontaktieren</a>. Ungültige Verweise und andere
+Korrekturen oder Vorschläge können an <a
+href="mailto:webmasters@gnu.org">&lt;webmasters@gnu.org&gt;</a> gesendet
+werden.</p>
+
+<p>
+<!-- TRANSLATORS: Ignore the original text in this paragraph,
+ replace it with the translation of these two:
+
+ We work hard and do our best to provide accurate, good quality
+ translations. However, we are not exempt from imperfection.
+ Please send your comments and general suggestions in this regard
+ to <a href="mailto:web-translators@gnu.org">
+
+ &lt;web-translators@gnu.org&gt;</a>.</p>
+
+ <p>For information on coordinating and submitting translations of
+ our web pages, see <a
+ href="/server/standards/README.translations.html">Translations
+ README</a>. -->
+Bei der Übersetzung dieses Werkes wurde mit größter Sorgfalt
+vorgegangen. Trotzdem können Fehler nicht völlig ausgeschlossen
+werden. Sollten Sie Fehler bemerken oder Vorschläge, Kommentare oder Fragen
+zu diesem Dokument haben, wenden Sie sich bitte an unser Übersetzungsteam <a
+href="mailto:web-translators@gnu.org?cc=www-de-translators@gnu.org">&lt;web-translators@gnu.org&gt;</a>.</p>
+<p>Weitere Informationen über die Koordinierung und Einsendung von
+Übersetzungen unserer Internetpräsenz finden Sie in der <a
+href="/server/standards/README.translations">LIESMICH für Übersetzungen</a>.</p>
+</div>
+
+<p>Copyright &copy; 2004, 2010, 2015 Richard Stallman.</p>
+
+<p>Dieses Werk ist lizenziert unter einer <a rel="license"
+href="//creativecommons.org/licenses/by-nd/4.0/deed.de">Creative Commons
+Namensnennung-Keine Bearbeitung 4.0 International</a>-Lizenz.</p>
+
+<!--#include virtual="/server/bottom-notes.de.html" -->
+<div class="translators-credits">
+
+<!--TRANSLATORS: Use space (SPC) as msgstr if you don't want credits.-->
+<strong>Übersetzung:</strong> Andreas K. Förster, 2006. Jоегg Kоhпе <a
+href="https://savannah.gnu.org/projects/www-de">&lt;www-de&gt;</a>, 2013,
+2015.</div>
+
+<p class="unprintable"><!-- timestamp start -->
+Letzte Änderung:
+
+$Date: 2016/12/03 23:45:10 $
+
+<!-- timestamp end -->
+</p>
+</div>
+</div>
+</body>
+</html>