continua (next page) Frasi Famose index main index Quick note: this is actually a humour page which started from some considerations about GNU GPL license. Maybe you don't know that here in Italy "English humour" is a synonym for something like "harsh and annoying things without any sense of humour"... :-)


The reasons why I am not anymore a fan of the GNU General Public License (GPL)

NOTA: la traduzione in italiano è in fondo a questa pagina!

First of all, let me say that I have been a "GPL-license fan" since ages. I did actually release only a few software under GPL license terms, and quite a lot in generic (and less strict) "freeware" or "public domain" terms.

During the beginning of 2004, I began writing a software (the Zx Spectrum emulator for Sony Ericsson P900) to release with source. I eventually talked about it with a serious Symbian programmer, telling him: "I just want to show that it's possible also on this machine; I will release it for free" (meaning: I will find a licensing solution later).

He told me: "don't (I say: DON'T) release it under the GPL, because I had problems with it".

GPL squad #5! Spend some time tapping enemy communications: the enemy could show readiness for armed resistance! Carry on your search! Roger! -

Problems? Problems with the GPL? I just can't believe. I'm a GPL fan, so I can't believe it. I do not want to sell the software, sure, the GPL will be the most probable solution... No, he didn't want to tell me anything.

I continued developing. Some of my work was written from scratch, but some code was appended from other sources. First, I had to place in a Z80 emulator library ("Z80 emulation library"). Then I had to add in some code from an existing Sinclair Spectrum emulator (FBZX, which also was released under GPL). Later, after verifying that some of its routines were buggy, I changed them with a few pieces of a Spectrum snap-loading library (LibSpectrum).

I eventually placed on-line on my site a page describing my work, crediting the authors of those software. I wrote on the download page the term "freeware; sources not yet available", maybe inconsciously reminding the advice described above.

GPL squad #2! Consider the possibility of a fake first beta release as disguise and continue deploying! Aye-Aye, sir! -
That page was on-line for at least two months and, luckily, soon found in Google and other search-engines. I got some e-mails from people asking me how to get even a pre-alpha release to test on their P900 cell phones. I always replied "please wait a few weeks; I will release it, also with source".

Finally, I solved a couple of major bugs and decided to release my software. I found that the same days I was releasing the first compiled package, a commercial emulator for the same platform was released. Man, I found myself in a hurry, and quickly placed on-line my work, writing soon a message to a pair of "famous" Spectrum sites to announce the news.

But here begins the weird case ("English humour").

After a few minutes I wrote those messages, I got this reply from one of the authors of those GPL code mentioned above: Your web page implies you're using XYZ code; if so, you need to release your emulator under the GPL (and hence make the source available).

When I read it, I just considered that I have no problems in releasing the emulator under the GPL. But I had also a number of reasons to not to release immediately the source code.

First, and told a hundred times on my site page, I don't want to release a bunch of unbelievably chaotic sources (which were still sparse on my hard disk directories): I need some time to clean out useless stuff.

GPL squad #4! The enemy is expert in information warfare: our only advantage is brute force! Go infiltrate the site and charge! Yes-sir! -

Second, while the above reply pointed out a true licensing issue, its "real-time" effect made me feel a sort of "GPL snipers ready to strike!" flavor. Duh, I replied them, "I will release full source in a few weeks. Current version uses a few things of XYZ because XYZXYZ are still unreliable and I did not want to release a buggy version of the emulator". Well, at least they will understand that I have no evil intentions - do you feel the same? These words got quickly their place on a mailing-list: at least my honest intentions were clear, no?

No, they weren't. After a few hours I got an unsolicited reply from an unknown user of the mailing-list, quoting my words and stating: ...The point of the GPL is that we are happy for you to use our code as long as you immediately share your own code in return, tidy or not.

Oops. This sounded like "GPL defenders, chase the culprit!"

GPL squad #1! A coded communication from the chief! Your unit will take down the enemy! Squad #5! Give us cover! Squad #6! Confirm at once!

