diff options
author | Christian Grothoff <christian@grothoff.org> | 2020-10-11 13:29:45 +0200 |
---|---|---|
committer | Christian Grothoff <christian@grothoff.org> | 2020-10-11 13:29:45 +0200 |
commit | 1ae0306a3cf2ea27f60b2d205789994d260c2cce (patch) | |
tree | 53117a55c27601e92172ea82f1d8cd11d355c06c /talermerchantdemos/blog/articles/it/java-trap.html | |
parent | 2e665813a44988bfd906c0fab773f82652047841 (diff) | |
download | taler-merchant-demos-1ae0306a3cf2ea27f60b2d205789994d260c2cce.tar.gz taler-merchant-demos-1ae0306a3cf2ea27f60b2d205789994d260c2cce.tar.bz2 taler-merchant-demos-1ae0306a3cf2ea27f60b2d205789994d260c2cce.zip |
add i18n FSFS
Diffstat (limited to 'talermerchantdemos/blog/articles/it/java-trap.html')
-rw-r--r-- | talermerchantdemos/blog/articles/it/java-trap.html | 285 |
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 “Java” 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"><gnu@gnu.org></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"><webmasters@gnu.org></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"> + + <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>. --> +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"><web-translators@gnu.org></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 © 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> |