www-commits
[Top][All Lists]
Advanced

[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>
+&lt;!--#include virtual="/server/header.html" --&gt;
+<span class="inserted"><ins><em>&lt;!-- Parent-Version: 1.75 
--&gt;</em></ins></span>
+&lt;title&gt;Free but Shackled - The Java <span 
class="removed"><del><strong>Trap&lt;/title&gt;</strong></del></span> <span 
class="inserted"><ins><em>Trap
+- GNU Project - Free Software Foundation&lt;/title&gt;</em></ins></span>
+&lt;!--#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>
 --&gt;
+&lt;!--#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> --&gt;
+
+&lt;h2&gt;Free but Shackled - The Java Trap&lt;/h2&gt;
+
+&lt;p&gt;by &lt;a href="http://www.stallman.org/"&gt;Richard 
Stallman&lt;/a&gt;&lt;/p&gt;
+
+
+&lt;div class="announcement"&gt;&lt;h3&gt;Headnote&lt;/h3&gt;
+&lt;p&gt;Since this article was first published, Sun
+has &lt;a 
href="http://www.fsf.org/news/fsf-welcomes-gpl-java.html"&gt;relicensed&lt;/a&gt;
+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.&lt;/p&gt;
+
+&lt;p&gt;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.&lt;/p&gt;
+
+&lt;p&gt;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.&lt;/p&gt;
+
+&lt;p&gt;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.&lt;/p&gt;
+
+&lt;p&gt;In addition, there are nonfree programs with &ldquo;Java&rdquo; 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.&lt;/p&gt;
+
+&lt;p&gt;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.&lt;/p&gt;
+
+&lt;p&gt;Please also see: &lt;a <span 
class="removed"><del><strong>href="javascript-trap.html"&gt;The</strong></del></span>
 <span class="inserted"><ins><em>href="/philosophy/javascript-trap.html"&gt;
+The</em></ins></span> JavaScript Trap&lt;/a&gt;.&lt;/p&gt;
+
+&lt;/div&gt;
+
+&lt;p&gt;April 12, 2004&lt;/p&gt;
+
+&lt;p&gt;
+  If your program is free software, it is basically ethical&mdash;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.
+&lt;/p&gt;
+
+&lt;p&gt;
+  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
+  &lt;a 
href="/philosophy/free-sw.html"&gt;http://www.gnu.org/philosophy/free-sw.html&lt;/a&gt;.)
+  Whether any given program in source form is free software depends
+  solely on the meaning of its license.
+&lt;/p&gt;
+
+&lt;p&gt;
+  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. 
+&lt;/p&gt;
+
+&lt;p&gt;
+  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&mdash;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.
+&lt;/p&gt;
+
+&lt;p&gt;
+  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. 
+&lt;/p&gt;
+
+&lt;p&gt;
+  Sun's implementation of Java is nonfree. The standard Java libraries are
+  nonfree also. We do have free implementations of Java, such as the &lt;a
+  href="http://gcc.gnu.org/java/"&gt;GNU Compiler for Java&lt;/a&gt; (GCJ) and 
&lt;a
+  href="/software/classpath"&gt;GNU Classpath&lt;/a&gt;, but they don't 
support all the
+  features yet. We are still catching up.
+&lt;/p&gt;
+
+&lt;p&gt;
+  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, &ldquo;It's too much
+  work to start over.&rdquo; Then your program will have fallen into
+  the Java Trap; it will be unusable in the Free World.
+&lt;/p&gt;
+
+&lt;p&gt;
+  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. 
+&lt;/p&gt;
+
+&lt;p&gt;
+  Sun continues to develop additional &ldquo;standard&rdquo; 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
+  &lt;a 
href="http://jcp.org/aboutJava/communityprocess/JSPA2.pdf"&gt;http://jcp.org/aboutJava/communityprocess/JSPA2.pdf&lt;/a&gt;
 and 
+  &lt;a 
href="http://jcp.org/aboutJava/communityprocess/final/jsr129/j2me_pb-1_0-fr-spec-license.html"&gt;http://jcp.org/aboutJava/communityprocess/final/jsr129/j2me_pb-1_0-fr-spec-license.html&lt;/a&gt;
+  for examples.)
+&lt;/p&gt;
+
+&lt;p&gt;
+  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. 
+&lt;/p&gt;
+
+&lt;p&gt;
+  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. 
+&lt;/p&gt;
+
+&lt;p&gt;
+  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. 
+&lt;/p&gt;
+
+&lt;p&gt;
+  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
+  (&lt;a 
href="http://www.fsf.org/directory"&gt;http://www.fsf.org/directory&lt;/a&gt;).
+  If a program is not in the directory, you can check its license(s)
+  against the list of free software licenses
+  (&lt;a 
href="/licenses/license-list.html"&gt;http://www.gnu.org/licenses/license-list.html&lt;/a&gt;).
+&lt;/p&gt;
+
+&lt;p&gt;
+  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.
+&lt;/p&gt;
+
+&lt;h3&gt;See also:&lt;/h3&gt;
+&lt;p&gt;&lt;a href="/philosophy/sun-in-night-time.html"&gt;The Curious 
Incident
+of Sun in the Night-Time&lt;/a&gt;&lt;/p&gt;
+<span class="removed"><del><strong>&lt;/div&gt;</strong></del></span>
+
+<span class="inserted"><ins><em>&lt;/div&gt;&lt;!-- for id="content", starts 
in the include above --&gt;</em></ins></span>
+&lt;!--#include virtual="/server/footer.html" --&gt;
+&lt;div id="footer"&gt;
+
+<span class="removed"><del><strong>&lt;p&gt;
+Please</strong></del></span>
+
+<span class="inserted"><ins><em>&lt;p&gt;Please</em></ins></span> send <span 
class="inserted"><ins><em>general</em></ins></span> FSF &amp; GNU inquiries to
+&lt;a <span 
class="removed"><del><strong>href="mailto:address@hidden"&gt;&lt;em&gt;address@hidden&lt;/em&gt;&lt;/a&gt;.</strong></del></span>
 <span 
class="inserted"><ins><em>href="mailto:address@hidden"&gt;&lt;address@hidden&gt;&lt;/a&gt;.</em></ins></span>
+There are also &lt;a href="/contact/"&gt;other ways to contact&lt;/a&gt;
+the FSF.
+<span class="removed"><del><strong>&lt;br /&gt;
+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 &lt;a <span 
class="removed"><del><strong>href="mailto:address@hidden"&gt;&lt;em&gt;address@hidden&lt;/em&gt;&lt;/a&gt;.
+&lt;/p&gt;
+
+&lt;p&gt;</strong></del></span> <span 
class="inserted"><ins><em>href="mailto:address@hidden"&gt;&lt;address@hidden&gt;&lt;/a&gt;.&lt;/p&gt;
+
+&lt;p&gt;&lt;!-- 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 &lt;a href="mailto:address@hidden"&gt;
+        &lt;address@hidden&gt;&lt;/a&gt;.&lt;/p&gt;
+
+        &lt;p&gt;For information on coordinating and submitting translations of
+        our web pages, see &lt;a
+        href="/server/standards/README.translations.html"&gt;Translations
+        README&lt;/a&gt;. --&gt;</em></ins></span>
+Please see the &lt;a
+href="/server/standards/README.translations.html"&gt;Translations
+README&lt;/a&gt; for information on coordinating and submitting translations
+of this <span class="removed"><del><strong>article.
+&lt;/p&gt;</strong></del></span> <span 
class="inserted"><ins><em>article.&lt;/p&gt;</em></ins></span>
+
+&lt;p&gt;Copyright &copy; 2004, 2010 Richard Stallman&lt;/p&gt;
+
+&lt;p&gt;This page is licensed under a &lt;a rel="license"
+href="http://creativecommons.org/licenses/by-nd/3.0/us/"&gt;Creative
+Commons Attribution-NoDerivs 3.0 United States <span 
class="removed"><del><strong>License&lt;/a&gt;.
+&lt;/p&gt;</strong></del></span> <span 
class="inserted"><ins><em>License&lt;/a&gt;.&lt;/p&gt;
+
+&lt;!--#include virtual="/server/bottom-notes.html" --&gt;</em></ins></span>
+
+&lt;p&gt;
+Updated:
+&lt;!-- timestamp start --&gt;
+$Date: 2013/03/25 13:00:50 $
+&lt;!-- timestamp end --&gt;
+&lt;/p&gt;
+&lt;/div&gt;
+&lt;/div&gt;
+&lt;/body&gt;
+&lt;/html&gt;
+</pre></body></html>



reply via email to

[Prev in Thread] Current Thread [Next in Thread]