Sei sulla pagina 1di 10

L’ASP loophole ed alcune soluzioni

Michele Dalla Torre


Facoltà di Scienze MM. FF. NN.
Università di Trento

1 Introduzione direttamente al cliente, bensı̀ ne è permesso soltanto


l’utilizzo tramite una rete. L’utente pertanto paga
Lo sviluppo e la diffusione virale negli ultimi anni esclusivamente per fruire delle funzionalità del
delle applicazioni web, si pensi in modo particolare software.
ai social network, ha generato nuove problematiche
inaspettate. Tra queste, una delle più importanti è In realtà, tali definizioni non sono accettate da
senza dubbio il cosiddetto problema dell’ASP loo- tutti. Alcuni esperti infatti ritengono che il mo-
phole, che si verifica quando un’azienda fa uso di dello ASP e il modello SaaS si differenzino per
software libero licenziato sotto GNU GPL, la licen- le modalità di gestione del prodotto software.
za open source più diffusa, per creare web appli- Secondo questa argomentazione, nel modello ASP
cation. Infatti, a causa di un “buco” legislativo in l’applicazione è in genere eseguita in uno spazio
tale licenza, l’azienda in questione può usare e mo- dati condiviso dai vari utenti, mentre nel modello
dificare il codice sorgente senza dover distribuire le SaaS è presente una sola istanza del software ma
modifiche effettuate, violando di fatto, seppur non ogni utente fruisce di uno spazio dati non condiviso
legalmente, lo spirito del software open source che bensı̀ dedicato. Tuttavia è bene sottolineare che,
è volto alla diffusione della conoscenza. in materia cosı̀ complessa ed in continua e rapida
In questo articolo viene presentata la problema- evoluzione, è difficile trovare un’opinione comune:
tica dell’ASP loophole. In seguito sono discusse le opinioni dei vari esperti del settore infatti sono
alcune soluzioni possibili, in particolare la licenza diverse tra loro e mutano costantemente.
GNU Affero GPLv3, la licenza CPAL ed il modello
dual licensing. 3 L’ASP loophole

Il problema dello “ASP loophole” è piuttosto recen-


2 ASP & SaaS te e si è venuto a creare con la diffusione virale di
applicazioni web che sono venute via via a sostitui-
In questa prima sezione vengono date alcune defini-
re molte concorrenti installabili sul disco fisso e non
zioni che saranno utilizzate nel seguito dell’articolo.
utilizzabili per l’appunto attraverso il web. Tali ap-
plicazioni web, ovvero applicazioni accessibili tra-
Con ASP, sigla che sta per Application Servi-
mite un web browser, si sono diffuse principalmente
ce Provider, si fa generalmente riferimento ad una
per i seguenti motivi:
compagnia che fornisce servizi informatici a clienti
attraverso una rete. • facilità di distribuzione ed aggiornamento: es-
La sigla SaaS, acronimo di Software as a Service, sendo l’applicativo residente su un unico ser-
è riferita di solito al software prodotto secondo il ver, è sufficiente per il programmatore ag-
modello ASP. Tale software non è venduto o fornito giornare tale macchina affinché ogni uten-
te, connesso all’applicazione tramite il ser- del software libero, il quale ha fatto notare come
ver, possa godere istantaneamente delle nuove numerose aziende facciano larghissimo uso di
implementazioni; software open source, ma senza essere appunto
tenute a distribuire alla comunità le modifiche
• accesso multipiattaforma: per accedere all’ap- effettuate. Il movimento del software libero riven-
plicazione è sufficiente un web browser: in dica quindi certi diritti che la comunità di utenti e
tal modo, l’accesso è indipendente dal sistema sviluppatori dovrebbe avere verso il software con
operativo utilizzato dal singolo utente; cui interagisce, anche qualora l’interazione avvenga
solo tramite network.
• scalabilità: queste applicazioni web sono svi-
Da parte loro tali compagnie rivendicano il fat-
luppate secondo una logica modulare che per-
to che non sono obbligate a rilasciare le modifiche
mette loro di adattarsi facilmente e rapidamen-
ai sorgenti proprio perché non stanno ridistribuen-
te ad un aumento del numero di utenti o ad un
do il codice per uso commerciale ma semplicemente
cambiamento improvviso della topologia delle
forniscono un servizio ai loro utenti.
rete su cui operano;

