summaryrefslogtreecommitdiff
path: root/talermerchantdemos/blog/articles/it/java-trap.html
diff options
context:
space:
mode:
Diffstat (limited to 'talermerchantdemos/blog/articles/it/java-trap.html')
-rw-r--r--talermerchantdemos/blog/articles/it/java-trap.html285
1 files changed, 285 insertions, 0 deletions
diff --git a/talermerchantdemos/blog/articles/it/java-trap.html b/talermerchantdemos/blog/articles/it/java-trap.html
new file mode 100644
index 0000000..143de2a
--- /dev/null
+++ b/talermerchantdemos/blog/articles/it/java-trap.html
@@ -0,0 +1,285 @@
+<!--#set var="ENGLISH_PAGE" value="/philosophy/java-trap.en.html" -->
+
+<!--#include virtual="/server/header.it.html" -->
+<!-- Parent-Version: 1.77 -->
+
+<!-- This file is automatically generated by GNUnited Nations! -->
+<title>Libero ma incatenato - La trappola Java - Progetto GNU - Free Software
+Foundation</title>
+
+<!--#include virtual="/philosophy/po/java-trap.translist" -->
+<!--#include virtual="/server/banner.it.html" -->
+<h2>Libero ma incatenato - La trappola Java</h2>
+
+<p>di <a href="http://www.stallman.org/">Richard Stallman</a></p>
+
+
+<div class="announcement"><blockquote><h3>Nota</h3>
+<p>Dalla prima pubblicazione di questo articolo le cose sono cambiate: Sun (ora
+parte di Oracle) ha <a
+href="http://www.fsf.org/news/fsf-welcomes-gpl-java.html">rilasciato sotto
+licenza GNU GPL</a> la maggior parte del suo codice sorgente per la
+piattaforma Java, ed ora esiste un ambiente di sviluppo Java libero. Quindi
+il linguaggio Java in sé non è più una trappola.</p>
+
+<p>Tuttavia bisogna prestare attenzione quando lo si usa, perché non tutte le
+piattaforme Java sono libere. Sun continua a distribuire una piattaforma
+Java in forma binaria che non è software libero, e così fanno anche altri.</p>
+
+<p>L'ambiente Java libero si chiama IcedTea e comprende il codice sorgente
+rilasciato da Sun. Dovete quindi usare IcedTea, che è incluso in molte
+distribuzioni GNU/Linux, anche se alcune includono anche piattaforme Java
+non libere. (Nota di ottobre 2015: in molte distribuzioni GNU/Linux questa
+implementazione libera di Java è denominata OpenJDK).</p>
+
+<p>Per essere certi che i vostri programmi Java si possano utilizzare
+correttamente un un ambiente libero, dovete svilupparli con IcedTea. In
+teoria le piattaforme Java dovrebbero essere compatibili fra loro, ma la
+compatibilità non è perfetta al 100%.</p>
+
+<p>Inoltre ci sono molti programmi non liberi con &ldquo;Java&rdquo; nel nome,
+some JavaFX, e ci sono pacchetti Java non liberi che possono sembrare comodi
+ma che sono da rifiutare. Quindi dovete controllare la licenza di qualsiasi
+pacchetto vogliate usare. Se usate Swing, accertatevi di usare la versione
+libera, che è inclusa in IcedTea. (Nota di ottobre 2015: è ora disponibile
+un sostituto libero di JavaFX che si chiama OpenJFX).</p>
+
+<p>A parte il caso specifico di Java, il problema generale qui descritto rimane
+importante, perché qualsiasi libreria o piattaforma di sviluppo non libera
+può creare problemi simili. La storia di Java ci deve servire di lezione per
+evitare trappole simili in futuro.</p>
+
+<p>Vedere anche: <a href="/philosophy/javascript-trap.html"> La trappola
+JavaScript</a>.</p>
+</blockquote>
+</div>
+
+<p>12 aprile 2004</p>
+
+<p>
+ Se un vostro programma è software libero è, in linea di principio,
+accettabile, ma c'è una trappola a cui dovete stare attenti. Il vostro
+programma, benché libero di per sé, può subire restrizioni a causa di
+software non libero da cui dipende. Dato che l'esempio classico di questo
+problema è oggi quello dei programmi Java, diamo a questo problema il nome
+di "trappola Java".
+</p>
+
+<p>
+ Un programma è software libero se i suoi utenti hanno alcune libertà
+cruciali. Per farla breve, intendiamo: la libertà di eseguire il programma,
+la libertà di studiare e modificare il codice sorgente, la libertà di
+redistribuire il codice sorgente e il programma in formato binario, e la
+libertà di pubblicare versioni migliorate. (Si veda <a
+href="/philosophy/free-sw.html">http://www.gnu.org/philosophy/free-sw.it.html</a>).
+È esclusivamente la licenza a determinare se uno specifico programma,
+fornito in forma di codice sorgente, sia o meno software libero.
+</p>
+
+<p>
+ È tutto un altro problema, invece, determinare se il programma possa essere
+usato nel Mondo Libero, da persone intenzionate a vivere nella
+libertà. Questo non è determinato dalla sola licenza del programma, perché
+nessun programma funziona da solo: ogni programma dipende da altri
+programmi. Ad esempio, un programma deve essere compilato o interpretato,
+perciò dipende da un compilatore o da un interprete; se compilato in
+bytecode, ha bisogno di un interprete bytecode; inoltre ha bisogno di
+librerie per essere eseguito, e a sua volta potrebbe chiamare altri
+programmi che girano in altri processi. Tutti questi programmi si chiamano
+dipendenze: le dipendenze possono essere indispensabili per l'esecuzione di
+un programma, oppure possono essere necessarie solo per alcune funzioni. In
+ogni modo un programma non è pienamente funzionale senza le sue dipendenze.
+</p>
+
+<p>
+ Se alcune delle dipendenze di un programma non sono libere, quel programma è
+inutilizzabile in tutto o in parte su sistemi completamente liberi, non è
+utilizzabile nel Mondo Libero. Certo, potremmo comunque ridistribuirlo e
+copiarlo sui nostri computer, ma non serve a molto se è impossibile
+eseguirlo. Quel programma, pur essendo software libero, è di fatto
+incatenato ai suoi requisiti non liberi.
+</p>
+
+<p>
+ Questo problema può manifestarsi in ogni tipo di software, in ogni
+linguaggio. Per esempio un programma che funziona solo su Microsoft Windows
+è chiaramente inutile nel Mondo Libero. Ma anche il software per GNU/Linux
+può essere inutile se richiede software non libero: in passato Motif (prima
+che avessimo LessTif) e Qt (prima che i suoi sviluppatori lo rendessero
+software libero) hanno causato problemi del genere. Molte schede grafiche 3D
+funzionano al meglio solo con driver non liberi, altra tipica situazione
+problematica. Ma la causa principale di questo problema di questi tempi è
+Java, perché chi scrive software libero spesso trova Java attraente:
+accecati dalla loro attrazione per questo linguaggio, non badano alla
+questione dei requisiti e cadono nella trappola Java.
+</p>
+
+<p>
+ L'implementazione di Java realizzata da Sun non è libera. Anche Blackdown
+non è libera, è un adattamento di codice proprietario di Sun. E anche le
+librerie Java standard non sono libere. Implementazioni libere di Java
+esistono (ad esempio <a href="http://gcc.gnu.org/java/">GCJ</a>, il
+compilatore GNU per Java e <a href="/software/classpath">GNU Classpath</a>),
+ma non supportano ancora tutte le caratteristiche; stiamo ancora inseguendo.
+</p>
+
+<p>
+ Se sviluppate un programma Java sulla piattaforma Java di Sun, potreste
+finire per usare caratteristiche esclusive di Sun senza nemmeno
+accorgervene, e prima di scoprirlo potreste averle usate per mesi, al punto
+che sarebbero necessari mesi per rifare il lavoro. Potreste concludere che è
+troppo tardi per ricominciare, e a quel punto il vostro programma sarà
+caduto nella trappola Java: sarà inutilizzabile nel Mondo Libero.
+</p>
+
+<p>
+ L'unico modo affidabile di evitare la trappola Java è quello di avere
+esclusivamente un'implementazione libera di Java sul vostro sistema: in
+questo modo vi accorgerete immediatamente se state usando una libreria o una
+caratteristica di Java che il software libero ancora non supporta, e potrete
+riscrivere quel codice subito.
+</p>
+
+<p>
+ Sun continua a sviluppare nuove librerie aggiuntive Java "standard", quasi
+tutte non libere: in molti casi sono un segreto commerciale anche le
+specifiche di una libreria, e l'ultima licenza di Sun per queste specifiche
+proibisce di distribuire qualsiasi cosa diversa da una piena implementazione
+delle specifiche: si vedano, ad esempio, <a
+href="http://jcp.org/aboutJava/communityprocess/JSPA2.pdf">http://jcp.org/aboutJava/communityprocess/JSPA2.pdf</a>
+e <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>.
+</p>
+
+<p>
+ Per fortuna, quella licenza permette di distribuire un'implementazione come
+software libero; altri che ricevono la libreria possono essere autorizzati a
+cambiarla e non devono necessariamente aderire alla specifica. Ma la
+richiesta ha l'effetto di proibire l'uso di un modello di sviluppo
+cooperativo per produrre l'implementazione libera. L'uso di quel modello
+costringerebbe alla pubblicazione di versioni incomplete, cosa che quelli
+che hanno letto la specifica non possono fare.
+</p>
+
+<p>
+ Agli albori del movimento del Software Libero era inevitabile dipendere da
+programmi non liberi. Prima che avessimo il compilatore C GNU, ogni
+programma in C (libero o no) richiedeva un compilatore C non libero. Prima
+che avessimo la libreria GNU C, ogni programma dipendeva da una libreria C
+non libera. Prima che avessimo Linux (il primo kernel libero) ogni programma
+dipendeva da un kernel non libero. Prima che avessimo BASH, ogni script per
+shell doveva essere interpretato da una shell non libera. Era inevitabile
+che i nostri programmi all'inizio avessero queste dipendenze, ma abbiamo
+accettato questa situazione perché il nostro progetto prevedeva di rimediare
+in seguito: il nostro obiettivo, un sistema GNU completo, comprendeva
+alternative libere per tutte quelle dipendenze; una volta raggiunto lo scopo
+avremmo recuperato tutti i nostri programmi. E così è successo: col sistema
+GNU/Linux, ora possiamo eseguire tutti questi programmi su piattaforme
+libere.
+</p>
+
+<p>
+ Oggi la situazione è diversa: ora abbiamo potenti sistemi operativi liberi e
+molti strumenti liberi per la programmazione. Qualsiasi cosa vogliate fare,
+potete farla su una piattaforma libera e non c'è bisogno di accettare una
+dipendenza non libera, nemmeno provvisoriamente. Il principale motivo per
+cui alcuni oggi cadono nella trappola è semplicemente che non ci pensano; la
+soluzione più facile al problema è insegnare alla gente a riconoscere la
+trappola e a non cascarci.
+</p>
+
+<p>
+ Per tenere il vostro codice Java al sicuro dalla Trappola Java, installate e
+usate un ambiente di sviluppo libero per Java. In generale, qualsiasi
+linguaggio usiate, tenete gli occhi aperti, e accertatevi dello stato libero
+dei programmi da cui dipende il vostro codice. Il modo più semplice di
+verificare che un programma è libero è quello di cercarlo nell'Elenco del
+Software Libero (<a
+href="http://www.fsf.org/directory">http://www.fsf.org/directory</a>). Se un
+programma non è in elenco, potete comunque cercare la sua licenza nella
+lista delle licenze software libere (<a
+href="/licenses/license-list.html">http://www.gnu.org/licenses/license-list.it.html</a>).
+</p>
+
+<p>
+ Stiamo cercando di salvare i programmi Java intrappolati, quindi se vi piace
+Java per favore aiutate lo sviluppo di GNU Classpath. E' utile anche provare
+i vostri programmi con il compilatore GCJ e GNU Classpath, e comunicare gli
+eventuali problemi che riscontrate nelle classi già implementate. Comunque,
+ci vorrà tempo per finire GNU Classpath; se continueranno ad essere aggiunte
+altre librerie non libere, potremmo non avere mai le ultime versioni. Quindi
+per favore non incatenate il vostro software libero: se scrivete
+un'applicazione ora, fatelo su fondamenta libere.
+</p>
+
+<h3>Vedere anche:</h3>
+<p><a href="/philosophy/sun-in-night-time.html">The Curious Incident of Sun in
+the Night-Time</a></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.it.html" -->
+<div id="footer">
+<div class="unprintable">
+
+<p>Per informazioni su FSF e GNU rivolgetevi, possibilmente in inglese, a <a
+href="mailto:gnu@gnu.org">&lt;gnu@gnu.org&gt;</a>. Ci sono anche <a
+href="/contact/">altri modi di contattare</a> la FSF. Inviate segnalazioni
+di link non funzionanti e altri suggerimenti relativi alle pagine web a <a
+href="mailto:webmasters@gnu.org">&lt;webmasters@gnu.org&gt;</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: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>. -->
+Le traduzioni italiane sono effettuate ponendo la massima attenzione ai
+dettagli e alla qualità, ma a volte potrebbero contenere imperfezioni. Se ne
+riscontrate, inviate i vostri commenti e suggerimenti riguardo le traduzioni
+a <a
+href="mailto:web-translators@gnu.org">&lt;web-translators@gnu.org&gt;</a>
+oppure contattate direttamente il <a
+href="http://savannah.gnu.org/projects/www-it/">gruppo dei traduttori
+italiani</a>.<br/>Per informazioni su come gestire e inviare traduzioni
+delle nostre pagine web consultate la <a
+href="/server/standards/README.translations.html">Guida alle traduzioni</a>.</p>
+</div>
+
+<p>Copyright &copy; 2004, 2010, 2015 Richard Stallman</p>
+
+<p>Questa pagina è distribuita secondo i termini della licenza <a rel="license"
+href="http://creativecommons.org/licenses/by-nd/4.0/">Creative Commons
+Attribuzione - Non opere derivate 4.0 internazionale</a> (CC BY-ND 4.0).</p>
+
+<!--#include virtual="/server/bottom-notes.it.html" -->
+<div class="translators-credits">
+
+<!--TRANSLATORS: Use space (SPC) as msgstr if you don't want credits.-->
+Tradotto originariamente da Andrea Pescetti.</div>
+
+<p class="unprintable"><!-- timestamp start -->
+Ultimo aggiornamento:
+
+$Date: 2018/04/21 17:31:08 $
+
+<!-- timestamp end -->
+</p>
+</div>
+</div>
+</body>
+</html>