[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
www/philosophy java-trap.de.html
From: |
Richard Steuer |
Subject: |
www/philosophy java-trap.de.html |
Date: |
Sun, 30 Jul 2006 19:31:30 +0000 |
CVSROOT: /web/www
Module name: www
Changes by: Richard Steuer <ri_st> 06/07/30 19:31:29
Added files:
philosophy : java-trap.de.html
Log message:
first version, by A.K. Foerster
CVSWeb URLs:
http://web.cvs.savannah.gnu.org/viewcvs/www/philosophy/java-trap.de.html?cvsroot=www&rev=1.1
Patches:
Index: java-trap.de.html
===================================================================
RCS file: java-trap.de.html
diff -N java-trap.de.html
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ java-trap.de.html 30 Jul 2006 19:31:28 -0000 1.1
@@ -0,0 +1,302 @@
+<?xml version="1.0" encoding="utf-8" ?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de">
+
+<head>
+<title>Frei, aber gefesselt - Die Java-Falle</title>
+<meta http-equiv="content-type" content='text/html; charset=utf-8' />
+<link rel="stylesheet" type="text/css" href="/gnu.css" />
+<link rev="made" href="mailto:address@hidden" />
+</head>
+
+<!-- This document is in XML, and xhtml 1.0 -->
+<!-- Please make sure to properly nest your tags -->
+<!-- and ensure that your final document validates -->
+<!-- consistent with W3C xhtml 1.0 and CSS standards -->
+<!-- See validator.w3.org -->
+
+<body>
+
+<p><a href="#translations">Übersetzungen</a> dieser Seite</p>
+
+<h3>Frei, aber gefesselt - Die Java-Falle</h3>
+
+<a href="/graphics/philosophicalgnu.html"><img
src="/graphics/philosophical-gnu-sm.jpg" alt=" [image of a Philosophical Gnu] "
/></a>
+
+<p>von <a href="http://www.stallman.org/">Richard Stallman</a><br />
+12. April, 2004</p>
+
+<hr />
+
+<p>
+ Wenn Ihr Programm Freie Software ist, ist das grundsätzlich ethisch in
+ Ordnung -- aber es gibt eine Falle, auf die Sie aufpassen müssen. Ihr
+ Programm, obwohl es selber frei ist, kann durch unfreie Software, von
+ der es abhängt, eingeschränkt sein. Da dieses Problem heutzutage
vor
+ allem bei Java-Programmen bekannt ist, nennen wir es die Java-Falle.
+</p>
+
+<p>
+ Ein Programm ist Freie Software, wenn seine Benutzer bestimmte
+ entscheidende Freiheiten haben. Diese sind grob gesagt: Die Freiheit
+ das Programm laufen zu lassen, die Freiheit die Quellen zu studieren
+ und &AUML;nderungen vorzunehmen, die Freiheit, Quell- und Binär-Dateien
+ zu vertreiben, und die Freiheit, verbesserte Versionen zu
veröffentlichen.
+ (siehe
+ <a href="http://www.gnu.org/philosophy/free-sw.de.html">
+ http://www.gnu.org/philosophy/free-sw.de.html</a>.)
+ Ob ein bestimmtes Programm Freie Software ist, hängt
ausschließlich von der
+ Bedeutung seiner Lizenz ab.
+</p>
+
+<p>
+ Ob das Programm aber in der Freien Welt verwendet werden kann, ob es
+ von Leuten verwendet werden kann, die bewusst in Freiheit leben, ist
+ schon eine komplexere Frage. Das hängt nicht von der Lizenz des
+ Programmes selber ab, denn kein Programm läuft in Isolation. Jedes
+ Programm hängt von anderen Programmen ab. Zum Beispiel muss ein
+ Programm kompiliert oder interpretiert werden, somit ist es abhängig
+ von einem Compiler oder Interpreter. Wenn es in Byte-Code kompiliert
+ wird, hängt es von einem Byte-Code-Interpreter ab. Außerdem
benötigt es
+ Bibliotheken, damit es laufen kann, und es könnte andere Programme
+ aufrufen, die in anderen, separaten Prozessen ablaufen. All diese
+ Programme sind Abhängigkeiten. Abhängigkeiten, die notwendig sein
+ könnten, damit das Programm überhaupt läuft, oder sie
könnten nur für
+ bestimmte Eigenschaften notwendig sein. So oder so, das ganze oder ein
+ Teil des Programmes funktioniert nicht ohne diese Abhängigkeiten.
+</p>
+
+<p>
+ Wenn einige der Abhängigkeiten des Programmes unfrei sind, bedeutet
+ das, dass das ganze oder ein Teil des Programmes nicht auf einem
+ vollkommen freien System laufen kann -- es ist in der Freien Welt
+ unbrauchbar. Natürlich, wir könnten das Programm zwar vertreiben
und
+ Kopien auf unseren Maschinen haben, aber das nützt wenig, wenn es da
+ nicht läuft. Dieses Programm ist zwar Freie Software, aber es ist
+ praktisch in Fesseln gelegt durch seine unfreien Abhängigkeiten.
+</p>
+
+<p>
+ Dieses Problem kann in jeder Art von Software auftauchen, in jeder
+ [Programmier-]Sprache. Zum Beispiel ein freies Programm, das nur unter
+ Microsoft Windows läuft, ist eindeutig unbrauchbar in der Freien Welt.
+ Aber Software, die unter GNU/Linux läuft, kann ebenfalls unbrauchbar
+ sein, wenn sie von anderer unfreier Software abhängt. In der
+ Vergangenheit waren Motif (bevor wir LessTif hatten) und Qt (bevor
+ seine Entwickler es zu Freier Software gemacht hatten) die großen
Auslöser
+ dieses Problemes. Die meisten 3D-Video-Karten funktionieren nur
+ vollständig mit unfreien Treibern, was dieses Problem ebenfalls
hervorruft.
+ Aber die Hauptquelle dieses Problemes ist heutzutage Java, denn Leute,
+ die Freie Software schreiben, finden Java oft sexy. Verblendet von der
+ Anziehungskraft, die diese Sprache auf sie ausübt, übersehen sie
das
+ Problem der Abhängigkeiten und sie fallen in die Java-Falle.
+</p>
+
+<p>
+ Suns Implementation von Java ist unfrei. Blackdown ist ebenfalls
+ unfrei; es ist eine Adaption von Suns proprietärem Code. Die
+ Standard-Java-Bibliotheken sind gleichfalls unfrei. Wir haben zwar
+ freie Implementationen von Java, wie zum Beispiel der GNU Compiler für
+ Java (GCJ) und GNU Classpath, aber die unterstützen noch nicht alle
+ Eigenschaften. Wir sind noch bei der Aufholjagt.
+</p>
+
+<p>
+ Wenn Sie ein Java-Programm unter Suns Java-Plattform entwickeln, sind
+ Sie selber dafür verantwortlich, wenn Sie Sun-eigene Eigenschaften
+ verwenden, ohne dass es Ihnen übehaupt auffällt. Zu der Zeit, wenn
Sie
+ dieses herausfinden, könnten Sie diese schon monatelang verwendet
haben,
+ und das Ganze umzuschreiben könnte wiederum Monate dauern. Sie
könnten dann
+ sagen: "Es wäre zu viel Arbeit, nochmal neu anzufangen." Dann wird Ihr
+ Programm in die Java-Falle gefallen sein; es wird in der Freien Welt
+ unbrauchbar sein.
+</p>
+
+<p>
+ Der zuverlässige Weg, die Java-Falle zu vermeiden, ist, nur eine freie
+ Implementation von Java auf dem System zu haben. Wenn Sie dann eine
+ Java-Eigenschaft oder -Bibliothek verwenden, die Freie Software noch
+ nicht unterstützt, werden Sie das unmittelbar herausfinden, und Sie
+ können den Code sofort umschreiben.
+</p>
+
+<p>
+ Sun fährt damit fort, zusätzliche "Standard"-Java-Bibliotheken
+ zu entwickeln, und die sind fast alle unfrei; in vielen Fällen sind
+ sogar die Spezifikationen der Bibliothek ein Geschäftsgeheimnis
+ [trade secret], und Suns jüngste Lizenz für solche Spezifikationen
+ verbietet die Veröffentlichung von allem, das weniger als eine
+ vollständige Implemetation der Spezifikation darstellt.
+ (siehe
+ <a href="http://jcp.org/aboutJava/communityprocess/JSPA2.pdf">
+ http://jcp.org/aboutJava/communityprocess/JSPA2.pdf</a> und
+ <a
href="http://jcp.org/aboutJava/communityprocess/final/jsr129/j2me_pb-1_0-fr-spec-license.html">
+
http://jcp.org/aboutJava/communityprocess/final/jsr129/j2me_pb-1_0-fr-spec-license.html</a>
als Beispiele).
+</p>
+
+<p>
+ Zum Glück erlaubt diese Spezifikations-Lizenz die Veröffentlichung
als
+ Freie Software; andere, die diese Bibliothek erhalten, können
+ bevollmächtigt werden, sie zu verändern und sind nicht
verpflichtet,
+ an der Spezifikation zu kleben. Aber diese Bedingung hat den
+ Effekt, dass sie die Verwendung eines gemeinschaftlichen
+ Entwicklungs-Modells zur Erstellung einer freien Implementierung
+ verbietet. Die Verwendung dieses Modelles würde die
Veröffentlichung
+ von unvollständigen Versionen mit sich bringen, was denen, die die
+ Spezifikationen gelesen haben, nicht erlaubt wird.
+</p>
+
+<p>
+ In der Frühzeit 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 Kernel, hing jedes Programm von einem
+ unfreien Kernel ab. Bevor wir Bash hatten, musste jedes Shell-Skript
+ von einer unfreien Shell interpretiert werden. Es war unvermeidbar,
+ dass unsere ersten Programme zunächst durch diese Abhängigkeiten
+ behindert würden. Aber wir akzeptierten das, weil unser Plan auch
+ beinhaltete, diese nach und nach zu befreien. Unser Gesamt-Ziel, ein
+ selbstverwaltetes GNU-Betriessystem, beinhaltete freien Ersatz für all
+ diese Abhängigkeiten; sobald wir das Ziel erreicht hätten,
wären all
+ unsere Programme befreit gewesen. Und so geschah es denn auch: mit dem
+ GNU/Linux-System können wir nun diese Programme auf freien Plattformen
+ laufen lassen.
+</p>
+
+<p>
+ Heute ist die Situation eine andere. Wir haben nun leistungsfähige
+ freie Betriebssysteme und viele freie Programmier-Werkzeuge. Welche
+ Arbeit Sie auch immer erledigen wollen, Sie können es auf einer freien
+ Plattform tun; es gibt keinen Grund mehr, eine unfreie Abhängigkeit
+ auch nur zeitweilig zu akzeptieren. Der Hauptgrund, warum heutzutage
+ Leute in die Falle tappen, ist, weil sie nicht darüber nachdenken.
+ Die einfachste Lösung für das Problem der Java-Falle ist es, den
+ Leuten beizubringen, wie sie da nicht hinein fallen.
+</p>
+
+<p>
+ Um Ihren Java-Code vor der Java-Falle abzusichern, installieren Sie
+ eine freie Java-Entwicklungsumgebung und benutzen Sie diese. Allgemeiner
+ formuliert, was Sie auch immer für eine Sprache benutzen, halten Sie
+ die Auge offen, und prüfen Sie den freien Status der Programme, von
+ denen Ihr Code abhängt. Die einfachste Art, um zu überprüfen,
ob das
+ Programm frei ist, ist die, danach im Freie-Software-Verzeichnis zu
+ suchen (<a href="http://www.fsf.org/directory">
+ http://www.fsf.org/directory</a>). Wenn ein Programm nicht in dem
+ Verzeichnis ist, können Sie seine Lizenz(en) mit der Liste der Freien
+ Software-Lizenzen vergleichen
+ (<a href="http://www.gnu.org/licenses/license-list.html">
+ http://www.gnu.org/licenses/license-list.html</a>).
+</p>
+
+<p>
+ Wir versuchen, die Java-Programme aus der Falle zu befreien. Also, wenn
+ Sie die Sprache Java mögen, laden wir Sie ein, bei der Entwicklung von
+ GNU Classpath zu helfen. Wenn Sie Ihre Programme mit dem GCJ Compiler
+ und GNU Classpath ausprobieren, und über alle Probleme berichten, auf
die Sie
+ mit den Klassen, die bereits implementiert wurden, stoßen, ist das
+ ebenfalls hilfreich. Wie auch immer, GNU Classpath zu vollenden, wird
+ Zeit beanspruchen; wenn weiterhin mehr unfreie Bibliotheken hinzugefügt
+ werden, werden wir möglicherweise niemals alle von den Neusten haben.
+ Also bitte, legen Sie Ihrer Freien Software keine Fesseln an. Wenn Sie
+ heute eine Applikation schreiben, schreiben Sie sie von Anfang an so,
+ dass sie in freien Umgebungen läuft.
+</p>
+
+<hr />
+
+<h4>
+<ul>
+ <li>
+ <a href="/philosophy/sun-in-night-time.html">The Curious Incident of Sun
in the Night-Time</a>
+ <br />
+ </li>
+ <li>
+ <a href="/philosophy/philosophy.html">Weitere Texte zum Lesen</a>
+ </li>
+</ul>
+</h4>
+
+
+<!-- All pages on the GNU web server should have the section about -->
+<!-- verbatim copying. Please do NOT remove this without talking -->
+<!-- with the webmasters first. -->
+<!-- Please make sure the copyright date is consistent with the document -->
+<!-- and that it is like this "2001, 2002" not this "2001-2002." -->
+
+<hr />
+
+<div class="translations">
+<p><a id="translations"></a>
+<b>Übersetzungen dieser Seite</b>:<br />
+
+<!-- Please keep this list alphabetical, and in the original -->
+<!-- language if possible, otherwise default to English -->
+<!-- If you do not have it English, please comment what the -->
+<!-- English is. If you add a new language here, please -->
+<!-- advise address@hidden and add it to -->
+<!-- - in /home/www/bin/nightly-vars either TAGSLANG or WEBLANG -->
+<!-- - in /home/www/html/server/standards/README.translations.html -->
+<!-- one of the lists under the section "Translations Underway" -->
+<!-- - if there is a translation team, you also have to add an alias -->
+<!-- to mail.gnu.org:/com/mailer/aliases -->
+<!-- Please also check you have the 2 letter language code right versus -->
+<!-- http://www.w3.org/WAI/ER/IG/ert/iso639.htm -->
+
+[
+ <a href="/philosophy/java-trap.html">English</a>
+| <a href="/philosophy/java-trap.de.html">Deutsch</a> <!-- German -- >
+| <a href="/philosophy/java-trap.fr.html">Français</a> <!-- French -->
+| <a href="/philosophy/java-trap.es.html">Español</a> <!-- Spanish -->
+| <a href="/philosophy/java-trap.pl.html">Polski</a> <!-- Polish -->
+]
+</p>
+</div>
+
+<div class="copyright">
+<p>
+Zurück zur <a href="/home.html">Homepage des GNU-Projekts</a>.
+</p>
+
+<p>
+Senden Sie Anfragen an die FSF & GNU an
+<a href="mailto:address@hidden"><em>address@hidden</em></a>.
+Es gibt auch <a href="/home.html#ContactInfo">andere Wege, die FSF zu
+kontaktieren</a>.
+<br />
+Sende tote Links und andere Korrekturen (oder Vorschläge) an
+<a href="mailto:address@hidden"><em>address@hidden</em></a>.
+</p>
+
+<p>
+Lies auch das
+<a href="/server/standards/README.translations.html">Übersetzungs-README
+</a> für Informationen über das Koordinieren und Einreichen von
+Übersetzungen dieses Artikels.
+</p>
+
+<p>
+Copyright (C) 2004 Richard Stallman
+<br />
+Die unveränderte Wiedergabe und Verbreitung dieses gesamten Artikels in
+beliebiger Form ist gestattet, sofern dieser Hinweis beibehalten wird.
+</p>
+
+<p>
+Übersetzt von Andreas K. Foerster
+<A HREF="mailto:address@hidden"><list(at)AKFoerster.de></A>
+
+<p>
+Updated:
+<!-- timestamp start -->
+
+<!-- timestamp end -->
+</p>
+</div>
+
+</body>
+</html>
+
- www/philosophy java-trap.de.html,
Richard Steuer <=