• riduzione dei costi di gestione: questo mo- 4 La licenza GNU Affero GPL
dello di sviluppo software consente un rispar-
mio complessivo nei costi di gestione del pro- Per risolvere la questione è stata creata la licenza
dotto, grazie all’utilizzo efficace di ogni parte Affero GPL (AGPL) che corregge questo “buco”
coinvolta in tale processo. normativo introducendo una nuova clausola alla li-
cenza GNU GPL. Con la AGPL, se un ASP usa soft-
Il problema di fondo sta nel fatto che, al mo- ware libero per fornire servizi o altro, deve rendere
mento in cui sono nate le più famose licenze open pubblicamente disponibile il codice sorgente trami-
source (si pensi per esempio alla GNU GPL), non si te rete (generalmente HTTP) a chiunque. In questo
è tenuto conto, proprio perché tale questione ancora modo il principio della redistribuzione delle modifi-
non era venuta alla luce, della diffusione via web che alla base delle licenze open source rimane vali-
di un software. Se uno sviluppatore modifica del do, in quanto il codice rimane aperto, sia se usato in
codice licenziato sotto GPL, conformemente alle locale, sia se usato all’interno di una rete.
regole sancite dalla licenza dovrà poi distribuire i
sorgenti modificati quando distribuirà il software;
4.1 La nascita della licenza AGPL
ma – e qui sta il problema dell’ASP loophole – se
lo sviluppatore è un Application Service Provider, La licenza Affero GPL è presente in tre diverse
cioè un ente che fornisce un servizio via web, che versioni:
usa software libero (per esempio licenziato sotto
GNU GPL), in tal caso non sta distribuendo il 1. AGPLv1 [15], pubblicata da Affero S.P.A. nel
software e quindi non è tenuto a distribuire anche marzo 2002 e basata sulla licenza GNU GPLv2
le modifiche apportate al codice sorgente. Questa
2. AGPLv2 [16], pubblicata da Affero S.P.A. nel
possibilità deriva da quella che Tim O’Reilly,
novembre 2007
esponente di spicco della comunità open source,
definı̀ già alcuni anni fa come l’obsolescenza delle 3. AGPLv3 [9], pubblicata dalla Free Software
licenze open source nei confronti del Web 2.0. [12] Foundation [8] nel novembre 2007 e succes-
Il nocciolo della questione è quindi nel termine sivamente approvata dalla Open Source Initia-
“distribuire” che non comprende la diffusione di un tive [11] nel 2008, basata sulla licenza GNU
servizio tramite web. GPLv3

Questo comportamento, che viola in pratica i L’origine di tale licenza ha inizio da un incontro
principi su cui si basa il software open source, ha tra Henry Poole e Richard Stallman, entrambi no-
provocato forti reazioni all’interno del movimento ti esponenti del movimento del software libero, nel

2
2000 ad Amsterdam, dove discussero il problema 4.2 AGPL: caratteristiche principali
dell’ASP loophole nella licenza GNU GPLv2. Un
anno dopo, nel 2001, Poole fondò la compagnia Af- In questa sezione è trattata esclusivamente la
fero S.P.A., una compagnia che realizzava servizi licenza AGPLv3 [9], la più recente e più usata delle
web, ed ebbe la necessità di creare una licenza che tre licenze descritte precedentemente.
imponesse la ridistribuzione delle modifiche al codi-
ce sorgente a chi avesse utilizzato il codice prodotto La licenza GNU Affero General Public Licen-
da Affero S.P.A. per creare opere derivate. se v3 (AGPLv3) [9] è una licenza open source e
Dopo altri dibattiti con alcuni membri della Free copyleft. Essa deriva dalla licenza GNU GPLv3
Software Foundation venne deciso, a fine febbraio a cui è stato aggiunto un ulteriore paragrafo alla
2002, di aggiungere alla licenza GNU GPLv2 una sezione 13 in modo da risolvere il già citato ASP
nuova sezione, la 2(d), che obbligasse gli svilup- loophole e permettere agli utenti che interagiscono
patori di opere derivate a fornire il codice sorgente tramite una rete con il software licenziato sotto
completo. AGPL di ricevere il codice sorgente del programma.
Tale clausola recita:
Finalmente, dopo aver chiesto ed ottenuto il per-
“13. Remote Network Interaction; Use with the
messo dalla Free Software Foundation di pubblica-
GNU General Public License.
re una licenza derivata della GNU GPLv2 per questi
motivi, Poole pubblicò la licenza Affero GPLv1 nel
Notwithstanding any other provision of this
marzo 2002, al fine di poterla usare nell’ambito del-
License, if you modify the Program, your modified
la Affero S.P.A. e renderla chiaramente disponibile
version must prominently offer all users interacting
ad altri sviluppatori di SaaS.
with it remotely through a computer network (if
Nel 2007, al momento della stesura della licenza your version supports such interaction) an oppor-
GNU GPLv3, la Free Software Foundation discusse tunity to receive the Corresponding Source of your
la possibilità di includere la clausola speciale della version by providing access to the Corresponding
licenza Affero GPLv1 nella licenza GNU GPLv3. Source from a network server at no charge, through
Per vari motivi però si decise di pubblicare la licen- some standard or customary means of facilitating
za GNU GPLv3 come una licenza a se stante, sprov- copying of software. This Corresponding Source
vista cioè di tale clausola. Si rese quindi necessaria shall include the Corresponding Source for any
la pubblicazione di un’ulteriore licenza, basata sul- work covered by version 3 of the GNU General
la nuova GNU GPLv3, che contenesse una clauso- Public License that is incorporated pursuant to the
la simile per scopo alla 2(d) della licenza AGPLv1. following paragraph.
Questa nuova licenza venne chiamata GNU Affero
GPLv3: si decise di mantenere il nome “Affero” per Notwithstanding any other provision of this
ricordare la licenza storica AGPLv1 e si introdus- License, you have permission to link or combine
se il numero “3” per indicare la correlazione con la any covered work with a work licensed under
licenza GNU GPLv3. La versione definitiva della version 3 of the GNU General Public License into a
licenza GNU AGPLv3 venne pubblicata dalla Free single combined work, and to convey the resulting
Software Foundation in data 19 novembre 2007 e work. The terms of this License will continue to
pochi mesi più tardi approvata dalla Open Source apply to the part which is the covered work, but
Initiative. the work with which it is combined will remain
Infine, Affero S.P.A. decise di creare la licenza governed by version 3 of the GNU General Public
Affero GPLv2 nel mese di novembre 2007, al fine di License.” [9]
permettere agli sviluppatori di codice licenziato sot-
to AGPLv1 di cambiare licenza e passare alla nuova Come si può notare, questa condizione obbli-
licenza GNU AGPLv3. Questo si rese necessario ga a mostrare su ogni pagina dell’applicazione web
per motivi di incompatibilità tra le varie licenze, in un qualche mezzo, tipicamente un collegamento
particolare tra la GNU AGPLv3 e la GNU GPLv2. ipertestuale, per accedere al codice sorgente e

