Ho trovato il racconto di un caso singolare capitato a Mika Ariela Epstein (Ipstenu), esperta WordPress, sviluppatrice professionista e volontaria della comunità WordPress.org che si occupa delle revisioni dei Plugin che vengono pubblicati sulla piattaforma. Ed è proprio in quest’ambito che si svolge il racconto. La traduzione del post originale è mia, le immagini invece no. Mi sono concesso qualche libertà in alcuni punti per adattare l’articolo al contesto italiano.
Il sunto di questa storia è: la licenza GPL non significa che WordPress.org sia obbligato a ospitare tutto il codice che ti pare, indipendentemente da come la pensi.
Un momento e ci arriviamo.
Chi mal comincia…
La storia di Donald (nome fittizio) inizia quando ci sottopone un plugin che non aveva nemmeno finito – nell’agosto 2021, ha inviato un plugin con vari difetti di sicurezza – e con una revisione cui non ha mai risposto.
Il plugin è stato rifiutato a febbraio 2022 e ci è stato risottoposto a marzo (un mese dopo).
Come si fa in questi casi, il gruppo Plugin segnala questi problemi e chiede allo sviluppatore “Ehi, rispondi questa volta?”
Questo perché revisionare roba che non usa nessuno è una perdita di tempo per tutti. Donald ha assicurato che avrebbe risposto, quindi ha ricevuto una nuova revisione lunga e dettagliata.
Ammetto che la sua risposta è stata più unica che rara.
Era un lungo sfogo che non posso riportare (privacy) ma i punti principali erano questi:
- È uno sviluppatore da anni.
- Ha copiato un altro plugin per farne uno suo.
- Pensa di aver comprato il codice tramite WordPress.org.
- Non avrebbe fatto le modifiche di sicurezza che avevamo chiesto.
- Il plugin originale aveva gli stessi difetti.
- Anche altri plugin hanno difetti.
- Pensa di aver comprato il “codice sorgente” (oh no…).
- Vuole che lo sistemiamo noi.

Oh no…
Ho messo la faccia nelle mani.
Ogni volta che qualcuno salta fuori con il vecchio cavallo di battaglia “Sono uno sviluppatore da un sacco di anni!“, non finisce mai bene.
Sul serio.
Se sei uno sviluppatore da quando è nato WordPress, dovresti sapere che non devi violare le linee guida.
Ho rifiutato il plugin e chiarito un paio di cose.
- In nessun modo Donald ha comprato un plugin da WordPress.org.
- Non revisioniamo ogni rilascio di ogni plugin, quindi sì, alcuni hanno dei difetti.
- Se è il tuo plugin, devi sistemarlo tu.
- Se non è il tuo plugin, non puoi ospitarlo su .org.
- Rimuovere il copyright senza fare modifiche non è un fork, è un furto.
È stato un po’ come mettere una maglietta del Napoli nella curva dell’Atalanta.
Cosa ha comprato?
Qualcuno pontificherà all’infinito che non è furto se il codice è sotto licenza GPL. La parte che queste persone dimenticano sempre è che se non è il tuo lavoro, è falso dire che lo è (ecco perché esiste il copyright, gente!) e quando si tratta di un plugin PREMIUM, come in questo caso, è furto perché hai violato la loro licenza commerciale. E sì, Donald lo ha fatto.
Ma Donald si era talmente fissato in modo assurdo su questo punto da credere che comprare un plugin significasse possederlo e poterci fare la qualunque.
Ora, se fosse stata GPL, tecnicamente avrebbe potuto farlo, ma ciò non significa che noi dobbiamo obbedire ai suoi ordini. E WordPress.org non ospiterà mai codice che tu non hai scritto, o che non hai almeno ragionevolmente modificato.
“Ho acquistato i diritti sul codice sorgente direttamente dall’autore.”
(Donald via Email)
E ha pure messo in copia l’autore originale, Adam (nome fittizio)!
Ho dato un’occhiata all’account di Adam su .org e ho trovato il suo plugin. Era una versione gratuita di quello in questione, e sì, aveva problemi di sicurezza. Infatti, era stato chiuso circa un anno prima.
Adam ha risposto prima di me e ha detto “bro, no, non l’hai fatto”.
Ho sostenuto Adam, spiegando che ciò che Donald aveva comprato era il codice da usare, e la licenza sul sito di Adam diceva che non poteva essere rivenduto (ricorda che era codice non GPL).
Bene, caso chiuso!
Dramma legale
Donald ha risposto con delle prove. Quali prove? Un sacco di PDF che (dice lui) dimostravano come ne fosse il proprietario.
Non lo facevano. Gli allegati mostravano che aveva acquistato una licenza annuale per vari domini.
Donald e Adam hanno discusso a lungo, uno ripetendo che una licenza non funziona così (Adam) e l’altro insistendo di esserne il proprietario (Donald).
Il secondo PDF mostrava che aveva pagato per una licenza (di nuovo) e un altro ancora indicava un addebito e un importo (anche se non c’era scritto per cosa…): supponendo che fosse per il ‘codice sorgente’, ho fatto questa faccia:

A questo punto, Plugin non era mai stato messo in copia nelle risposte di Adam (ricorda che il plugin di Adam era stato chiuso per motivi di sicurezza), invece Donald continuava imperterrito a farlo.
È mio!
Era un po’ difficile seguire la discussione perché Donald rispondeva a tutti mentre Adam giustamente rispondeva solo a Donald. Però, visto che Donald rispondeva citando i messaggi di Adam, alla fine abbiamo capito quasi tutto.
Donald ha continuato a spiegare che si trattava di un “fork“, un termine che aveva imparato da me, e che poteva provarlo perché usava meno file e aveva una struttura diversa. Il problema era che il codice era lo stesso. Circa l’80% o giù di lì era uguale. Non poco. E Donald sosteneva che la GPL significava che poteva farlo.
Ancora una volta, sì, poteva se il codice originale fosse stato GPL fin dall’inizio. Ma non lo era. E in ogni caso non rispettava il requisito della GPL per il copyright (la GPL dice che devi mantenere il copyright precedente e aggiungere il tuo) né quello di WordPress per la divulgazione (devi riportare gli sviluppatori originali). Quindi Donald non aveva superato l’esame.
Tutto ciò è andato avanti per ore e io non ho risposto. Se ti stai chiedendo “Perché non hai risposto?“, è perché quella sequenza di email è arrivata tra le 16:00 e le 4:00 del mattino, ora del Pacifico. Comunque sia, era ormai chiaro che Donald aveva:
- Copiato il codice e alla fine aveva fatto un fork.
- Copiato codice premium da una fonte non GPL.
- Non aveva segnalato la copia/fork nel suo readme né nel codice sorgente.
- Pensava di aver comprato i diritti sul codice sorgente.
Ah, e continuava pure a insistere che lo aveva comprato da WordPress.
Quindi ci ho riprovato.
Ho ripetuto i fatti (non l’hai comprato da WordPress.org e non rispetta le linee guida per essere ospitato su WordPress.org come “fork“) e poi l’ho bannato, visto che dopo oltre 14 email durante la notte era evidente che Donald aveva sbroccato.
Mi sono comunque presa un minuto per consigliargli di non pubblicare il codice su GitHub per il problema del rispetto della GPL, perché se l’avesse fatto, Adam avrebbe potuto fargli causa. Ho anche riferito ad Adam che l’avevo avvisato, così avrebbe potuto tutelarsi.
Entriamo a Mutandepazzelandia
Finalmente Donald ha ammesso di non averlo acquistato tramite WordPress.org, ma ha insistito di aver pagato per il codice (citando metà del prezzo che c’era nel PDF, ma vabbè).
Ancora una volta, ti sbagli, IO NON ho preso il plugin premium. Quello che ho preso è la base di codice della [versione] che ho acquistato, fornita dall’autore dopo che ha ricevuto il pagamento. Solo [allora ho fatto il rebranding] e modificato […] il codice come mio.
(Donald via email)
Francamente, mi sono fermata a guardare.
La sua versione era che non aveva acquistato il codice premium, ma che aveva preso il codice che aveva acquistato.
Ho fatto un respiro profondo. Ma non è che forse non ha fatto questa connessione? Eppure io (e anche Adam) l’avevamo già spiegato prima, quindi boh. L’email di Donald continuava…
- era d’accordo che avevo ragione a non ospitare il codice.
- non era d’accordo che avesse mai detto di averlo comprato da WordPress.org.
- era d’accordo che avesse comprato il codice da Adam.
- non era d’accordo sull’essere bannato.
A essere onesti, pochi sarebbero d’accordo su quest’ultima cosa.
Ho provato di nuovo a spiegare come quello che ha fatto fosse dannoso, e il riassunto più semplice è questo:

Insomma, Donald ci ha messo sopra una campanella, ma fondamentalmente ha fatto questo.
Il succo è di nuovo “Non ho preso il suo codice, l’ho comprato e l’ho usato.“
Ha preso qualcosa, che in quel momento aveva il diritto legale di prendere. Ma è pur sempre prendere.
Se comprassi una copia del romanzo di Sherlock Holmes “Uno studio in rosso” (che è di pubblico dominio!) e poi la ristampassi con il tuo nome e un aggiornamento moderno, non sarebbe il TUO lavoro. Sarebbe “Sherlock”, la serie TV, che accredita correttamente la fonte, però loro non lo definiscono come un loro lavoro originale, lo chiamano adattamento.
Accreditano l’autore originale.
Donald non lo ha fatto, e non voleva farlo.
Mio cuggino avvocato
Donald ha spiegato che il suo avvocato (un suo parente) gli aveva detto che non aveva acquistato il codice come pensava. Donald aveva comprato una licenza per usare il codice.
Alleluia! Pensavo fosse finita.
Purtroppo, Donald ha continuato dicendo che avrebbe chiarito quella questione della licenza con Adam (ma non l’ha mai fatto, Adam ha rifiutato), e poi ha detto che siccome era legale prendere il codice e riutilizzarlo, secondo la GPL, era tutto a posto, quindi noi dovevamo accettare il suo plugin.
Questo dopo che aveva ammesso che avevamo ragione riguardo al discorso non-GPL.
Ho spiegato, un’altra volta, che in sostanza WordPress.org non ospita fork di codice premium, non accetta mai codice non-GPL, e non accetterebbe fork che non riconoscono l’originale. E Donald aveva fatto il triplete.
Gli ho consigliato di chiedere al suo cuggino avvocato di spiegargli il concetto di “frutti dall’albero avvelenato”.
Donald ha continuato a ripetere le stesse stronzate pseudolegali completamente sballate, dicendo che la GPL lo permetteva, quindi WordPress doveva lasciargli pubblicare il codice, e così via. E poi ha minacciato di fare causa.
A quel punto, mi sono fermata. Lui ha ricevuto la risposta definitiva con il messaggio ufficiale “sei bannato e non leggeremo più le tue email perché chiaramente non capisci”.
È passato il weekend e il lunedì ho trovato una email: Donald aveva fatto un reclamo legale, e tutti si stupivano che qualcuno avesse chiesto a un avvocato di spiegargli che aveva torto solo per insistere nel proprio errore.
Devo mandare un regalo in segno di solidarietà a quel povero disgraziato che ha dovuto discutere con Donald.