I repeat: the argument is correct. A GPL-derivate has to be released as GPL. And yes, I know it. And yes, I agree with it. And yes, I didn't yet release the code (at least in the first three days), I did only release in a hurry a compiled package. And yes, yes, yes...

Yes, it's quite annoying, don't you think? My most honorable intentions seem to not to be even remotely supposed: am I wrong? "You Immediately Share, Tidy Or Not". Correct, but a bit annoying, don't you think? No? What if I tell you that I placed on-line the full sources after three days only? What if I tell you that they DID NOT add to their emulators page my work?

Please, beware of the most important thing. We here are not discussing about MPlayer code stolen by greedy hardware vendors or even a half of the Linux kernel source. I just cut out some routines I was too lazy to write by myself (you can verify them in the released source), and credited right people before I released my full source.

GPL squad #3! The enemy leaked information to the media! We are now in great disguise! Buy us as much time as possible and stop deployment! But, Colonel... The on-site situation changes quickly! We don't know enemy's camouflage!
Well, the latter was my "error". I could simply steal their source, without crediting them. I could release my emulator without source, as "freeware", or even with source (just wipe out comments and translate a few names in the code). They wouldn't ever notice, even if they begin to do reverse-engineering on every Spectrum emulator found around the net.

My ingenuous error shows what I think is the greatest weakness of the GPL: the "GPL s.w.a.t. guys" immediately start hassling you without any distinction between huge GPL copyright violations (the MPlayer case) and temporary, non-commercial, honest, shortest-term small incidents (my case, anyways solved).

Yes, I agree - the principle has to be saved, without exceptions.

GPL squad #6! Retract! The enemy has heavy armor, you can't stop him with the weapons you have!
But, as we say here, anyone on a sinking Titanic would be irritated by an immediate direct order like: "keep the curtains clean!!!" And anyone would feel annoyed when his sincerely honest intentions are considered less than that. And anyone would feel irritated when his best efforts to clean out even a vaguely "illegal" (huh?) situation get ignored and maybe even bad-mouth'ed!

Those "GPL snipers" could simply tell me: "yes, it's way too obvious you don't want to make money from our code, so we let you use these little chunks (at least you were honest and credited us! there are lots of people secretly stealing our code for their commercial projects, and we cannot investigate about it everywhere in the world); anyways, we're all Spectrum fans, weren't we? you did release it as GPL as we required, you don't deserve a moralistic preach..."

Bah.

- But, Sir... We confirmed Squad #1 to #6 annihilation! You have to retreat all remaining GPL troops! Full equipment troops weren't enough to beat the enemy! Don't do anything flashy, now!
I now know what did "don't release in GPL" mean.

I'm not a GPL fan anymore. I released this software as GPL, but it surely was the last GPL-licensed software I release because of this "English humor" story.


Breve nota iniziale: questa sarebbe in effetti una pagina di humour inglese (sinonimo di "non fa ridere, è seccante, e non ha alcun senso dello humour") :-)

I motivi per cui io non sono più un fan della GNU General Public License (GPL)

Prima di tutto, permettetemi di dire che io sono stato un fan della licenza GPL da secoli. Ho in effetti rilasciato solo pochi software nei termini della licenza GPL, mentre il grosso lo rilasciavo nei termini più generici (e meno stringenti) di "freeware" o "pubblico dominio".

All'inizio del 2004 ho cominciato a scrivere software (lo Zx Spectrum emulator per il Sony Ericsson P900) che intendevo rilasciare insieme ai sorgenti. Mi ritrovai a parlarne con un serio programmatore Symbian, dicendogli: "voglio solo dimostrare che è possibile anche su questa macchina; ne rilascerò liberamente anche i sorgenti" (intendendo: troverò poi una soluzione decente per la licenza).

Lui mi rispose: "non rilasciarlo (ho detto proprio: NON rilasciarlo) sotto licenza GPL, perché a me è costata parecchi problemi".