3
poterlo liberamente scaricare. adozione da parte di aziende di software, è quello
Sempre nella sezione 13, viene sancita la possi- di Google Code [10].
bilità di combinare assieme opere licenziate sotto
GNU GPLv3 e AGPLv3. Tecnicamente quindi la li- Google Code è un sito web, sviluppato e mantenuto
cenza AGPLv3 non è totalmente compatibile con la da Google, che fornisce hosting per progetti open
licenza GNU GPLv3, ovvero non è possibile pren- source. In altre parole Google Code permette,
dere del codice sotto GNU AGPL, modificarlo e di- all’utente che si registra, di caricare il proprio
stribuirlo sotto GNU GPLv3, o viceversa. Tuttavia progetto open source e di utilizzare alcuni strumenti
è compatibile in senso lato con la GPLv3, ovvero che favoriscono lo sviluppo del progetto stesso,
è possibile combinare assieme diverse parti di pro- come ad esempio un sistema di versioning ed un
grammi rilasciati sotto entrambe le licenze in ogget- wiki.
to, riunirli in un unico programma e distribuire que- Su Google Code è possibile però utilizzare sol-
sto ultimo che sarà licenziato in parte sotto AGPLv3 tanto un ristretto numero di licenze per il proprio
ed in parte sotto GPLv3, secondo le regole dettate progetto, vale a dire:
dalle due licenze. E’ importante poi ricordare che la
licenza AGPLv3 non è compatibile in alcun modo 1. Apache License 2.0
con la licenza GNU GPLv2. 2. Artistic License/GPL
La licenza AGPLv3 inoltre è una licenza strong
copyleft, ovvero le clausole relative al copyleft sono 3. Eclipse Public License 1.0
efficacemente imposte su tutti i tipi di opere deriva-
te. Non è quindi possibile che la caratteristica copy- 4. GNU General Public License v2
left vada persa in alcuna opera derivata, al contrario 5. GNU General Public License v3
delle licenze weak copyleft dove il fatto che l’ope-
ra derivata sia soggetta o no alle clausole copyleft 6. GNU Lesser General Public License
dipende dalla maniera in cui è stata derivata.
Per le caratteristiche descritte, la licenza AGPLv3 7. MIT License
è pertanto la scelta adatta per ogni applicazione 8. Mozilla Public License 1.1
open source che offre tipicamente dei servizi tra-
mite una rete, in modo particolare tramite internet. 9. New BSD License
Tale consiglio è ribadito nel preambolo della stessa
licenza: Come si può notare, la licenza AGPL non è con-
“The GNU Affero General Public License is a templata all’interno di tale elenco, ovvero non è
free, copyleft license for software and other kinds of possibile caricare codice licenziato sotto AGPL su
works, specifically designed to ensure cooperation Google Code. Numerosi utenti si sono quindi mossi
with the community in the case of network server per chiedere alla compagnia di introdurre la licen-
software.” [9] za AGPL per vari motivi, principalmente perché la
Bisogna però sottolineare come la AGPLv3 non ritenevano una licenza utile ed erano interessati ad
sia ancora particolarmente diffusa, anche perché la usarla per i progetti da loro sviluppati.
sua introduzione è piuttosto recente, infatti risale E’ nata quindi un’interessante discussione [1],
al 19 novembre 2007. Ciononostante è stata già nella quale Google sostiene di essere fortemente
adottata da alcune grandi aziende, seppur in numero preoccupata riguardo al problema della prolifera-
molto esiguo. zione delle licenze aperte, che viene infatti giudi-
cato dalla stessa comunità open source un problema
piuttosto serio in grado di confondere gli utenti ed
5 Google Code e la licenza AGPL ostacolare la condivisione ed il riutilizzo del codice.
In realtà, la proliferazione delle licenze open sour-
Un caso interessante, esaminato in questa sezione, ce non è un problema di per sè, quanto piuttosto la
per quanto riguarda la licenza AGPL e la relativa complessità che si viene a creare su quali licenze

