La FSF punta il dito contro il codice JavaScript non libero

Lunedì 13 Febbraio 2012 - 11:53

di Francesco Argese

Scripting

Le licenze utilizzate per la distribuzione di software libero richiedono l’accesso al codice sorgente e l’inclusione di un documento con i termini della licenza. Al giorno d’oggi è molto complicato rispettare queste due condizioni nella distribuzione del codice JavaScript incorporato nei siti web.

Uno script JavaScript, infatti, non è richiesto espressamente dai visitatori del proprio sito ma viene richiesto dal loro web browser. Dato che lo standard prevede la possibilità di inviare un unico file ad ogni richiesta di un file .js risulta difficile includere le altre risorse richieste dalla licenza.

A complicare la situazione negli ultimi tempi si è diffusa anche la tendenza a distribuire il codice in forma compatta che, se da un lato è utile a ridurre i tempi di download, dall’altro rende il codice illeggibile. Secondo la Free Software Foundation (FSF) tale codice non può essere considerato codice sorgente, come riportato nel documento The JavaScript Trap.

Per risolvere tale problematica la FSF ha proposto l’introduzione delle JavaScript License Web Labels, delle label da aggiungere alle pagine web per mettere in luce l’utilizzo di software libero. Le label sarebbero posizionate all’interno di una singola tabella HTML caratterizzata dall’identificatore jslicence-labels1 in maniera tale da poter essere individuata facilmente da strumenti automatizzati come LibreJS.

Le label conterrebbero il link al file JavaScript utilizzato, il link alla licenza ed un link al codice sorgente per il file JavaScript. Ad esempio un sito che utilizza una versione compatta di jQuery utilizzerebbe il seguente codice:


<table id="jslicense-labels1">
<table>
<tr>
<td><a href="/js/jquery-1.7.min.js">jquery-1.7.min.js</a></td>
<td><a href="http://www.jclark.com/xml/copying.txt">Expat</a></td>
<td><a href="/js/jquery-1.7.tar.gz">jquery-1.7.tar.gz</a></td>
</tr>
</table>

Cosa pensate di queste label? Le utilizzereste per i vostri siti web?

Tags:

Categoria: Scripting | Permalink

Commenti

1

Come dicevano in un famoso film una ca.ata pazzesca!

# - postato da jsguru - 13 Febbraio 2012 - 12:53

2

Secondo me, invece di creare una tabella in HTML, si potrebbero utilizzare degli attributi specifici (per esempio, i “data-” di HTML5) da assegnare al tag script con il link alla versione espansa del codice oppure utilizzare dei commenti all’inizio del codice JavaScript sullo stile di quelli di PHP-Doc.

# - postato da Mattia - 13 Febbraio 2012 - 15:05

3

Commento per selezionare “Avvisami via e-mail della presenza di nuovi commenti”.

# - postato da Mattia - 13 Febbraio 2012 - 15:05

4

con il dovuto rispetto a rms mi pare una soluzione impraticabile

# - postato da sunny - 13 Febbraio 2012 - 16:54

5

Seghe mentali. Di quelle a cui non si dovrebbe dare eco.
E scusate la poca classe e la brevità.

# - postato da Dino - 13 Febbraio 2012 - 21:37

6

Mi sembra di capire che la maggior parte di voi non lo utilizzerebbe per i propri siti web. :-)

Comunque lo scopo principale di tali label sarebbe quello di evitare che sulla propria macchina giri codice di cui si conosce poco e niente.

Come esempio la FSF riporta Google Docs che scarica sulla propria macchina un programma JavaScript da 0.5 MB in forma compatta il cui codice è poco comprensibile (scrivono che si potrebbe definire ObfuScript :-D).

L’obiettivo della proposta della FSF mira soprattutto a tutelare le libertà dell’utente di studiare e modificare il codice sorgente.

Dato che si tratta di codice lato client, che gira fisicamente sulla propria macchina, non è escluso che qualcuno lo possa utilizzare anche per attacchi malevoli sfruttando eventuali vulnerabilità del browser.

# - postato da Francesco Argese - 13 Febbraio 2012 - 22:58

7

@Argese

Stallman infatti, come dici, si riferisce ad applicazioni massicce, per i piccoli script non è richiesta questo tipo di documentazione. Ma è la soluzione proposta che sembra bizzarra (tag table ecc). Se la preoccupazione è che IceWeasel o altri browser impostati sull’utilizzo di solo FLOSS non scarichino questi programmi io invertirei il problema, facendo filtrare a questi browser i file JS che sono offuscati.

@Dino

complimenti per le argomentazioni

# - postato da sunny - 14 Febbraio 2012 - 09:12

Inserisci il tuo commento:





(puoi usare i seguenti tag HTML per formattare il testo -
a href, b, i, br/, p, strong, em, ul, ol, li, blockquote, pre):

 

Anteprima del commento