Problemi? Problemi con la GPL? Non ci posso credere! Io sono un fan della GPL, e pertanto non ci voglio credere. Certo, io non ho affatto intenzione di vendere il software, per cui per me la GPL sarà la soluzione più probabile... No, lui ha insistito ma senza volermene spiegare i motivi.

Così, ho continuato a sviluppare l'emulatore. Parte del mio lavoro è originale, e parte è stato riciclato da altri software. Prima di tutto, una libreria per l'emulazione dello Z80, che era free. Poi un po' di codice da un emulatore Spectrum già esistente (FBZX, rilasciato sotto GPL), e in sèguito, visto che le parecchie routine di questo erano fatte maluccio, le sostituii con alcuni pezzi della libreria LibSpectrum per caricare gli "snap files".

Alla fine misi on-line su questo sito una pagina che descriveva il mio lavoro, con credits e ringraziamenti agli autori di questi software. La pagina rimase on-line per più di due mesi (senza la possibilità di download del software) con l'indicazione "freeware; sorgenti non ancora disponibili" (forse ancora inconsciamente ricordavo il saggio consiglio sopra descritto).

Quella pagina, indicizzata da Google e dai più famosi motori di ricerca fin da subito (che fortuna!) convinse diverse persone a scrivermi una email chiedendomi disperatamente una pre-alpha-release da provare sui loro P900 prima del rilascio della versione ufficiale. Ho sempre risposto "mi dispiace, per ora non voglio rilasciare nulla; aspetta solo qualche altra settimana, rilascerò anche i sorgenti".

E alla fine, eliminati un paio dei bug più famosi, decisi finalmente di mettere on-line il mio lavoro. Negli stessi giorni scoprii (destino!) che qualcuno aveva appena rilasciato un emulatore (commerciale) per la stessa piattaforma! Così, in fretta e furia, misi on-line tutto da un momento all'altro e scrissi a un paio di "famosi" siti per lo Spectrum per annunciare la novità.

Fin qui tutto normale. Ma da quel momento è cominciato il caso che merita l'etichetta di humour inglese come sopra descritto.

Appena qualche minuto dopo aver scritto quei messaggi, mi arriva una ferrea replica da uno degli autori di quel codice rilasciato in GPL e citato prima: La tua pagina web implica che tu stai usando codice XYZ; se è così, devi rilasciare il tuo emulatore in GPL (e pertanto rendere disponibili i sorgenti).

Quando ho letto questa cosa, ho subito pensato che non ho alcun problema a rilasciare l'emulatore in GPL. Ma al momento io avevo anche diversi motivi per non rilasciare immediatamente il sorgente.

Prima di tutto - e lo avevo detto centinaia di volte nelle mie pagine - non volevo rilasciare sorgenti caotici e malmessi (peraltro sparsi in diverse directory del mio hard disk): avevo bisogno di un po' di tempo per ripulirli dalle cose inutili.

In secondo luogo, anche se l'email che ho ricevuto in quei pochi minuti mi segnalava davvero un problema di licenza, il fatto che sia arrivata praticamente in real-time mi ha dato l'impressione di un esercito di cecchini-GNU pronti a colpire. "Beh", ho risposto loro, "certo, rilascerò i sorgenti entro qualche settimana; e poi la mia versione usa alcune cose di XYZ perché XYZXYZ non era abbastanza affidabile e io non volevo rilasciare una versione bacata dell'emulatore". Certo non è una scusa ragionevole, ma almeno avrebbe loro fatto capire che non avevo cattive intenzioni - non avreste pensato anche voi la stessa cosa? Come si possono avere "cattive intenzioni" quando in questione c'è un software da distribuire gratuitamente?

Quelle mie parole subito sono finite su una mailing-list. E, come temevo, non sono state "chiare". Infatti poche ore dopo mi arriva (del tutto inaspettata) una replica da una persona sconosciuta, da quella mailing-list, che riportava le mie parole commentando: "la questione della GPL è che noi siamo contenti che tu usi il nostro codice ma solo se tu immediatamente condividi il tuo, che sia pulito o no" (testuali parole).