4
siano compatibili con le altre. Nel caso infatti in cui the license to code.google.com. But that’s an ab-
uno sviluppatore cerchi di mettere insieme diverse surdly high number. Until then, it’s gut feeling
componenti ognuna con licenza differente, diventa about popularity of the license.” [1]
veramente complesso capire ed essere a conoscen- Le risposte di Di Bona però non hanno soddisfat-
za dei diritti legali del prodotto finale e in partico- to alcuni esponenti del movimento open source, i
lar modo se è possibile rilasciare il software e sot- quali pongono l’interrogativo se Google rifiuta la li-
to quale licenza, non essendo tutte le licenze open cenza AGPL perché davvero vuole limitare la proli-
source compatibili fra loro. ferazione delle licenze open source, oppure piutto-
Per questo motivo, cioè per limitare la prolifera- sto perché tale licenza potrebbe risultare molto fa-
zione delle licenze open source, Google Code ha stidiosa e dannosa da un punto di vista economico,
inizialmente permesso soltanto sette licenze per i e non solo, per i servizi che offre via web. Secon-
progetti caricati sul sito, aggiungendo in un succes- do la loro opinione, Google rifiuterebbe la AGPL
sivo momento due ulteriori licenze, ovvero la recen- perché la considera una vera e propria minaccia di-
te GNU GPLv3 e la Eclipse Public License 1.0. La retta al modo dell’azienda di fare business. E’ bene
strategia aziendale è sempre stata quella quindi di li- ricordare che Google utilizza moltissimo software
mitare al massimo il numero di licenze possibili ed open source, cercando di non usare alcun software
introdurne di nuove solamente dopo che si fossero commerciale ove possibile. Quindi se la AGPL do-
verificati due requisiti fondamentali: vesse diventare popolare, Google dovrebbe pubbli-
care sotto AGPL tutte le modifiche fatte al codice
• essere approvate dall’OSI; dei servizi che offre via web, e questo non sarebbe
• essere risultato in modo evidente il loro certamente gradito all’azienda. E’ tuttavia dovero-
utilizzo a livello popolare. so ricordare che Google è anche uno dei maggiori
sostenitori della comunità open source, sebbene in
Tuttavia tali motivazioni, a detta dei sostenitori linea con i propri interessi.
della licenza AGPL, sono soltanto delle scuse per Inoltre, se da un lato è comprensibile e degno di
evitare o quantomeno ritardare l’accettazione della apprezzamento il voler limitare il numero di licen-
licenza. Infatti, nonostante la AGPLv3 sia stata ap- ze disponibili, d’altra parte non si capisce perché
provata nel 2008 dall’OSI, Google non ha ritenuto escludere la AGPL che è molto simile alla GPLv3
di includerla non essendo evidente, a suo avviso, la con l’unica differenza chiave che riguarda la diffu-
diffusa adozione della licenza. Interpellato a ren- sione via rete; inoltre è stata redatta in modo da es-
dere conto del limite secondo il quale la AGPL ver- sere compatibile con le altre licenze, quindi non è
rebbe considerata sufficientemente diffusa, Chris Di proprio una licenza completamente diversa dalle al-
Bona, open source program manager di Google, ha tre. Per questi motivi, dicono alcuni esperti, non si
risposto: capisce perché Google non accetti subito la licenza
“Basically the answer is when I, Fitz, Greg or the AGPL.
team think it is popular enough. I know you guys Interessante a questo proposito è il parere di
think we don’t like it for nefarious reasons, but what Marco Barulli, co-sviluppatore insieme a Giulio
you’re missing is we dislike -all- new licenses that Cesare Solaroli di Clipperz [3], un’applicazione
are unpopular.” [1] web open source che permette di salvare e gestire
In tal modo ha ribadito cioè il fatto che tale limite in modo totalmente anonimo e gratuito le proprie
sia completamente soggettivo ed a discrezione sua e password online. Volendo rilasciare Clipperz in
dei suoi colleghi. AGPL su Google Code, è stato costretto a cambiare
Nuovamente interpellato per fare più chiarezza hosting per poter usufruire di tale licenza.
sul limite a cui Google inizierebbe a pensare alla Marco Barulli afferma:
diffusione della licenza AGPL, Di Bona ha spiega- “Di certo Google ha rilasciato tanto codice e tanti
to: strumenti alla comunità FLOSS. Ma mi pare di
“If you want a firm number, then when AGPL pas- poter dire che ha sempre mantenuto il controllo su
ses BSD + Apache 2.0, I will unconditionally add cosa, come e quando rilasciare. AGPL è una licenza

