/  10
 
L’ASP loophole ed alcune soluzioni
Michele Dalla Torre
Facolt `a di Scienze MM. FF. NN.Universit `a di Trento
1 Introduzione
Lo sviluppo e la diffusione virale negli ultimi annidelle applicazioni web, si pensi in modo particolareai social network, ha generato nuove problematicheinaspettate. Tra queste, una delle pi`u importanti`e senza dubbio il cosiddetto problema dell’ASP loo-phole, che si verifica quando un’azienda fa uso disoftware libero licenziato sotto GNU GPL, la licen-za open source pi`u diffusa, per creare web appli-cation. Infatti, a causa di un “buco” legislativo intale licenza, l’azienda in questione pu`o usare e mo-dificare il codice sorgente senza dover distribuire lemodifiche effettuate, violando di fatto, seppur nonlegalmente, lo spirito del software open source che`e volto alla diffusione della conoscenza.In questo articolo viene presentata la problema-tica dell’ASP loophole. In seguito sono discussealcune soluzioni possibili, in particolare la licenzaGNU Affero GPLv3, la licenza CPAL ed il modellodual licensing.
2 ASP & SaaS
In questa prima sezione vengono date alcune defini-zioni che saranno utilizzate nel seguito dell’articolo.Con ASP, sigla che sta per Application Servi-ce Provider, si fa generalmente riferimento ad unacompagnia che fornisce servizi informatici a clientiattraverso una rete.La sigla SaaS, acronimo di Software as a Service,`e riferita di solito al software prodotto secondo ilmodello ASP. Tale software non `e venduto o fornitodirettamente al cliente, bens`ı ne `e permesso soltantol’utilizzo tramite una rete. L’utente pertanto pagaesclusivamente per fruire delle funzionalit`a delsoftware.In realt`a, tali definizioni non sono accettate datutti. Alcuni esperti infatti ritengono che il mo-dello ASP e il modello SaaS si differenzino perle modalit`a di gestione del prodotto software.Secondo questa argomentazione, nel modello ASPl’applicazione`e in genere eseguita in uno spaziodati condiviso dai vari utenti, mentre nel modelloSaaS `e presente una sola istanza del software maogni utente fruisce di uno spazio dati non condivisobens`ı dedicato. Tuttavia`e bene sottolineare che,in materia cos`ı complessa ed in continua e rapidaevoluzione,`e difficile trovare un’opinione comune:le opinioni dei vari esperti del settore infatti sonodiverse tra loro e mutano costantemente.
3 L’ASP loophole
Il problema dello “ASP loophole”`e piuttosto recen-te e si`e venuto a creare con la diffusione virale diapplicazioni web che sono venute via via a sostitui-re molte concorrenti installabili sul disco fisso e nonutilizzabili per l’appunto attraverso il web. Tali ap-plicazioni web, ovvero applicazioni accessibili tra-mite un web browser, si sono diffuse principalmenteper i seguenti motivi:
facilit`a di distribuzione ed aggiornamento: es-sendo l’applicativo residente su un unico ser-ver,`e sufficiente per il programmatore ag-giornare tale macchina affince ogni uten-
 
