Gordon Henderson (@drogon), stimatissimo sviluppatore Open Source, ha deciso di porre fine allo sviluppo della libreria wiringPi, scegliendo di andare oltre piuttosto che cercare di comprendere una community che non riconosce più.
Di seguito potete leggere il messaggio con cui Gordon ha spiegato le motivazioni dell’abbandono di wiringPi:
“Perdonatemi, ma sono molto amareggiato.
Negli ultimi dieci anni ci sono stati molti cambiamenti nella mia vita, in gran parte dovuti a problemi di salute fisica e mentale, lavori che andavano e venivano ma anche un po’ di divertimento basato sul retro-computing, Arduino e Raspberry Pi. Per questo motivo ho deciso di creare wiringPI, la libreria per l’interfaccia GPIO .
Il problema nasce dal fatto che Raspberry Pi negli ultimi anni è passato dall’essere una sorta di giocattolo per hacker a qualcosa di più grande, con persone che ormai arrivano quotidianamente ad utilizzare la libreria wiringPi in maniera completamente errata, cercando di sfruttarla con Python e altri linguaggi non supportati. Quando l’ho realizzata, l’ho concepita per essere utilizzata da programmatori esperti in linguaggio C e RTB BASIC. Non ho mai dichiarato che wiringPi fosse stata compilata per essere uno strumento di apprendimento per principianti.
Non ho mai dichiarato in alcuna sede, che wiringPi potesse essere una libreria di tipo statico. Il fatto è che mi sono piovute addosso circa diecimila e-mail piene di lamentele da parte di persone incompetenti che, dopo aver aggiornato le loro librerie si sono resi conto che avevano smesso di funzionare perché le avevano basate su sistemi java, javascript, applicazioni per domotica o UPS, linkate in maniera statica ad una versione precedente. Ho ricevuto insulti da parte di persone che dovrebbero solo ammettere la loro incompetenza. Questo mi ha rattristato molto, perché non è giusto comportarsi in questo modo. A voi tutti mi sento di dare un consiglio: se volete sviluppare qualcosa in maniera differente da come è stata concepita, fatelo, ma siate disposti a seguirne lo sviluppo in futuro.
Ci sono persone che sono addirittura arrivate ad utilizzare wiringPi su board clone di Raspberry Pi, lasciando però la mia mail a disposizione di coloro che avrebbero avuto bisogno di assistenza. Se da un lato vi ringrazio per aver utilizzato la libreria che ho creato, dall’altro vorrei che fosse chiaro che non ho alcuna intenzione di supportare i vostri progetti di board alternative e a malapena funzionanti. Se volete qualcosa di supportato, acquistate il Raspberry Pi originale, in questo modo aiuterete un progetto serio e consolidato, non qualcosa di abbozzato e a basso costo che promette di essere migliore o magari più veloce.
La cosa ancora più grave, è che ci sono persone che stanno utilizzando in maniera impropria il mio software per guadagnare denaro. Sono il primo a dire che l’Open Source non sia a pagamento e che quindi non si “ruba” nulla, ma se sei un produttore tedesco di Pi UPS e smembri wiringPi per utilizzare solo le porzioni di codice che ti interessano, collegando staticamente tali porzioni al tuo codice di controllo, impegnati a fornire assistenza a quei clienti che ti hanno dato dei soldi per acquistare i tuoi prodotti. Lasciare il mio indirizzo mail, in modo tale che quando il cliente ha problemi scrive a me dopo aver pagato te, è inconcepibile.
La triste realtà dei fatti, è che ci sono persone che si appropriano quotidianamente di GPL, LGPL e altro software libero. Alcuni mi hanno detto che avrebbero pubblicato il mio codice a loro nome, perché intanto non avrei potuto rivendicarne la proprietà.
Poi ci sono i pigri. Ho perso il conto di coloro che mi chiedono se wiring-Pi possa supportare questo o quell’altro. Tutto è possibile, basta che abbiate il tempo e le capacità per scrivere il codice inerente al vostro progetto. Come vi ho già detto, wiring-Pi non è una libreria fatta per i principianti. Per anni ho lasciato nel mio profilo twitter la mail destinata a chiunque avesse bisogno di aiuto, eppure chiunque ha sempre continuato a twittare richieste di chiarimenti o delucidazioni in merito al codice. Non sapete quante persone non arrivano nemmeno a leggere i manuali inerenti ai fogli specifiche della configurazione dei pin, salvo poi lamentarsi che i loro progetti non funzionano.
Ciò che mi ha fatto optare definitivamente per la chiusura del progetto, è stato un certo DanielK che mi ha accusato di non aver rilasciato tempestivamente la nuova release di wiring-Pi per il Pi versione 4. All’epoca non avevo avuto abbastanza tempo per compilarla e renderla disponibile, ma a quanto pare c’è chi non esita a scrivere mail di insulti.
Renderò presto disponibile una versione finale della libreria wiringPi, ma come già detto sarà l’ultima. Non ci saranno aggiornamenti ulteriori a livello pubblico. Manterrò lo sviluppo inalterato solo per quel che riguarda i miei clienti o i miei progetti, per tutti gli altri, vi invito a cercare una libreria GPIO alternativa”
Leggere certe cose fa sempre male, lo dico da appassionato e da sviluppatore. Sulla maleducazione delle persone purtroppo ci sarebbero da scrivere manuali, ma basta affacciarsi sui social network per capire il livello di inciviltà che c’è in rete, così come nella vita reale. Con questo mio messaggio, non voglio portarvi a riscoprire il lato “analogico” della vita, voglio solo invitarvi ad una riflessione: vi ricordate cosa avevo scritto nei miei tutorial di avvicinamento al mondo della prototipazione? Se ve li siete persi, date uno sguardo qui e qui.
Quando vi dicevo di leggere bene la documentazione dei prodotti che intendete utilizzare nei vostri progetti e di rispettare sempre chi vi aiuta all’interno delle community, lo dicevo perché decisioni come quella presa da Gordon stanno diventando sempre più frequenti tra coloro che, negli anni, sono diventati i pilastri dello sviluppo Open Source. Perdere persone come Gordon, significa perdere risorse inestimabili che difficilmente verranno rimpiazzate. Prima di mandare una mail dove descrivete i vostri problemi, studiate bene le documentazioni e cercate di capire se il problema è vostro oppure può esserci un bug all’interno del codice di terze parti. Scrivere mail in cui sostanzialmente si chiede a qualcuno di sviluppare il vostro progetto, non solo non è assolutamente etico e rispettoso, ma è un comportamento che sta rovinando irrimediabilmente il mondo dell’Open Source e dobbiamo assolutamente circoscrivere questo fenomeno.
Mi rivolgo inoltre a coloro che hanno aperto o che sono in procinto di aprire la classica start up di sviluppo di prodotti basati su hardware o software libero: cercate di essere persone competenti in ciò che fate, l’Open Source non è un ufficio di collocamento o imprenditoria low budget. Il fatto che le grosse aziende vi chiedano cifre proibitive per utilizzare i loro brevetti o i loro software, perchè a loro volta stipendiano sviluppatori e programmatori, non vi autorizza a sfruttare coloro che decidono di offrire parte del loro tempo libero per questo tipo di applicazioni. Non c’è niente di male a fare business nell’elettronica o nello sviluppo di applicazioni, ma evitate di farlo sfacciatamente perché altrimenti, citando l’esimio Sergente Hartmann, “Siete degli ingrati che lo mettono in quel posto a qualche poveraccio, senza usargli la cortesia di menarglielo davanti per sdebitarsi”.