5
dagli effetti “drastici” e non mi aspetto quindi che wiki Socialtext ed è stata in seguito approvata in da-
venga adottata da Google (o Yahoo, Facebook, ta 25 luglio 2007 dall’Open Source Initiative (OSI).
...). Non credo però che vi sia una vera ostilità Da allora non ha avuto particolare successo, nono-
perché comunque chi sviluppa software per il web stante sia stata adottata da alcune aziende piuttosto
ha sempre la strada del dual licensing, ovvero di importanti. La finalità della licenza CPAL è quel-
avere versioni con licenza commerciale ed altre la di essere una licenza piuttosto generica, indicata
con licenza open. E se a Google interessa poter per software distribuito attraverso una rete (SaaS).
utilizzare codice AGPL senza rilasciare prodotti E’ basata sulla Mozilla Public License (MPL), usa-
derivati con la medesima licenza penso che abbia la ta da Firefox ed altre famose compagnie di software,
possibilità di aprire trattative con qualunque gruppo a cui sono state aggiunte due sostanziali modifiche.
di sviluppatori che abbia scelto AGPL. (Google can In primo luogo la licenza CPAL include un re-
you hear me? :-) ). Nel nostro caso abbiamo dovuto quisito di attribuzione, ovvero il software che viene
spostare il repository di Clipperz da Google Code a licenziato sotto CPAL può mostrare informazioni ri-
SourceForge in quanto AGPL non è tra le licenze guardo allo sviluppatore originale. Questo messag-
contemplate al momento. Google dichiara che sia gio di informazioni specifica che “[...] each time an
una scelta mirata a combattere la proliferazione di Executable and Source Code or a Larger Work is
licenze, ma non credo che Google possa accusare launched or run, a prominent display of the Original
la FSF di aver inquinato l’ambiente pubblicando Developer’s Attribution Notice (as defined below)
molte licenze. Anzi! AGPL sarebbe servita qualche must occur on the graphic user interface (which may
anno fa!” [2] include display on a splash screen) [...]”. [17]
Il requisito di attribuzione non deve comunque
Nel frattempo, per ovviare alla mancanza del- superare le dieci parole e deve essere mostrato
la licenza AGPL su Google Code, vi è stato anche soltanto all’avvio dell’applicazione e non su ogni
chi ha scelto pubblicamente una licenza tra le nove schermata, come richiesto da altre licenze simi-
disponibili, salvo poi inserire nel codice sorgente la li. Nel caso in cui non sia disponibile un’inter-
licenza AGPL: questo comportamento non ha fatto faccia grafica, il vincolo di mostrare il requisito di
altro che aumentare la confusione sui diritti legali attribuzione viene a cadere.
in possesso dell’utente ed è stato quindi sanzionato Nel caso specifico di Facebook, la licenza CPAL
dall’azienda con l’allontanamento dal servizio, la obbliga ad esporre il seguente messaggio:
quale ha invitato gli utenti in questione a caricare
i loro progetti, licenziati sotto AGPL, su altri siti Attribution Copyright Notice: Copyright c
quali SourceForge.net [14] e Savannah [13]. 2006-2008 Facebook, Inc.
Attribution Phrase (not exceeding 10 words): Based
on Facebook Open Platform
6 Facebook e la licenza CPAL Attribution URL:
http://developers.facebook.com/fbopen
Facebook ha rilasciato recentemente una parte del Graphic Image as provided in the Covered Code:
suo codice sotto licenza open source. Tale piatta- http://developers.facebook.com/fbopen/image/logo.png
forma è denominata Facebook Open Platform ed è
“un’istantanea dell’infrastruttura che gira sulla piat- Nonostante questo possa sembrare ragionevole
taforma Facebook. Include l’infrastruttura API, il per riconoscere il lavoro svolto dagli sviluppatori di
parser FBML, il parser FQL e FBJS cosı̀ come l’im- Facebook, non si può fare a meno di notare che è
plementazione di molti metodi comuni ed etichette.” anche una clausola molto forte che serve a prevenire
[18] altri dal clonare semplicemente Facebook sui loro
La licenza scelta da questa azienda è stata la siti, o quantomeno coloro che non hanno alcuna
Common Public Attribution License (CPAL) [17]: intenzione di fare pubblicità gratuita a Facebook,
questa è una licenza free software che è stata inizial- magari proprio perché loro rivali.
mente sviluppata dall’azienda di social enterprise In secondo luogo, l’ulteriore differenza tra la li-

6
cenza MPL e la licenza CPAL è nella sezione “15. to” si intende che, poiché alcune licenze badgeware
ADDITIONAL TERM: NETWORK USE.” [17], (ma non la CPAL) impongono che in ogni pagina
che serve a tutelarsi dal famoso ASP loophole. Tale dell’applicazione sia mostrato il logo e le clausole
clausola recita: dello sviluppatore originale, lo spazio che rimane a
“The term “External Deployment” means the use, disposizione è molto esiguo. Per quanto riguarda la
distribution, or communication of the Original Co- licenza CPAL, il logo dello sviluppatore non può es-
de or Modifications in any way such that the Origi- sere rimosso, pena violazione della licenza, né rim-
nal Code or Modifications may be used by anyone picciolito od oscurato in alcun modo. Al contrario
other than You, whether those works are distributed di altre licenze badgeware simili però, la CPAL im-
or communicated to those persons or made available pone soltanto che il logo sia visibile all’avvio del-
as an application intended for use over a network. l’applicazione e non su ogni pagina dell’applicazio-
[...]” [17] ne stessa. In quest’ultimo caso però – secondo co-
In altre parole, se qualcuno costruisce un sito web loro schierati contro le licenze badgeware – appare
basato sul codice di Facebook, questi deve rende- evidente che aggiungendo un proprio logo non ri-
re disponibile il codice sorgente assieme alle modi- marrebbe più spazio per l’applicazione. Il rischio
fiche effettuate non appena permette agli utenti di è quindi che si vengano a creare delle pagine pie-
entrare nel sito ed usare quindi l’applicazione, indi- ne di loghi ed immagini, a discapito di nuove web
pendentemente dal fatto che lo sviluppatore invii il application. A questo proposito Mayfield ha com-
proprio codice come un prodotto separato. mentato:
Un’altra considerazione importante a proposito “Ora abbiamo un’opportunità per scoprire se questi
della licenza CPAL è il fatto che, essendo basata incubi nel mercato sono realmente veri.” [19]
sulla licenza MPL, non è compatibile con la licenza Naturalmente poi, un utente che volesse prendere
GNU GPL. Inoltre Facebook non si è avvalsa delle un’applicazione sotto licenza CPAL ed installarla
clausole della licenza CPAL relative alla possibilità all’interno della propria azienda si troverebbe ne-
di doppia licenza, il cosiddetto dual licensing mo- gato il diritto di sostituire il logo con quello della
del, utilizzato per esempio dalla compagnia ExtJS propria compagnia, anche se il software è usato so-
come vedremo in seguito, implicando in tal modo lamente all’interno dell’azienda, e questo non è ben
che ogni pezzo di codice di Facebook licenziato sot- visto da molti sviluppatori. Il problema quindi non
to CPAL non può essere legalmente usato insieme è discutere se e quanto la licenza CPAL sia open
a codice sotto GNU GPL. Infine chiunque volesse source, e di fatto lo è in quanto è stata approvata
usare il codice di Facebook come parte di un’appli- dalla OSI, ma è relativo alla possibilità di adozio-
cazione web preesistente, dovrebbe rilasciare anche ne che viene fortemente scoraggiata dalla clauso-
il codice sorgente di tale programma. la badgeware. Infatti i rivali di Facebook, si pen-
si per esempio a MySpace, non implementeranno
mai un’applicazione che obblighi loro a mostrare
6.1 Critiche alla licenza CPAL
un logo di Facebook al caricamento del sito web.
La licenza CPAL è stata fortemente criticata da mol- Tutto questo quindi appare controproduttivo se gli
ti sviluppatori e marcata addirittura come “falsa li- intenti sono in linea con i principi alla base dell’o-
cenza open source”. Questo perché da certi pun- pen source, poiché di fatto scoraggia altri network
ti di vista assomiglia molto alle licenze badgeware dall’adottare e diffondere questa piattaforma.
che impongono tra l’altro una sorta di attribuzio- Dall’altra parte i sostenitori della licenza CPAL
ne da mostrare in ogni copia sull’autore del codice dicono che non è “né buona né cattiva, ma è [cosı̀]
sorgente. come è” [4], ovvero un accordo per onorare certi
Questa clausola, cioè il criterio di attribuzione, è termini d’uso. Se non piace a qualcuno – dicono –
fortemente correlata alla possibilità, di fatto proibi- basta che questo non la usi.
ta, di fare fork di applicazioni licenziate in questo Inoltre pongono l’accento sul fatto che è molto
modo, nonostante questo sia un diritto fondamenta- positivo che Facebook abbia rilasciato gran parte
le del software open source. Con “proibire di fat- del proprio codice con una licenza open source che

7
chiunque può prendere ed usare liberamente, e que- re in cambio del prodotto sotto licenza proprietaria
sto è proprio uno dei principi dell’open source. La un certo corrispettivo di denaro. Si vengono cosı̀ a
licenza CPAL potrebbe essere un brutto colpo per creare due diversi gruppi interessati al prodotto: da
i service provider nel caso guadagnasse una larga una parte gli utenti comuni, che beneficiano del pro-
adozione. A questo proposito è interessante riporta- dotto offerto gratuitamente sotto licenza open sour-
re qui il parere di Chris Di Bona, program manager ce, dall’altra parte le aziende commerciali che com-
dell’open source presso Google: prano la licenza proprietaria al fine di modificare il
“Abbiamo abbastanza risorse ingegneristiche tali software secondo i propri scopi, per esempio incor-
che, se la licenza impone obblighi a cui non voglia- porandolo con gli strumenti già esistenti all’inter-
mo sottostare, semplicemente non la useremo.” [19] no della propria azienda, e senza dover rilasciare il
Questo per dire che nel caso di un’ampia diffu- codice sorgente modificato o sottostare a clausole
sione di codice protetto da licenza CPAL, Google non gradite. Queste aziende non intendono rilascia-
lo svilupperà da sé, invece di usare del codice già re il codice sorgente principalmente per ragioni di
esistente, per non incorrere in clausole non gradite. competizione con altre aziende rivali, mantenendolo
quindi segreto. Tra le modifiche infatti che vengo-
no spesso effettuate si contano cambiamenti all’in-
7 Il modello dual licensing terfaccia grafica, per esempio per utilizzare i pro-
pri trademarks; cambiamenti volti ad implementare
Le licenze fin qui trattate, vale a dire la licenza AG- protocolli di sicurezza segreti o di crittazione dei da-
PL e la licenza CPAL, potrebbero dissuadere alcune ti; cambiamenti volti all’integrazione di servizi uti-
compagnie dall’adottare software rilasciato secon- lizzati e strumenti esistenti all’interno dell’azienda
do queste regole in quanto sarebbero costrette, per stessa, sui quali vi sono tra le altre cose proble-
esempio, a rilasciare i sorgenti modificati. Inoltre, mi di compatibilità con altre licenze qualora siano
le aziende che rilasciano un prodotto come software sviluppati, come spesso avviene, da altre aziende.
libero, spesso trovano difficile realizzare un profit- Il modello dual licensing è particolarmente inte-
to, se non attraverso consulenze o soluzioni ad hoc ressante perché permette di aiutare sia la comunità
realizzate per utenti con particolari esigenze. del software libero sia le compagnie commerciali.
Per questi motivi e non solo, da alcuni anni si sta La caratteristica infatti di rilasciare il codice sotto
diffondendo un nuovo modello di business all’inter- licenza open source permette di godere delle mo-
no delle compagnie che producono software: il co- difiche effettuate dalla comunità; il ricavato della
siddetto modello dual licensing. Con dual licensing vendita delle licenze proprietarie aiuta a finanzia-
si intende la consuetudine secondo la quale il pro- re il progetto stesso. Vi sono tuttavia altri metodi
dotto software è licenziato in due modi differenti. utilizzati dalle aziende produttrici di software open
Questo significa, come avviene nella maggior parte source per effettuare guadagni. Questi includono
dei casi, due diverse licenze. L’utente può quindi la fornitura di servizi quali l’installazione, la perso-
scegliere quale delle due licenze adottare, a seconda nalizzazione, il supporto e l’assistenza del prodotto
delle proprie esigenze di uso e di distribuzione del open source.
software.
Generalmente, le due licenze adottate sono di due
tipi diversi: la prima è una licenza proprietaria, che 7.1 Un esempio di dual licensing: ExtJS
permette quindi di creare opere derivate con codice
a sorgente chiuso, mentre la seconda è una licenza Vi sono numerose compagnie che hanno adottato
open source, tipicamente strong copyleft, che ob- il modello dual licensing, le più famose delle quali
bliga quindi a rilasciare l’opera derivata alle stesse sono MySQL e Mozilla Firefox. In questa sezione
condizioni alle quali è soggetta. L’azienda che svi- è analizzato il caso di ExtJS [7], una libreria
luppa il prodotto software, ovvero la detentrice del JavaScript cross-browser che permette di realizzare
copyright, è solita fornire il prodotto sotto licenza pagine web dinamiche.
open source gratuitamente, mentre è solita chiede-

