diff options
Diffstat (limited to 'talermerchantdemos/blog/articles/de/java-trap.html')
-rw-r--r-- | talermerchantdemos/blog/articles/de/java-trap.html | 313 |
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 ‑ 2010 durch Oracle übernommen und +eingegliedert! ‑ 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 ‑ 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 ‑ 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 ‑ 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, „Es ist zu viel Arbeit, um +anzufangen.“ Dann wird Ihr Programm in die Java-Falle getappt +sein ‑ 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 +„Standard“-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 ‑ ein im Wesentlichen alle zum +Betrieb notwendigen Komponenten umfassendes (Self-Hosting) +GNU-Betriebssystem ‑ 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 +<directory.fsf.org></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> +<gnu.org/licenses/license-list.html></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 & GNU an <a +href="mailto:gnu@gnu.org"><gnu@gnu.org></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"><webmasters@gnu.org></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"> + + <web-translators@gnu.org></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"><web-translators@gnu.org></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 © 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"><www-de></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> |