java-trap.html - en to it translation catalogue (32 entries)

note: type: Content of: <title>
en: Free but Shackled - The Java Trap - GNU Project - Free Software Foundation
it: Libero ma incatenato - La trappola Java - Progetto GNU - Free Software Foundation

note: type: Content of: <div><h2>
en: Free but Shackled - The Java Trap
it: Libero ma incatenato - La trappola Java

note: type: Content of: <div><address>
en: by <a href="https://www.stallman.org/">Richard Stallman</a>
it: di <a href="https://www.stallman.org/">Richard Stallman</a>

note: type: Content of: <div><div><h3>
en: Headnote
it: Nota

note: type: Content of: <div><div><p>
en: Since this article was first published, Sun (now part of Oracle)  has <a href="https://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.
it: Dalla prima pubblicazione di questo articolo le cose sono cambiate: Sun (ora parte di Oracle) ha <a href="https://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.

note: type: Content of: <div><div><p>
en: 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.
it: 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.

note: type: Content of: <div><div><p>
en: 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. (Note, added 10/2015: The free implementation of Java is known as OpenJDK in many GNU/Linux distributions.)
it: 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).

note: type: Content of: <div><div><p>
en: 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.
it: 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%.

note: type: Content of: <div><div><p>
en: 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. (Note, added 10/2015: A free replacement for JavaFX called OpenJFX has been released.)
it: 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).

note: type: Content of: <div><div><p>
en: 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.
it: 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.

note: type: Content of: <div><div><p>
en: Please also see: <a href="/philosophy/javascript-trap.html"> The JavaScript Trap</a>.
it: Vedere anche: <a href="/philosophy/javascript-trap.html"> La trappola JavaScript</a>.

note: type: Content of: <div><p>
en: <em>April 12, 2004</em>
it: <em>12 aprile 2004</em>

note: type: Content of: <div><p>
en: 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.
it: 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”.

note: type: Content of: <div><p>
en: 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 the <a href="/philosophy/free-sw.html">Free Software Definition</a>.)  Whether any given program in source form is free software depends solely on the meaning of its license.
it: 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">la definizione di software libero</a>). È esclusivamente la licenza a determinare se uno specifico programma, fornito in forma di codice sorgente, sia o meno software libero.

note: type: Content of: <div><p>
en: 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.
it: È 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.

note: type: Content of: <div><p>
en: 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.
it: 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.

note: type: Content of: <div><p>
en: 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.
it: 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.

note: type: Content of: <div><p>
en: 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="https://objectcomputing.com/resources/publications/sett/january-2003-gcj-the-gnu-compiler-for-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.
it: 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="https://objectcomputing.com/resources/publications/sett/january-2003-gcj-the-gnu-compiler-for-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.

note: type: Content of: <div><p>
en: 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.
it: 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.

note: type: Content of: <div><p>
en: 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.
it: 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.

note: type: Content of: <div><p>
en: 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 the <a href="https://jcp.org/aboutJava/communityprocess/JSPA2.pdf"> Java Specification Participation Agreement</a> and the <a href="https://jcp.org/aboutJava/communityprocess/final/jsr129/j2me_pb-1_0-fr-spec-license.html"> J2ME&trade; Personal Basis Profile Specification</a> for examples.)
it: 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">“Java Specification Participation Agreement”</a> e <a href="http://jcp.org/aboutJava/communityprocess/final/jsr129/j2me_pb-1_0-fr-spec-license.html">“J2ME&trade; Personal Basis Profile Specification”</a>.

note: type: Content of: <div><p>
en: 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.
it: 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.

note: type: Content of: <div><p>
en: 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.
it: 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.

note: type: Content of: <div><p>
en: 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.
it: 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.

note: type: Content of: <div><p>
en: 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 <a href="https://www.fsf.org/directory">Free Software Directory</a>.  If a program is not in the directory, you can check its license(s)  against the <a href="/licenses/license-list.html">list of free software licenses</a>.
it: 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'<a href="https://www.fsf.org/directory">Elenco del Software Libero</a>. Se un programma non è in elenco, potete comunque cercare la sua licenza nella <a href="/licenses/license-list.html">lista delle licenze software libere</a>.

note: type: Content of: <div><p>
en: 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.
it: 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.

note: type: Content of: <div><h3>
en: See also:
it: Vedere anche:

note: type: Content of: <div><div><p>
en: Please send general FSF &amp; GNU inquiries to <a href="mailto:gnu@gnu.org">&lt;gnu@gnu.org&gt;</a>.  There are also <a href="/contact/">other ways to contact</a> the FSF.  Broken links and other corrections or suggestions can be sent to <a href="mailto:webmasters@gnu.org">&lt;webmasters@gnu.org&gt;</a>.
it: 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>.

note: 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 hr
en: Please see the <a href="/server/standards/README.translations.html">Translations README</a> for information on coordinating and contributing translations of this article.
it: 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>.

note: type: Content of: <div><p>
en: This page is licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nd/4.0/">Creative Commons Attribution-NoDerivatives 4.0 International License</a>.
it: Questa pagina è distribuita secondo i termini della licenza <a rel="license" href="http://creativecommons.org/licenses/by-nd/4.0/deed.it">Creative Commons Attribuzione - Non opere derivate 4.0 Internazionale</a> (CC BY-ND 4.0).

note: TRANSLATORS: Use space (SPC) as msgstr if you don't want credits. type: Content of: <div><div>
en: *GNUN-SLOT: TRANSLATOR'S CREDITS*
it: Tradotto originariamente da Andrea Pescetti.

note: timestamp start type: Content of: <div><p>
en: Updated:
it: Ultimo aggiornamento:
