Gabriele Bartolini

Doveri degli sviluppatori di applicazioni per MySQL: li conosciamo veramente?

Finora ho sempre utilizzato MySQL per applicazioni open-source (vedi ht://Check) o all'interno di applicazioni da me sviluppate presso il Comune di Prato (quindi un ente governativo che non rivende il codice). MySQL è un RDBMS che a me piace molto, lo stimo e lo uso continuamente (anche se ovviamente sapete bene quanto preferisca PostgreSQL - ma non vorrei entrare in questa diatriba in questa sede!).

Tuttavia, ultimamente, visto il mio impegno imprenditoriale ho dovuto per la prima volta chiedermi se l'utilizzo di MySQL nelle mie applicazioni ricadesse o meno nel lato commerciale. Pertanto, ho dato una occhiata alla licenza con cui MySQL, il più diffuso sistema di gestione open-source al mondo, è distribuito.

L'obiettivo di questo articolo è quello di invitare persone esperte e sensibili al software libero a leggere la licenza e a aiutarmi a capire meglio i doveri degli sviluppatori nei confronti di Sun, proprietaria di MySQL. In particolare, mi piacerebbe che qualcuno degli assidui lettori di "Finalmente Libero" con esperienza e conoscenze legali, possa intervenire.

Per iniziare, vorrei ricordare che Sun fornisce sia il server che le librerie client sotto un modello di doppia licenza (dual licensing) progettato in modo da "venire incontro alle esigenze di sviluppo e di distribuzione sia di distributori commerciali che di progetti open source".

Vorrei pertanto semplificare l'argomento, proponendo alcune situazioni e/o casi d'uso comuni riguardanti gli sviluppatori di applicazioni per MySQL ed elencando i doveri degli stessi. In particolare, intendo riferirmi agli sviluppatori di applicazioni che si interfacciano ad un database MySQL e che, pertanto, utilizzano nelle loro applicazioni le librerie client di MySQL. In questa situazione, distinguo due categorie:

  1. sviluppatori di applicazioni distribuite commercialmente;
  2. sviluppatori di applicazioni non distribuite (ambito GNU GPL) oppure distribuite secondo una delle licenze definite nella FOSS exception di MySQL (per citarne solo alcune: GPL, BSD, Apache, ecc.).

Tralasciando il caso delle applicazioni che non vengono distribuite (e quindi ricadono nella licenza GNU GPL), rimangono da analizzare i doveri degli sviluppatori di applicazioni commerciali e degli sviluppatori di applicazioni FOSS. Per questi ultimi, il dovere è rappresentato esclusivamente dal mettere a disposizione i sorgenti dell'applicazione sviluppata secondo una delle licenze descritte nel documento FOSS exception.

A mio avviso invece, la cosa interessante riguarda gli sviluppatori di applicazioni commerciali che si interfacciano con MySQL e che in ogni caso utilizzano le librerie client per connettersi al database (connettori compresi - ODBC, Java, C++, ecc.). Mi sembra di capire che in questi casi sia necessario acquistare la licenza di MySQL (OEM) da Sun e distribuirla insieme alla applicazione venduta. Mi vengono spontanee un paio di domande: "Quanti effettivamente sono a conoscenza di questo?" e "Quanti effettivamente si mettono in contatto con Sun per acquistare le licenze?".

A "campione", ho fatto queste domande a alcuni sviluppatori di applicazioni commerciali che si interfacciano con MySQL e la cosa che mi ha stupito di più sapete qual è? Che non si pongono nemmeno il problema. L'ignoranza pervade. Non viene neanche presa visione della licenza (cosa ancora più grave).

Sempre che la mia interpretazione sia corretta, credo che questo rappresenti un problema (ed un danno) sia per Sun che per coloro che credono nel software libero e open-source.

Per concludere, le mie considerazioni sono sicuramente molto semplificate e generalizzate. Le combinazioni possibili sono infinite e credo sia opportuno che, nel dubbio, ogni sviluppatore contatti Sun, portando a conoscenza il proprio caso specifico. Rinnovo comunque l'invito a tutti voi a commentare e a portare la vostra esperienza e le vostre idee a riguardo.

Per quanto mi riguarda, ho la fortuna di conoscere bene PostgreSQL. Ha una licenza molto più permissiva (BSD), ma soprattutto molto molto più semplice e meno propensa a problemi di interpretazione. Per cui, credo proprio che - a meno di non essere smentito - questo della licenza sarà un motivo in più per scegliere PostgreSQL come soluzione RDBMS aziendale.

Share  Twitter

Comment

You need to be a member of Finalmente libero! to add comments!

Join this Ning Network

Roberto Galoppini Comment by Roberto Galoppini on March 25, 2009 at 6:20pm
Assolutamente si, e questo è stato il modo in cui per anni si è sostenuta MySQL, e con essa lo sviluppo dell'omonimo database. Ancora oggi una parte rilevante delle entrate di MySQL proviene dalla vendita della versione "commerciale", anche se il peso delle subscription sta crescendo, ma volendo muovere una critica costruttiva credo che quello che dovremmo auspicare è un approccio alla produzione con un minor controllo che favorisca una maggiore partecipazione.
Gabriele Bartolini Comment by Gabriele Bartolini on March 25, 2009 at 4:30pm
Sì sì Roberto, molto chiaro. Tuttavia rimane il fatto che ci siano costi di licenza da pagare per commercializzare un prodotto che usi MySQL e che non sia distribuito con licenza FOSS. Per ogni copia venduta del prodotto.
Roberto Galoppini Comment by Roberto Galoppini on March 25, 2009 at 4:20pm
Gabriele rimane sempre vero che tu puoi commercializzare soluzioni basate su MySQL, solo che devi liberalizzare l'aggregato, ma questo non ti impedisce di venderlo. E a seconda del tipo di applicazione è possibile che tu possa comunque proprietarizzare alcuni add-on, sul modello del cosidetto open source core.
Gabriele Bartolini Comment by Gabriele Bartolini on March 25, 2009 at 4:13pm
Innanzitutto grazie per le conferme che mi avete dato. Tuttavia, il discorso di preferire PostgreSQL a MySQL è analizzato dal punto di vista dello sviluppo di una applicazione commerciale (non dell'utilizzo - in quel caso concordo che sia più indicata un'analisi puntuale e specifica, e.g. Wordpress).

Il mio caso di sviluppatore, riguarda la creazione di un software ex-novo da distribuire a livello commerciale che utilizzi un RDBMS open-source. Questo è il dilemma difronte al quale mi sono fermato a pensare se sviluppare una applicazione commerciale indipendente dal database oppure una applicazione vincolata ad una piattaforma fra le due principali in campo open-source (MySQL e Postgres).

Una volta fatte le considerazioni puramente tecniche mi sono messo a ragionare da azienda, analizzando le licenze d'uso. Ebbene, sono sempre più convinto che, a parità di esigenze tecniche, oggigiorno appoggiarsi a PostgreSQL piuttosto che a MySQL sia una scelta di più ampie vedute (in quanto la licenza BSD garantisce maggiore chiarezza, flessibilità e libertà di un dual licensing il cui Copyright è posseduto da una singola compagnia). Sempre secondo me. :)
Roberto Galoppini Comment by Roberto Galoppini on March 25, 2009 at 2:45pm
Circa l'incapsulamento mediante web services o similari, vale che la GPL non copre le modalità SaaS, ma forse in questi ragionamenti si sta perdendo la ratio con la quale l'autore rilascia software con licenza GPL, non credete?

Circa il passare a Postgres, direi che dipende: per chi volesse utilizzare WordPress ad esempio non mi pare la soluzione più indicata. Al solito è difficile dare risposte definitive, ed è opportuno fare valutazioni caso per caso.
Michele Marchesi Comment by Michele Marchesi on March 25, 2009 at 1:03pm
Premetto che non mi intendo molto di DB. Mi sembra però che i termini siano chiari:
- non posso usare client (e server) MySQL in applicazioni commerciali, a meno di non rilasciare tutto come GPL
- posso usare clienti MySQL mantenendo per la mia applicazione la licenza FLOSS se tra quelle previste

Forse posso usare il server MySQL FLOSS, accedendovi però tramite un client non fornito da MySQL ma scritto da me o comunque non con licenza GPL. Non so quanto standard siano le comunicazioni con DB, e quindi quanto facile sia scrivere un modulo simile.

Si potrebbe anche scrivere un modulo (con licenza GPL) sul server che esponga Web Services, e usare quelli per scambiare i dati col server da parte di applicazioni commerciali (quindi senza client MySQL).

In conclusione: meglio passare a Postgres.
Roberto Galoppini Comment by Roberto Galoppini on March 25, 2009 at 12:40pm
Ciao Gabriele, la tua lettura sugli obblighi della GPL è corretta, ed è vero che molti ignorano quanto prescritto dalle licenze libere, e non solo nel caso di MySQL (non di rado mi capita di parlare con aziende che compongono le loro soluzioni usando diversi componenti open source senza preoccuparsi della compatibilità).

MySQL, che originariamente distribuiva le librerie con licenza LGPL passò alla GPL proprio per evitare che accadesse quanto descrivi al punto 1. Nel contempo fecero chiarezza sugli aspetti relativi all'uso di MySQL in combinazione con altri programmi open source licenziati con altre licenze (ciò che va appunto sotto il nome di FOSS exception).

Frasi famose e non

1. Prima ti ignorano
2. Poi ridono di te
3. Poi ti combattono
4. Poi tu vinci

Gandhi

C'è un solo bene: il sapere.
E un solo male: l'ignoranza.

Socrate

Se mi fosse possibile fare un regalo alla prossima generazione, darei ad ogni individuo la capacità di ridere di se stesso.
Charles Schulz

In your thirst for knowledge, be sure not to drown in all the information.
Anthony J. D'Angelo, The College Blue Book

Se si trattasse ognuno a seconda del suo merito, chi potrebbe evitare la frusta?
William Shakespeare

La vera grandezza non è nell'aspettare grandi cause per muoversi, ma nel trovare degno motivo di contesa in un fuscello quando è in gioco l´onore.
William Shakespeare

Con chi sta fermo il tempo? Con gli uomini di legge quando sono in ferie, perché essi dormono fra una sessione e l'altra, e non s'accorgono che il tempo si muove.
William Shakespeare

Di rado un'importante innovazione scientifica si fa strada convincendo e convertendo gradualmente i suoi oppositori [...]. Quel che accade, è che gradualmente gli oppositori scompaiono e la nuova generazione si familiarizza con l'idea sin dalla nascita.
Max Planck, La filosofia della fisica.

Did Columbus have a business plan to reach the New World?
Andy Grove, co-founder of Intel, when asked about legendary one-page Intel's business plan

Do not go where the path may lead, go instead where there is no path and leave a trail.
Ralph Waldo Emerson

Il più grande rischio per la maggior parte di noi non sta nel fissare un obiettivo troppo alto e non riuscire a raggiungerlo, ma nello stabilirne uno troppo basso e ottenerlo.
Michelangelo

Se i giovani si organizzano, si impadroniscono di ogni ramo del sapere e lottano con i lavoratori e gli oppressi, non c'è scampo per un vecchio ordine fondato sul privilegio e sull'ingiustizia.
Enrico Berlinguer

Presta a tutti il tuo orecchio, a pochi la tua voce.
William Shakespeare

Puoi arrivare da qualsiasi parte, nello spazio e nel tempo, dovunque tu desideri.
Richard Bach

La pazienza è amara, ma il suo frutto è dolce.
Jean Jacques Rousseau

Non camminare davanti a me, potrei non seguirti; non camminare dietro di me, non saprei dove condurti; cammina al mio fianco e saremo sempre amici.
Anonimo cinese

Disperare è il più grande dei nostri errori.
Marcel Proust

Non sono più giovane abbastanza per sapere tutto.
Oscar Wilde

E' vero che non sei responsabile di quello che sei, ma sei responsabile di quello che fai di ciò che sei.
Jean Paul Sartre

Chiunque si pone come arbitro in materia di conoscenza, è destinato a naufragare nella risata degli dei.
Albert Einstein

Nuove dal mondo FLOSS

Barcamp 10 incontri per il popolo della rete
BARCAMP, 10 INCONTRI PER IL POPOLO DELLA RETE
TRIESTE - Sono già dieci, ma porrebbero aggiungersene velocemente molti altri, i "Barcamp" programmati in Italia per radunare il "popolo della rete" nel corso del 2008. Nata negli Stati Uniti come campeggio informale di aggiornamento e incontro per programmatori, blogger e appassionati di tecnologia, la formula del Barcamp si è velocemente diffusa in tutto il mondo. Nel nostro Paese è stata una formula alternativa ale "solite" conferenze e ha radunato centinaia di blogger, esperti e giornalisti su diversi argomenti legati a internet ma anche alla politica e alla cittadinanza nell'era digitale.
Il resto qui

© 2010   Created by Pietro Zanarini on Ning.   Create a Ning Network!

Badges  |  Report an Issue  |  Privacy  |  Terms of Service

Sign in to chat!