Oops. Questo mi è sembrato un ordine perentorio (che effetto fa a voi quell'immediatamente?). "Difensori della GPL, braccate il colpevole!".

Lo ripeto: l'obiezione è corretta: un software derivato da uno in GPL deve essere a sua volta rilasciato in GPL. E sì, questo lo so. E sì, sono anche d'accordo. E sì, è vero, io non ho ancora rilasciato il mio; ho rilasciato invece, in fretta e furia, solo il package già compilato. E sì, certo, è vero...

Sì, ma scusate, non vi sembra alquanto seccante quel loro modo di fare? Sembra che di me vedano solo intenzioni disoneste. "Immediatamente condividere, pulito o no". È corretto, ma suona seccante, non vi pare? No? E se allora vi dico che dopo tanta segnalazione loro NON si sono degnati di aggiungere il mio lavoro alla pagina degli emulatori?

Per favore, non dimentichiamo l'entità della questione: qui non si sta discutendo sul codice di MPlayer rubato e sfruttato da avidi produttori di hardware o del furto e rivendita di metà del kernel di Linux. Io ho solo riciclato una manciata di routines che ero troppo pigro per riscrivermele (è possibile verificarlo nei sorgenti che ho rilasciato), e ho subito "creditato" le persone che lo meritavano... prima di rilasciare i sorgenti.

Beh, quest'ultimo è stato il mio "errore". Potevo semplicemente rubare il loro codice sorgente e rilasciare il mio programma senza né sorgenti né indicazioni di "credit". Loro non se ne sarebbero mai accorti, neppure se per assurdo avessero cominciato a fare reverse-engineering di ogni emulatore Spectrum che circola in giro.

La descrizione di questo mio errore di ingenuità mostra quella che penso sia la più colossale debolezza della licenza GPL: i sacri paladini della GPL e del moralismo, avuta "notizia di reato", immediatamente vengono a romperti le scatole, senza distinguere se si tratta di una colossale violazione di copyright e furto di lavoro altrui (come nel sopracitato caso di MPlayer) oppure di un temporaneo, onesto, non-commerciale, piccolo "incidente di percorso".

Sì, io son d'accordo che il principio è il principio, sono io il primo a dire che non si deve discutere di eccezioni.

Ma, come si dice dalle nostre parti, qualunque marinaio del Titanic si sarebbe irritato nel ricevere un ordine come "pulisci subito le tendine degli oblò" nel momento in cui il Titanic sta affondando.

Chiunque si sentirà seccato nel momento in cui le sue più oneste intenzioni vengono considerate con tanta sospettosità moralismo, pignoleria degna di miglior causa, o quando i suoi sforzi per rendere "legale" (huh? ce n'era davvero bisogno?) il suo progetto vengono ignorati o addirittura denigrati!

E così ho finalmente capito cosa significava quel caldo consiglio di "non rilasciare in GPL il tuo lavoro".

Questi "agenti segreti GPL" potevano semplicemente dirmi: "beh, sì, è fin troppo ovvio che non vuoi sfruttare commercialmente il nostro lavoro, per cui ti lasceremo usare senza far storie i pezzi di codice che vorrai; almeno sei stato onesto e ci hai indicato come fonte! c'è in giro un sacco di gente che ruba il nostro codice per i suoi progetti commerciali, e noi non possiamo certo fare causa a mezzo mondo e indagare in ogni anfratto della rete; e comunque siamo tutti fan dello Spectrum, no? tu hai rilasciato il tuo lavoro in GPL come ti avevamo chiesto, e dunque c'è ancor meno motivo (semmai ci fosse stato prima) di farti la predica moralistica..."

Bah.
Ora non sono più un fan della GPL. Certo, ho rilasciato questo mio software in GPL. Ma probabilmente questo sarà il mio ultimo software rilasciato in tale licenza, proprio a causa di questo caso da "humour inglese"...!


Cows on the Bernina pass (Switzerland)

send e-mail - continua (next page)