La vicenda Fat Fritz 2 – Stockfish | Scacchierando.it
Concorso “L’articolo 2021”: si inizia con il pezzo inviato da Lorenz!
26 febbraio 2021
2 commenti
Con riferimento al concorso “L’articolo 2021” (qui presentazione e termini del concorso), pubblichiamo l’articolo inviatoci da Lorenz!
.
La vicenda Fat Fritz 2 – Stockfish
articolo di Lorenz
.
Nei giorni scorsi Chessbase ha annunciato la messa in commercio di Fat Fritz 2, scatenando la reazione del mondo del software scacchistico e non solo. Prima di procedere coi fatti vediamo chi sono gli attori in gioco: Stockfish, LeelaChessZero e ChessBase.
.
Gli attori
.
Stockfish
È il motore scacchistico più forte del mondo, come dimostrano i risultati degli ultimi anni al TCEC (Top Chess Engine Competition) ovvero il mondiale ‘ufficioso’ per software. È nato come fork (ovvero a partire da altro programma open-source) di Glaurung, i cui fondatori sono poi confluiti nel neonato progetto. Inizialmente il programma utilizzava un tradizionale metodo di ricerca chiamato alfa-beta, mentre negli ultimi anni ha integrato una rete neurale mutuata dallo shogi, per meglio definire i parametri di ricerca: così facendo ha colmato il gap con l’astro nascente LeelaChessZero. La rete neurale utilizzata ha la caratteristica di non aver bisogno di schede grafiche per funzionare al meglio.
Stockfish è mantenuto da una vasta comunità: ufficialmente gli “autori” sono più di 150 e un numero analogo di persone ha donato più di 10000 ore di tempo macchina per i test delle modifiche. Si tratta quindi di un progetto open-source e il codice sorgente è aperto e distribuito con licenza GPLv3.
Il suo essere open-source ha favorito l’integrazione del software in molti siti Internet che prevedono l’analisi delle partite trasmesse in diretta.
.
.
LeelaChessZero
È il motore scacchistico che ha introdotto il concetto di rete neurale negli scacchi, sulla scia di quanto fatto dalla Google Deepmind nel Go con AlphaGo e in generale con il progetto AlphaZero. Anche questo progetto è guidato da una comunità, per il momento più piccola, e il codice sorgente si trova distribuito sotto la GPLv3.
.
ChessBase
Qua non dovrebbe esserci bisogno di presentazioni: è l’azienda che produce e/o distribuisce vari software scacchistici tra cui l’omonimo gestore di database, il motore Fritz nei primi anni duemila e Komodo e Houdini in tempi più recenti.
.
Il fatto
.
Fat Fritz 2 è dichiaratamente basato sul lavoro di Stockfish. Come si può vedere dal negozio online, il pacchetto contiene una fork (di fatto un’opera derivata) del motore open-source, una interfaccia grafica proprietaria già usata in Fritz 17 e un account premium della durata di sei mesi, il tutto in vendita a 99,90€. Per fare un confronto, è lo stesso prezzo di Houdini 10 Pro, con la differenza che quest’ultimo è sin dall’inizio un motore distribuito sotto licenza proprietaria e quindi si ha un accordo commerciale di distribuzione tra lo sviluppatore e l’azienda tedesca.
.
Le reazioni
.
Ciò ha scatenato diverse reazioni, tra cui quella del fondatore di Glaurung e cofondatore di Stockfish Tord Romstad:
I'm so disappointed in @ChessBase for selling FF2. It might be legal, but it's morally questionable and shockingly unoriginal.
— Tord Romstad (@tordr) February 10, 2021
Come si può leggere il programmatore segnala problemi dal punto di vista morale, ma considera l’operazione legale.
Un’altra significativa reazione è quella dell’attuale responsabile del progetto Joost VandeVondele sulla mailing list degli sviluppatori:
“_their distributed binary includes the net, and they thus infringe on our licensing terms as they do not provide the necessary information to recreate the binary with identical functionality. Other aspects of the license are violated as well. We are planning our further steps, which we will not discuss on the mailing list. If you are a lawyer, and interested to help out in this case, you can contact me directly._”
Lo sviluppatore denuncia quindi una scarsa aderenza alla licenza GPLv3, perché il codice sorgente incluso con il programma non è in grado di replicarne il comportamento. Segnala inoltre la possibilità di procedere per vie legali.
Non si è fatta attendere la risposta ufficiale di Stockfish, dove viene resa pubblica l’accusa di violazione della licenza. La GPLv3 permette infatti di vendere programmi derivati, a patto però di allegare il sorgente per consentire al cliente di replicare il funzionamento del motore nonché di modificarlo. Inoltre viene evidenziato che, secondo test indipendenti, Fat Fritz non riesce a migliorare le performance di Stockfish.
.
.
Pochi giorni dopo esce un comunicato congiunto Stockfish – Leela – Lichess, in cui si evidenzia che le modifiche operate sono minime: di fatto sarebbero stati modificati solo il nome del software, il file con i nomi degli autori e sarebbero stati cambiati alcuni parametri. Secondo questa accusa la mossa di ChessBase è recidiva, in quanto anche Fat Fritz 1 era basato su Leela con modifiche analoghe; inoltre i test presentati dall’azienda fanno riferimento a un confronto con una versione meno aggiornata di Stockfish di quella realmente utilizzata per costruire il programma. Test considerati indipendenti (come quelli di SPCC e CCRL) invece evidenziano una sostanziale parità, per non dire un vantaggio del motore open-source. SPCC in particolare segnala una significativa differenza di performance (39 punti ELO) a favore di Fat Fritz 2 commerciale rispetto al sorgente pubblicato su GitHub.
.
.
Il 19 febbraio, nell’annunciare la versione 13 di Stockfish, il team annuncia una collaborazione con la comunità di LeelaChessZero per dimostrare il loro impegno nel settore dell’open-source. È verosimile, visto il comunicato, che anche la comunità di Lichess dia una mano, visto che è il principale server di gioco totalmente open-source e ha fatto di ciò una bandiera.
Tra i forti giocatori che hanno reagito alla questione non potevano mancare Hikaru Nakamura, che di recente ha sfondato il muro del milione di follower su Twitch, e Anish Giri:
So there is a guy who made an engine for free then there is a guy who made another neural net for the same engine for cash and then there is a guy who wants to have both the guys on his stream for subs.
I am in here for the likes, I ain't retiring.#ChessDrama https://t.co/tgjtsZGNtl— Anish Giri (@anishgiri) February 20, 2021
Oltre al tweet riportato, Nakamura ha pubblicato anche un video sul suo canale YouTube, dall’esplicativo titolo “La truffa del motore scacchistico”. Molte cose da lui evidenziate sono già state trattate in questo articolo; tra le altre cose dette è da segnalare una sua testimonianza su Albert Silver, sedicente autore di Fat Fritz: “lo conosco, e di sicuro non è un programmatore”. Inoltre cita la passata polemica in cui era stato Rybka a finire nell’occhio del ciclone con l’accusa di aver copiato altri motori. Quel caso si risolse con un ban perpetuo dai mondiali ufficiali di scacchi per computer e con l’obbligo di restituire i titoli e i premi.
.
Considerazioni finali
.
Come si può intuire la questione è molto grave e importante: è in gioco il concetto stesso di software libero e in qualche modo questa vicenda costituirà un importante precedente. Visto che viene dibattuto l’utilizzo della licenza GPLv3 non è da escludere l’intervento della Free Software Foundation e del Progetto GNU. Per adesso Nakamura sta provando ad organizzare un incontro su Twitch tra rappresentanti delle due parti, vedremo se accetteranno di incontrarsi.
.
.
Una cosa comunque è certa, indipendentemente dall’esito di eventuali battaglie legali: nel settore dei motori scacchistici la struttura comunitaria dei programmi open-source si è rivelata vincente sul fronte dei risultati, mentre la principale alternativa commerciale è un lavoro quantomeno fortemente ispirato a quelli liberi. A questo punto tocca all’utente finale capire i punti di forza delle varie opzioni e in particolare che Stockfish e Leela sono molto di più che programmi gratuiti: sono comunità vaste che segnalano eventuali criticità e propongono metodi per risolverle. Centinaia di persone mettono a disposizione le loro competenze informatiche per implementare le soluzioni e migliorare le prestazioni, altre centinaia forniscono la capacità di calcolo dei propri computer per testare le modifiche. L’utente di questi programmi sa che eventuali criticità saranno risolte nel giro di pochi mesi e, vista la mole di test fatti e di occhi che controllano il codice, è verosimile che siano molto poche. Un utente esperto potrebbe anche decidere di risolvere il problema per conto suo e, eventualmente, condividere il suo risultato con altri. Questo è il significato riassunto nell’acronimo FLOSS: Free and Libre Open-Source Software. In pratica il programma è gratuito, a sorgente aperto e liberamente modificabile da chiunque si senta in grado di farlo. La libertà permette di tenerselo per sé come di distribuirlo ad altri; in questo secondo caso sottostando a condizioni stabilite dalla licenza, che può essere più o meno restrittiva. Come abbiamo visto dalle accuse, la licenza GPLv3 è la più restrittiva, nel senso che vincola la modifica a essere distribuita praticamente nello stesso modo dell’originale; mentre altre licenze, come la BSD e la MIT per nominarne due molto usate, sono molto più permissive: il loro utilizzo da parte di Stockfish avrebbe sicuramente precluso loro la possibilità di rivalsa nei confronti di ChessBase.
La domanda che pongo quindi è: vale veramente la pena acquistare un motore scacchistico commerciale?
.
Lorenz
.
Link utili
Articolo di presentazione di Fat Fritz 2
La pagina dedicata a Fat Fritz 2 nello shop online di Chessbase (in particolare sotto “description” si vede il riferimento a Stockfish e alla licenza)
Il messaggio nella mailing list FishCooking da parte di Joost VandeVondele
Risposta ufficiale di Stockfish
Licenza utilizzata da Stockfish
Comunicato congiunto Stockfish-Leela-Lichess
Video di Hikaru Nakamura, tratto da una diretta Twitch e pubblicato dall’autore sul proprio canale YouTube
Per approfondire segnalo anche questo articolo della GNU in cui, nel parlare delle licenze, si parla anche dello scontro tra software libero e proprietario e delle rispettive armi.