summaryrefslogtreecommitdiff
path: root/talermerchantdemos/blog/articles/it/javascript-trap.html
diff options
context:
space:
mode:
Diffstat (limited to 'talermerchantdemos/blog/articles/it/javascript-trap.html')
-rw-r--r--talermerchantdemos/blog/articles/it/javascript-trap.html304
1 files changed, 304 insertions, 0 deletions
diff --git a/talermerchantdemos/blog/articles/it/javascript-trap.html b/talermerchantdemos/blog/articles/it/javascript-trap.html
new file mode 100644
index 0000000..be75529
--- /dev/null
+++ b/talermerchantdemos/blog/articles/it/javascript-trap.html
@@ -0,0 +1,304 @@
+<!--#set var="PO_FILE"
+ value='<a href="/philosophy/po/javascript-trap.it.po">
+ https://www.gnu.org/philosophy/po/javascript-trap.it.po</a>'
+ --><!--#set var="ORIGINAL_FILE" value="/philosophy/javascript-trap.html"
+ --><!--#set var="DIFF_FILE" value="/philosophy/po/javascript-trap.it-diff.html"
+ --><!--#set var="OUTDATED_SINCE" value="2019-02-21" -->
+
+<!--#include virtual="/server/header.it.html" -->
+<!-- Parent-Version: 1.86 -->
+
+<!-- This file is automatically generated by GNUnited Nations! -->
+<title>La trappola JavaScript</title>
+
+<!--#include virtual="/philosophy/po/javascript-trap.translist" -->
+<!--#include virtual="/server/banner.it.html" -->
+<!--#include virtual="/server/outdated.it.html" -->
+<h2>La trappola JavaScript</h2>
+
+<p>di <a href="http://www.stallman.org/">Richard Stallman</a></p>
+
+<p><strong>Forse ogni giorno eseguite software non libero senza rendervene
+conto, attraverso il vostro web browser.</strong></p>
+
+<!-- any links that used to point to the appendices should point to
+ free-your-javascript.html instead. -->
+<blockquote>
+<p>Per i webmaster: ci sono <a
+href="/software/librejs/free-your-javascript.html">molti modi</a> di
+indicare la licenza dei programmi JavaScript in un sito.</p>
+</blockquote>
+
+<p>Nella comunità del software libero, l'idea che <a
+href="/philosophy/free-software-even-more-important.html"> i programmi non
+liberi maltrattino i propri utenti</a> è familiare. Alcuni di noi difendono
+la libertà rifiutandosi categoricamente di installare software proprietario;
+molti altri considerano la non-libertà un punto negativo per il programma.</p>
+
+<p>Molti utenti sono a conoscenza del fatto che questo problema si applica ai
+plug-in che i browser offrono di installare, visto che possono essere sia
+liberi che non liberi. Ma i browser eseguono altri programmi non liberi per
+i quali non vi chiedono il permesso o vi avvisano: i programmi che le pagine
+web contengono o includono da altri siti. Questi programmi sono spesso
+scritti in JavaScript, anche se alle volte sono scritti in altri linguaggi.</p>
+
+<p>JavaScript (ufficialmente ma raramente chiamato ECMAScript) era usato un
+tempo per vari fronzoli non essenziali nelle pagine web come effetti visuali
+di navigazione. Era quindi accettabile considerare questi come una mera
+estensione del linguaggio HTML più che come software vero e proprio, e così
+ignorare il problema.</p>
+
+<p>Alcuni siti continuano ad usare JavaScript in quella maniera, mentre molti
+lo usano per grandi programmi che svolgono operazioni complesse. Per
+esempio, Google Docs prova a scaricare nella vostra macchina un programma
+JavaScript che pesa mezzo megabyte e talmente compresso da poterlo chiamare
+Obfuscript perché mancante di commenti e di spazi e popolato da metodi dai
+nomi lunghi un singolo carattere. Il codice sorgente di un programma è la
+forma preferita per poterlo modificare; il codice compresso non è codice
+sorgente, ed il vero codice sorgente di questo programma non è accessibile
+dall'utente.</p>
+
+<p>Oltre ad essere non liberi, molti di questi programmi sono malware perché <a
+href="http://github.com/w3c/fingerprinting-guidance/issues/8">spiano gli
+utenti</a>. Inoltre alcuni siti usano servizi che registrano <a
+href="https://freedom-to-tinker.com/2017/11/15/no-boundaries-exfiltration-of-personal-data-by-session-replay-scripts/">tutte
+le azioni dell'utente mentre visita pagina</a>. Questi servizi in teoria
+"eliminano" i dati sensibili che il sito non dovrebbe raccogliere, ma anche
+se questo fosse vero il problema comunque rimane: questi servizi forniscono
+al sito informazioni che esso non dovrebbe ricevere.</p>
+
+<p>I browser di solito non vi comunicano di aver caricato dei programmi
+JavaScript. Alcuni browser forniscono un'opzione per disabilitare JavaScript
+del tutto, ma anche se siete a conoscenza di questo problema, identificare e
+bloccare i programmi non banali e non liberi non è facile e persino nella
+comunità del software libero la maggior parte degli utenti non ne è a
+conoscenza, anche per via del silenzio dei browser.</p>
+
+<p>È possibile rilasciare un programma JavaScript come software libero se si
+distribuisce il suo codice sorgente sotto una licenza libera. Se il
+programma è indipendente (nel senso che il suo funzionamento e scopo non
+dipendono dalla pagina che lo conteneva) questo va bene: lo si può copiare
+su un file nel proprio computer, modificarlo, ed eseguirlo in un browser. Ma
+questo caso non è comune.</p>
+
+<p>Nel caso più comune, i programmi JavaScript sono fatti per funzionare in una
+specifica pagina o uno specifico sito, e a sua volta la pagina, o il sito,
+funziona solo se questi sono disponibili. Allora si ha un altro problema:
+anche se il codice sorgente del programma è disponibile, i browser non
+offrono un modo di eseguire la vostra versione modificata del programma al
+posto dell'originale quando visitate una pagina. L'effetto è comparabile
+alla tivoizzazione, anche se non così difficile da sormontare.</p>
+
+<p>JavaScript non è l'unico linguaggio che i siti web usano per i programmi
+inviati agli utenti. Flash offre di programmare attraverso una variante
+estesa di JavaScript; se arriveremo ad avere uno strumento libero per Flash
+abbastanza completo, dovremo comunque scontrarci con il problema dei
+programmi Flash non liberi. Silverlight è in procinto di porre un problema
+simile a Flash e se possibile peggiore, visto che Microsoft lo usa come
+piattaforma per codec non liberi. Un sostituto libero per Silverlight non
+può funzionare per il mondo libero a meno che dei codec liberi non vengano
+inclusi con esso.</p>
+
+<p>Anche le applet Java vengono eseguite dal browser e pongono simili
+problematiche. In generale, ogni sistema di applet pone simili
+problematiche. Avere un ambiente di esecuzione libero per un'applet ci porta
+a scontrarci con questo problema.</p>
+
+<p>Teoricamente è possibile programmare in HTML e CSS, ma in pratica è
+difficile riuscire a fare qualcosa di significativo usando la limitata
+programmabilità disponibile con queste due tecnologie. Questi programmi
+dovrebbero essere liberi, ma il CSS non è comunque un problema (nel 2016)
+per la libertà degli utenti.</p>
+
+<p>C'è un movimento forte che chiede ai siti web di comunicare solo tramite
+formati e protocolli liberi (alcuni dicono &quot;aperti&quot;), ovvero la
+cui documentazione viene pubblicata e che ognuno può liberamente
+implementare. Con la presenza di programmi nelle pagine web, il criterio è
+necessario ma non sufficiente. Lo stesso JavaScript, come formato, è libero,
+e l'uso di JavaScript in un sito web non è necessariamente negativo ma, come
+abbiamo già visto, nemmeno necessariamente positivo. Quando il sito
+trasmette il programma all'utente, non è abbastanza che il linguaggio in cui
+questo è stato scritto sia documentato e libero; anche il programma deve
+essere libero. &ldquo;Solo i programmi liberi trasmessi all'utente&ldquo;
+possono soddisfare il criterio di condotta appropriata per i siti web.</p>
+
+<p>Caricare ed eseguire programmi non liberi silenziosamente è uno degli
+svariati problemi posti dalle &quot;applicazioni web&quot;. Il termine
+&quot;applicazione web&quot; è stato concepito per ignorare la distinzione
+fondamentale tra software trasmesso all'utente e software in esecuzione su
+un server. Può fare riferimento ad un programma client specializzato che
+lavora a stretto contatto con un programma server specializzato. I lati
+client e server sollevano diverse questioni etiche anche quando sono così
+reciprocamente integrati da poter costituire ai fatti un singolo
+programma. Questo articolo fa riferimento solamente a ciò che riguarda
+software lato client. Ci occuperemo del lato server separatamente.</p>
+
+<p>In termini pratici, come possiamo affrontare il problema del software
+JavaScript (non banale) non libero nei siti web? Il primo passo è evitare di
+eseguirlo. </p>
+
+<p>Che cosa vuol dire &quot;non banale&quot;? Dipende da caso a caso ed è
+quindi preferibile definire un criterio semplice che offre buoni risultati
+piuttosto che cercare una risposta esatta.</p>
+<p>
+La nostra politica provvisoria considera un programma JavaScript non banale
+se: </p>
+
+<ul>
+ <li>effettua una richiesta AJAX oppure viene caricato assieme ad altri script
+che effettuano una richiesta AJAX,</li>
+
+ <li>carica uno script esterno dinamicamente oppure viene caricato assieme ad
+altri script che lo fanno,</li>
+
+ <li>definisce funzioni o metodi e carica uno script esterno (da html) o viene
+caricato esternamente a sua volta,</li>
+
+ <li>usa costrutti dinamici di JavaScript che sono difficili da analizzare senza
+interpretare il programma o viene caricato assieme ad altri script che usano
+tali costrutti. Questi costrutti sono:
+ <ul>
+ <li>l'uso della funzione eval,</li>
+ <li>la chiamata di metodi con notazione a parentesi quadre,</li>
+ <li>l'uso di qualsiasi costrutto diverso da una stringa letterale con alcuni
+metodi (Obj.write, Obj.createElement, ...).</li>
+ </ul>
+ </li>
+</ul>
+
+<p>Come facciamo a determinare se il codice JavaScript è libero? In un <a
+href="/licenses/javascript-labels.html">ulteriore articolo</a> proponiamo
+metodo con cui un programma JavaScript non banale in una pagina web può
+comunicare l'indirizzo web del suo codice sorgente e la sua licenza tramite
+commenti stilizzati.</p>
+
+<p>Infine, è necessario che noi modifichiamo i browser liberi per rilevare e
+bloccare JavaScript non libero nelle pagine web. Il programma <a
+href="/software/librejs/">LibreJS</a> rileva JavaScript non banale e libero
+nelle pagine che visitate e lo blocca. LibreJS è parte di IceCat ed è
+disponibile come estensione per Firefox.</p>
+
+<p>Gli utenti dei browser hanno anche bisogno di un modo facile per
+<em>sostituire</em> il codice JavaScript di una pagina con il proprio. Il
+codice specificato può essere una modifica parziale o totale del programma
+JavaScript libero trovato nella pagina. Greasemonkey si avvicina ad essere
+adatto a questo scopo ma non lo è del tutto, visto che non garantisce che il
+codice venga modificato prima dell'esecuzione del programma. Usare un proxy
+locale funziona, ma è troppo scomodo per poter essere una soluzione
+pratica. Abbiamo bisogno di creare sia una soluzione affidabile e facile da
+usare che dei siti per poter condividere le modifiche. Il progetto GNU
+vorrebbe consigliare dei siti che sono dedicati esclusivamente alle
+modifiche libere.</p>
+
+<p>Queste funzionalità permetteranno di includere programmi JavaScript liberi
+all'interno di una pagina web in maniera pratica. JavaScript cesserà di
+essere un ostacolo per la libertà più di quanto lo siano oggigiorno C e
+Java. Saremo capaci di respingere ed addirittura sostituire i programmi
+JavaScript non banali e non liberi proprio come facciamo con i programmi che
+vengono convenzionalmente installati. La nostra campagna per spingere i siti
+a liberare il proprio JavaScript può avere inizio.</p>
+
+<p>Nel frattempo, c'è un caso in cui è accettabile eseguire del JavaScript non
+libero: per inviare una lamentela agli operatori del sito, chiedendo loro di
+liberare o altrimenti rimuovere il codice JavaScript dal loro sito. Vi prego
+di non esitare ad abilitare JavaScript temporaneamente per questo
+scopo&mdash;non dimenticate di disattivarlo una volta finito.</p>
+
+<!-- any links that used to point to the appendices should point to
+ free-your-javascript.html instead. -->
+<blockquote>
+<p>Per i webmaster: ci sono <a
+href="/software/librejs/free-your-javascript.html">molti modi</a> di
+indicare la licenza dei programmi JavaScript in un sito.</p>
+</blockquote>
+
+<p><strong>Grazie a:</strong> <a href="/people/people.html#mattlee">Matt
+Lee</a> e <a href="http://ejohn.org">John Resig</a> per il loro aiuto nel
+definire il criterio da noi proposto ed a David Parunakian per avermi messo
+a conoscenza del problema.</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>
+
+<!-- Regarding copyright, in general, standalone pages (as opposed to
+ files generated as part of manuals) on the GNU web server should
+ be under CC BY-ND 4.0. Please do NOT change or remove this
+ without talking with the webmasters or licensing team first.
+ Please make sure the copyright date is consistent with the
+ document. For web pages, it is ok to list just the latest year the
+ document was modified, or published.
+
+ If you wish to list earlier years, that is ok too.
+ Either "2001, 2002, 2003" or "2001-2003" are ok for specifying
+ years, as long as each year in the range is in fact a copyrightable
+ year, i.e., a year in which the document was published (including
+ being publicly visible on the web or in a revision control system).
+
+ There is more detail about copyright years in the GNU Maintainers
+ Information document, www.gnu.org/prep/maintain. -->
+<p>Copyright &copy; 2009-2013, 2016, 2017, 2018 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 da membri del gruppo dei traduttori italiani GNU. Revisioni di
+Andrea Pescetti.</div>
+
+<p class="unprintable"><!-- timestamp start -->
+Ultimo Aggiornamento:
+
+$Date: 2019/12/30 12:08:30 $
+
+<!-- timestamp end -->
+</p>
+</div>
+</div>
+<!-- for class="inner", starts in the banner include -->
+</body>
+</html>