8
ExtJS offre due licenze diverse per scopi differenti: for those sections on the same medium and un-
sviluppo commerciale oppure open source. der the same FLOSS license as the correspon-
La licenza commerciale è indicata per l’uten- ding object code or executable forms of those
te che ha intenzione di sviluppare un’applicazione sections, and
proprietaria e non vuole distribuire e condividere il
3. any works which are aggregated with the Li-
codice sotto licenza GPL. Per fare questo, lo svilup-
brary or with a Derivative Work on a volume of
patore deve comprare un adeguato numero di licen-
a storage or distribution medium in accordan-
ze commerciali da Ext: ogni licenza è infatti vali-
ce with the GPL, can reasonably be considered
da per un solo sviluppatore. Inoltre la licenza in-
independent and separate works in themselves
clude tutti gli aggiornamenti delle revisioni minori
which are not derivatives of either the Library,
(per esempio, acquistando una licenza 2.0 si ha di-
a Derivative Work or a FLOSS Work.
ritto a tutti gli aggiornamenti inclusi 2.0, 2.1, e cosı̀
via), è royalty-free e non sancisce alcun obbligo di 4. the Derivative Work can reasonably be consi-
rilasciare il codice sorgente sotto licenza GPL. dered independent and separate work that is in-
La licenza open source utilizzata da ExtJS è la no- tended for use by end-users and not as a library
ta GNU General Public License v3. Pertanto chiun- for software development purposes.” [5]
que volesse creare un’applicazione open source e ri-
lasciarla con una licenza compatibile con la GPLv3, E’ quindi possibile combinare assieme prodotti
può utilizzare tale licenza open source per la libreria software rilasciati sotto diverse licenze open sour-
ExtJS. ce (purché nella lista specificata [5]) con la libreria
Infine ExtJS ha previsto anche la possibilità di Ext, purché l’opera derivata sia rilasciata sotto GNU
utilizzare la propria libreria in progetti open source GPLv3.
che sottostanno a una licenza diversa dalla GPLv3. Similmente sono presenti altre eccezioni [6] per
Per fare ciò, sono state create delle eccezioni ad hoc fare in modo che uno sviluppatore possa realizza-
per lo sviluppo di applicazioni e di estensioni. Nel re estensioni, toolkits, framework, traduzioni e temi
caso delle applicazioni, tali eccezioni [5] sono sta- grafici per la libreria Ext e distribuirli sotto una li-
te concepite per permettere di sviluppare software cenza meno restrittiva della GPLv3 tra quelle spe-
open source che utilizza la libreria Ext nel caso in cificate [6], nonostante la licenza GPLv3 obblighi
cui si utilizzi una licenza non compatibile con la appunto a distribuire l’opera derivata sotto la stessa
GPLv3. Tali condizioni impongono che: licenza.

1. “You obey the GPL in all respects for the Li- Riferimenti bibliografici
brary and the Derivative Work, except for iden-
tifiable sections of the Derivative Work which [1] Agpl license - hosting at google co-
are not derived from the Library, and which de. http://groups.google.com/
can reasonably be considered independent and group/google-code-hosting/browse_
separate works in themselves thread/thread/1714c5c0ef5d9f9f/
7d59a938d295bb8f.
2. all identifiable sections of the Derivative
Work which are not derived from the Libra- [2] Agpl: quando l’open source si fa 2.0. http:
ry, and which can reasonably be considered //www.webnews.it/news/leggi/8829/
independent and separate works in themselves, agpl-quando-lopen-source-si-fa-20/
3.
are distributed subject to one of the
FLOSS licenses listed below, and [3] Clipperz online password manager. http://
www.clipperz.com/.
the object code or executable form of tho-
se sections are accompanied by the complete [4] Cpal? what’s that? http://ostatic.com/
corresponding machine-readable source code blog/cpal-whats-that.

9
[5] Ext - open source license exception for appli-
cations. http://extjs.com/products/
floss-exception.php.

[6] Ext - open source license exception for deve-


lopment. http://extjs.com/products/
ux-exception.php.

[7] Extjs. http://extjs.com.

[8] Free software foundation. http://www.


fsf.org/.

[9] Gnu affero general public license, free


software foundation.

[10] Google code. http://code.google.com/.

[11] Open source initiative. http://www.


opensource.org/.

[12] Open source licenses are obsolete


- o’really radar. http://radar.
oreilly.com/archives/2006/08/
open-source-licenses-are-obsol.
html.

[13] Savannah. http://savannah.gnu.org/.

[14] Sourceforge.net: Find and build open source


software. http://sourceforge.net/.

[15] Affero general public license v1, affero inc.,


marzo 2002. http://www.affero.org/
oagpl.html.

[16] Affero general public license v2, affero inc.,


novembre 2007. http://www.affero.
org/agpl2.html.

[17] Common public attribution license version


1.0 (cpal), open source initiative, mar-
zo 2009. http://opensource.org/
licenses/cpal_1.0.

[18] Facebook developers, facebook open plat-


form, 3 marzo 2009. http://developers.
facebook.com/fbopen/.

[19] Osi approves badgeware license, the register,


marzo 2009. http://www.theregister.
co.uk/2007/07/25/osi_socialtext_
cpla.

10

Potrebbero piacerti anche