te, connesso all’applicazione tramite il ser-ver, possa godere istantaneamente delle nuoveimplementazioni;
accesso multipiattaforma: per accedere all’ap-plicazione`e sufficiente un web browser: intal modo, l’accesso `e indipendente dal sistemaoperativo utilizzato dal singolo utente;
scalabilit`a: queste applicazioni web sono svi-luppate secondo una logica modulare che per-mette loro di adattarsi facilmente e rapidamen-te ad un aumento del numero di utenti o ad uncambiamento improvviso della topologia dellerete su cui operano;
riduzione dei costi di gestione: questo mo-dello di sviluppo software consente un rispar-mio complessivo nei costi di gestione del pro-dotto, grazie all’utilizzo efficace di ogni partecoinvolta in tale processo.Il problema di fondo sta nel fatto che, al mo-mento in cui sono nate le pi`u famose licenze opensource (si pensi per esempio alla GNU GPL), non si`e tenuto conto, proprio perch´e tale questione ancoranon era venuta alla luce, della diffusione via webdi un software. Se uno sviluppatore modifica delcodice licenziato sotto GPL, conformemente alleregole sancite dalla licenza dovr`a poi distribuire isorgenti modificati quando distribuir`a il software;ma – e qui sta il problema dell’ASP loophole – selo sviluppatore`e un Application Service Provider,cio`e un ente che fornisce un servizio via web, cheusa software libero (per esempio licenziato sottoGNU GPL), in tal caso non sta distribuendo ilsoftware e quindi non`e tenuto a distribuire anchele modifiche apportate al codice sorgente. Questapossibilit`a deriva da quella che Tim O’Reilly,esponente di spicco della comunit`a open source,defin`ı gi`a alcuni anni fa come l’obsolescenza delle licenze open source nei confronti del Web 2.0. [12]Il nocciolo della questione `e quindi nel termine“distribuire” che non comprende la diffusione di unservizio tramite web.Questo comportamento, che viola in pratica iprincipi su cui si basa il software open source, haprovocato forti reazioni all’interno del movimentodel software libero, il quale ha fatto notare comenumerose aziende facciano larghissimo uso disoftware open source, ma senza essere appuntotenute a distribuire alla comunit`a le modificheeffettuate. Il movimento del software libero riven-dica quindi certi diritti che la comunit`a di utenti esviluppatori dovrebbe avere verso il software concui interagisce, anche qualora l’interazione avvengasolo tramite network.Da parte loro tali compagnie rivendicano il fat-to che non sono obbligate a rilasciare le modificheai sorgenti proprio perch´e non stanno ridistribuen-do il codice per uso commerciale ma semplicementeforniscono un servizio ai loro utenti.
4 La licenza GNU Affero GPL
Per risolvere la questione`e stata creata la licenzaAffero GPL (AGPL) che corregge questo “buco”normativo introducendo una nuova clausola alla li-cenzaGNU GPL. Con la AGPL, seun ASP usasoft-ware libero per fornire servizi o altro, deve renderepubblicamente disponibile il codice sorgente trami-te rete (generalmente HTTP) a chiunque. In questomodo il principio della redistribuzione delle modifi-che alla base delle licenze open source rimane vali-do, in quanto il codice rimane aperto, sia se usato inlocale, sia se usato all’interno di una rete.
4.1 La nascita della licenza AGPL
La licenza Affero GPL `e presente in tre diverseversioni:1. AGPLv1 [15], pubblicata da Affero S.P.A. nelmarzo 2002 e basata sulla licenza GNU GPLv22. AGPLv2 [16], pubblicata da Affero S.P.A. nelnovembre 20073. AGPLv3 [9], pubblicata dalla Free SoftwareFoundation [8] nel novembre 2007 e succes-sivamente approvata dalla Open Source Initia-tive [11] nel 2008, basata sulla licenza GNUGPLv3L’origine di tale licenza ha inizio da un incontrotra Henry Poole e Richard Stallman, entrambi no-ti esponenti del movimento del software libero, nel2
 
2000 ad Amsterdam, dove discussero il problemadell’ASP loophole nella licenza GNU GPLv2. Unanno dopo, nel 2001, Poole fond`o la compagnia Af-fero S.P.A., una compagnia che realizzava serviziweb, ed ebbe la necessit`a di creare una licenza cheimponesselaridistribuzionedellemodifichealcodi-ce sorgente a chi avesse utilizzato il codice prodottoda Affero S.P.A. per creare opere derivate.Dopo altri dibattiti con alcuni membri della FreeSoftware Foundation venne deciso, a fine febbraio2002, di aggiungere alla licenza GNU GPLv2 unanuova sezione, la 2(d), che obbligasse gli svilup-patori di opere derivate a fornire il codice sorgentecompleto.Finalmente, dopo aver chiesto ed ottenuto il per-messo dalla Free Software Foundation di pubblica-re una licenza derivata della GNU GPLv2 per questimotivi, Poole pubblic`o la licenza Affero GPLv1 nelmarzo 2002, al fine di poterla usare nell’ambito del-la Affero S.P.A. e renderla chiaramente disponibilead altri sviluppatori di SaaS.Nel 2007, al momento della stesura della licenzaGNU GPLv3, la Free Software Foundation discussela possibilit`a di includere la clausola speciale dellalicenza Affero GPLv1 nella licenza GNU GPLv3.Per vari motivi per`o si decise di pubblicare la licen-za GNU GPLv3 come una licenza a se stante, sprov-vista cio`e di tale clausola. Si rese quindi necessariala pubblicazione di un’ulteriore licenza, basata sul-la nuova GNU GPLv3, che contenesse una clauso-la simile per scopo alla 2(d) della licenza AGPLv1.Questa nuova licenza venne chiamata GNU AfferoGPLv3: si decise di mantenere il nome “Affero” perricordare la licenza storica AGPLv1 e si introdus-se il numero “3” per indicare la correlazione con lalicenza GNU GPLv3. La versione definitiva dellalicenza GNU AGPLv3 venne pubblicata dalla FreeSoftware Foundation in data 19 novembre 2007 epochi mesi pi`u tardi approvata dalla Open SourceInitiative.Infine, Affero S.P.A. decise di creare la licenzaAffero GPLv2 nel mese di novembre 2007, al fine dipermettere agli sviluppatori di codice licenziato sot-to AGPLv1 di cambiare licenza e passare alla nuovalicenza GNU AGPLv3. Questo si rese necessarioper motivi di incompatibilit`a tra le varie licenze, inparticolare tra la GNU AGPLv3 e la GNU GPLv2.
4.2 AGPL: caratteristiche principali
In questa sezione `e trattata esclusivamente lalicenza AGPLv3 [9], la pi`u recente e pi`u usata delletre licenze descritte precedentemente.La licenza GNU Affero General Public Licen-se v3 (AGPLv3) [9]`e una licenza open source ecopyleft. Essa deriva dalla licenza GNU GPLv3a cui `e stato aggiunto un ulteriore paragrafo allasezione 13 in modo da risolvere il gi`a citato ASPloophole e permettere agli utenti che interagisconotramite una rete con il software licenziato sottoAGPL di ricevere il codice sorgente del programma.Tale clausola recita:“13. Remote Network Interaction; Use with theGNU General Public License.Notwithstanding any other provision of thisLicense, if you modify the Program, your modifiedversion must prominently offer all users interactingwith it remotely through a computer network (if your version supports such interaction) an oppor-tunity to receive the Corresponding Source of yourversion by providing access to the CorrespondingSource from a network server at no charge, throughsome standard or customary means of facilitatingcopying of software. This Corresponding Sourceshall include the Corresponding Source for anywork covered by version 3 of the GNU GeneralPublic License that is incorporated pursuant to thefollowing paragraph.Notwithstanding any other provision of thisLicense, you have permission to link or combineany covered work with a work licensed underversion 3 of the GNU General Public License into asingle combined work, and to convey the resultingwork. The terms of this License will continue toapply to the part which is the covered work, butthe work with which it is combined will remaingoverned by version 3 of the GNU General PublicLicense.” [9]Come si pu`o notare, questa condizione obbli-ga a mostrare su ogni pagina dell’applicazione webun qualche mezzo, tipicamente un collegamentoipertestuale, per accedere al codice sorgente e3

Share & Embed

More from this user

Add a Comment

Characters: ...