[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
www/philosophy java-trap.nl.html po/java-trap.n...
From: |
GNUN |
Subject: |
www/philosophy java-trap.nl.html po/java-trap.n... |
Date: |
Mon, 25 Mar 2013 13:00:54 +0000 |
CVSROOT: /web/www
Module name: www
Changes by: GNUN <gnun> 13/03/25 13:00:54
Modified files:
philosophy : java-trap.nl.html
Added files:
philosophy/po : java-trap.nl-diff.html
Log message:
Automatic update by GNUnited Nations.
CVSWeb URLs:
http://web.cvs.savannah.gnu.org/viewcvs/www/philosophy/java-trap.nl.html?cvsroot=www&r1=1.4&r2=1.5
http://web.cvs.savannah.gnu.org/viewcvs/www/philosophy/po/java-trap.nl-diff.html?cvsroot=www&rev=1.1
Patches:
Index: java-trap.nl.html
===================================================================
RCS file: /web/www/www/philosophy/java-trap.nl.html,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -b -r1.4 -r1.5
--- java-trap.nl.html 21 Nov 2012 19:28:17 -0000 1.4
+++ java-trap.nl.html 25 Mar 2013 13:00:48 -0000 1.5
@@ -7,6 +7,13 @@
<title>Vrij maar Geketend - De Java Valstrik</title>
<!--#include virtual="/server/banner.nl.html" -->
+<!--#set var="PO_FILE"
+ value='<a href="http://www.gnu.org/philosophy/po/java-trap.nl.po">
+ http://www.gnu.org/philosophy/po/java-trap.nl.po</a>' -->
+ <!--#set var="ORIGINAL_FILE" value="/philosophy/java-trap.html" -->
+ <!--#set var="DIFF_FILE" value="/philosophy/po/java-trap.nl-diff.html" -->
+ <!--#set var="OUTDATED_SINCE" value="2013-01-24" -->
+ <!--#include virtual="/server/outdated.nl.html" -->
<!--#include virtual="/philosophy/po/java-trap.translist" -->
<h2>Vrij maar Geketend - De Java Valstrik</h2>
@@ -258,7 +265,7 @@
<!-- timestamp start -->
Bijgewerkt:
-$Date: 2012/11/21 19:28:17 $
+$Date: 2013/03/25 13:00:48 $
<!-- timestamp end -->
</p>
Index: po/java-trap.nl-diff.html
===================================================================
RCS file: po/java-trap.nl-diff.html
diff -N po/java-trap.nl-diff.html
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ po/java-trap.nl-diff.html 25 Mar 2013 13:00:50 -0000 1.1
@@ -0,0 +1,273 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<!-- Generated by GNUN -->
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+<meta http-equiv="content-type" content="text/html; charset=utf-8" />
+<title>/philosophy/java-trap.html-diff</title>
+<style type="text/css">
+span.removed { background-color: #f22; color: #000; }
+span.inserted { background-color: #2f2; color: #000; }
+</style></head>
+<body><pre>
+<!--#include virtual="/server/header.html" -->
+<span class="inserted"><ins><em><!-- Parent-Version: 1.75
--></em></ins></span>
+<title>Free but Shackled - The Java <span
class="removed"><del><strong>Trap</title></strong></del></span> <span
class="inserted"><ins><em>Trap
+- GNU Project - Free Software Foundation</title></em></ins></span>
+<!--#include <span
class="removed"><del><strong>virtual="/server/banner.html"</strong></del></span>
<span
class="inserted"><ins><em>virtual="/philosophy/po/java-trap.translist"</em></ins></span>
-->
+<!--#include <span
class="removed"><del><strong>virtual="/philosophy/po/java-trap.translist"</strong></del></span>
<span
class="inserted"><ins><em>virtual="/server/banner.html"</em></ins></span> -->
+
+<h2>Free but Shackled - The Java Trap</h2>
+
+<p>by <a href="http://www.stallman.org/">Richard
Stallman</a></p>
+
+
+<div class="announcement"><h3>Headnote</h3>
+<p>Since this article was first published, Sun
+has <a
href="http://www.fsf.org/news/fsf-welcomes-gpl-java.html">relicensed</a>
+most of its Java platform reference implementation under the GNU
+General Public License, and there is now a free development
+environment for Java. Thus, the Java language as such is no longer a
+trap.</p>
+
+<p>You must be careful, however, because not every Java platform is
+free. Sun continues distributing an executable Java platform which is
+nonfree, and other companies do so too.</p>
+
+<p>The free environment for Java is called IcedTea; the source code
+Sun freed is included in that. So that is the one you should use.
+Many GNU/Linux distributions come with IcedTea, but some include
+nonfree Java platforms.</p>
+
+<p>To reliably ensure your Java programs run fine in a free
+environment, you need to develop them using IcedTea. Theoretically
+the Java platforms should be compatible, but they are not compatible
+100 percent.</p>
+
+<p>In addition, there are nonfree programs with “Java” in
+their name, such as JavaFX, and there are nonfree Java packages you
+might find tempting but need to reject. So check the licenses of
+whatever packages you plan to use. If you use Swing, make sure to use
+the free version, which comes with IcedTea.</p>
+
+<p>Aside from those Java specifics, the general issue described here
+remains important, because any nonfree library or programming platform
+can cause a similar problem. We must learn a lesson from the history of
+Java, so we can avoid other traps in the future.</p>
+
+<p>Please also see: <a <span
class="removed"><del><strong>href="javascript-trap.html">The</strong></del></span>
<span class="inserted"><ins><em>href="/philosophy/javascript-trap.html">
+The</em></ins></span> JavaScript Trap</a>.</p>
+
+</div>
+
+<p>April 12, 2004</p>
+
+<p>
+ If your program is free software, it is basically ethical—but
+ there is a trap you must be on guard for. Your program, though in
+ itself free, may be restricted by nonfree software that it depends
+ on. Since the problem is most prominent today for Java programs, we
+ call it the Java Trap.
+</p>
+
+<p>
+ A program is free software if its users have certain crucial
+ freedoms. Roughly speaking, they are: the freedom to run the
+ program, the freedom to study and change the source, the freedom to
+ redistribute the source and binaries, and the freedom to publish
+ improved versions. (See
+ <a
href="/philosophy/free-sw.html">http://www.gnu.org/philosophy/free-sw.html</a>.)
+ Whether any given program in source form is free software depends
+ solely on the meaning of its license.
+</p>
+
+<p>
+ Whether the program can be used in the Free World, used by people who mean
to
+ live in freedom, is a more complex question. This is not determined by the
+ program's own license alone, because no program works in isolation. Every
program
+ depends on other programs. For instance, a program needs to be compiled or
+ interpreted, so it depends on a compiler or interpreter. If compiled into
+ byte code, it depends on a byte-code interpreter. Moreover, it needs
+ libraries in order to run, and it may also invoke other separate programs
+ that run in other processes. All of these programs are dependencies.
+ Dependencies may be necessary for the program to run at all, or they may
+ be necessary only for certain features. Either way, all or part of the
+ program cannot operate without the dependencies.
+</p>
+
+<p>
+ If some of a program's dependencies are nonfree, this means that
+ all or part of the program is unable to run in an entirely free
+ system—it is unusable in the Free World. Sure, we could
+ redistribute the program and have copies on our machines, but that's
+ not much good if it won't run. That program is free software, but it
+ is effectively shackled by its nonfree dependencies.
+</p>
+
+<p>
+ This problem can occur in any kind of software, in any language. For
+ instance, a free program that only runs on Microsoft Windows is clearly
+ useless in the Free World. But software that runs on GNU/Linux can also be
+ useless if it depends on other nonfree software. In the past, Motif (before
+ we had LessTif) and Qt (before its developers made it free software) were
+ major causes of this problem. Most 3D video cards work fully only with
+ nonfree drivers, which also cause this problem. But the major source of
+ this problem today is Java, because people who write free software often
+ feel Java is sexy. Blinded by their attraction to the language, they
+ overlook the issue of dependencies and fall into the Java Trap.
+</p>
+
+<p>
+ Sun's implementation of Java is nonfree. The standard Java libraries are
+ nonfree also. We do have free implementations of Java, such as the <a
+ href="http://gcc.gnu.org/java/">GNU Compiler for Java</a> (GCJ) and
<a
+ href="/software/classpath">GNU Classpath</a>, but they don't
support all the
+ features yet. We are still catching up.
+</p>
+
+<p>
+ If you develop a Java program on Sun's Java platform, you are liable
+ to use Sun-only features without even noticing. By the time you find
+ this out, you may have been using them for months, and redoing the
+ work could take more months. You might say, “It's too much
+ work to start over.” Then your program will have fallen into
+ the Java Trap; it will be unusable in the Free World.
+</p>
+
+<p>
+ The reliable way to avoid the Java Trap is to have only a free
implementation
+ of Java on your system. Then if you use a Java feature or library that free
+ software does not yet support, you will find out straightaway, and you can
+ rewrite that code immediately.
+</p>
+
+<p>
+ Sun continues to develop additional “standard” Java
+ libraries, and nearly all of them are nonfree; in many cases, even
+ a library's specification is a trade secret, and Sun's latest
+ license for these specifications prohibits release of anything less
+ than a full implementation of the specification. (See
+ <a
href="http://jcp.org/aboutJava/communityprocess/JSPA2.pdf">http://jcp.org/aboutJava/communityprocess/JSPA2.pdf</a>
and
+ <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>
+ for examples.)
+</p>
+
+<p>
+ Fortunately, that specification license does permit releasing an
+ implementation as free software; others who receive the library can be
+ allowed to change it and are not required to adhere to the specification.
+ But the requirement has the effect of prohibiting the use of a collaborative
+ development model to produce the free implementation. Use of that model
would
+ entail publishing incomplete versions, something those who have read the
+ spec are not allowed to do.
+</p>
+
+<p>
+ In the early days of the free software movement, it was impossible to avoid
+ depending on nonfree programs. Before we had the GNU C compiler, every C
+ program (free or not) depended on a nonfree C compiler. Before we had the
+ GNU C library, every program depended on a nonfree C library. Before we had
+ Linux, the first free kernel, every program depended on a nonfree kernel.
+ Before we had BASH, every shell script had to be interpreted by a nonfree
+ shell. It was inevitable that our first programs would initially be hampered
+ by these dependencies, but we accepted this because our plan included
rescuing
+ them subsequently. Our overall goal, a self-hosting GNU operating system,
+ included free replacements for all those dependencies; if we reached the
goal,
+ all our programs would be rescued. Thus it happened: with the GNU/Linux
system,
+ we can now run these programs on free platforms.
+</p>
+
+<p>
+ The situation is different today. We now have powerful free operating
systems
+ and many free programming tools. Whatever job you want to do, you can do it
on
+ a free platform; there is no need to accept a nonfree dependency even
+ temporarily. The main reason people fall into the trap today is because they
+ are not thinking about it. The easiest solution to the problem
+ is to teach people to recognize it and not fall into it.
+</p>
+
+<p>
+ To keep your Java code safe from the Java Trap, install a free Java
+ development environment and use it. More generally, whatever
+ language you use, keep your eyes open, and check the free status of
+ programs your code depends on. The easiest way to verify that a
+ program is free is by looking for it in the Free Software Directory
+ (<a
href="http://www.fsf.org/directory">http://www.fsf.org/directory</a>).
+ If a program is not in the directory, you can check its license(s)
+ against the list of free software licenses
+ (<a
href="/licenses/license-list.html">http://www.gnu.org/licenses/license-list.html</a>).
+</p>
+
+<p>
+ We are trying to rescue the trapped Java programs, so if you like the Java
+ language, we invite you to help in developing GNU Classpath. Trying your
+ programs with the GCJ Compiler and GNU Classpath, and reporting any
+ problems you encounter in classes already implemented, is also useful.
+ However, finishing GNU Classpath will take time; if more nonfree libraries
+ continue to be added, we may never have all the latest ones. So please don't
+ put your free software in shackles. When you write an application program
+ today, write it to run on free facilities from the start.
+</p>
+
+<h3>See also:</h3>
+<p><a href="/philosophy/sun-in-night-time.html">The Curious
Incident
+of Sun in the Night-Time</a></p>
+<span class="removed"><del><strong></div></strong></del></span>
+
+<span class="inserted"><ins><em></div><!-- for id="content", starts
in the include above --></em></ins></span>
+<!--#include virtual="/server/footer.html" -->
+<div id="footer">
+
+<span class="removed"><del><strong><p>
+Please</strong></del></span>
+
+<span class="inserted"><ins><em><p>Please</em></ins></span> send <span
class="inserted"><ins><em>general</em></ins></span> FSF & GNU inquiries to
+<a <span
class="removed"><del><strong>href="mailto:address@hidden"><em>address@hidden</em></a>.</strong></del></span>
<span
class="inserted"><ins><em>href="mailto:address@hidden"><address@hidden></a>.</em></ins></span>
+There are also <a href="/contact/">other ways to contact</a>
+the FSF.
+<span class="removed"><del><strong><br />
+Please send broken</strong></del></span> <span
class="inserted"><ins><em>Broken</em></ins></span> links and other corrections
or suggestions <span class="inserted"><ins><em>can be sent</em></ins></span>
+to <a <span
class="removed"><del><strong>href="mailto:address@hidden"><em>address@hidden</em></a>.
+</p>
+
+<p></strong></del></span> <span
class="inserted"><ins><em>href="mailto:address@hidden"><address@hidden></a>.</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:address@hidden">
+ <address@hidden></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>. --></em></ins></span>
+Please see the <a
+href="/server/standards/README.translations.html">Translations
+README</a> for information on coordinating and submitting translations
+of this <span class="removed"><del><strong>article.
+</p></strong></del></span> <span
class="inserted"><ins><em>article.</p></em></ins></span>
+
+<p>Copyright © 2004, 2010 Richard Stallman</p>
+
+<p>This page is licensed under a <a rel="license"
+href="http://creativecommons.org/licenses/by-nd/3.0/us/">Creative
+Commons Attribution-NoDerivs 3.0 United States <span
class="removed"><del><strong>License</a>.
+</p></strong></del></span> <span
class="inserted"><ins><em>License</a>.</p>
+
+<!--#include virtual="/server/bottom-notes.html" --></em></ins></span>
+
+<p>
+Updated:
+<!-- timestamp start -->
+$Date: 2013/03/25 13:00:50 $
+<!-- timestamp end -->
+</p>
+</div>
+</div>
+</body>
+</html>
+</pre></body></html>
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- www/philosophy java-trap.nl.html po/java-trap.n...,
GNUN <=