I lati negativi del software Open Source
CyanogenMod è morto, ucciso dalla casa madre Cyanogen. La comunità sta cercando di raccogliere i pezzi e creare un nuovo progetto, LineageOS, basato sul codice. Ma è un promemoria che il software open source non è tutto sole, arcobaleni e stabilità: infatti, può spesso essere molto disordinato.
Anche se un progetto è open source, non è necessariamente nemmeno reattivo alla comunità, tanto meno un software affidabile su cui puoi contare. I progetti variano: alcuni sono gestiti da uno o due sviluppatori come hobby, altri riuniscono sviluppatori pagati da molte grandi società, mentre altri sono guidati da una sola società madre. Ogni situazione ha i suoi problemi e il suo dramma.
Amiamo il software open source, non ci sbagliamo, ma presenta un certo numero di sfide. Diamo un'occhiata a pochi.
L'Open Source spesso soffre di ritardi e un ritmo di sviluppo glaciale
Molti progetti open source sembrano soffrire di un ritmo di sviluppo lento, in cui le nuove versioni vengono continuamente rimandate, le nuove funzionalità arrivano lentamente, se non mai, ed è difficile dare la priorità a caratteristiche difficili ma importanti.
Basta dare un'occhiata ai tentativi di Ubuntu di lanciare il suo desktop Unity 8 e il server di visualizzazione Mir, consentendo la sua visione di "convergenza". Questa nuova versione del desktop Linux doveva essere stabile molti anni fa, e ancora non lo è. Il progetto si è mosso a un ritmo glaciale, tanto che Canonical è stata sconfitta da Microsoft, che ha annunciato la sua visione PC-powered-by-smartphone prima di Windows 10 e consegnata. Canonical non ha ancora fornito la sua visione a lungo promessa ancora. Forse sarà stabile tra qualche anno.
Mozilla ha anche avuto qualche difficoltà nell'assegnare le priorità. Non hanno ancora fornito funzionalità multi-process e sandboxing in Firefox. Questi sono fondamentali per mantenere il browser sicuro, evitare che i crash possano distruggere l'intero browser e utilizzare al meglio le CPU multi-processo. Tutti gli altri principali browser hanno fornito queste funzionalità, incluso l'odiato Internet Explorer. Mozilla ha creato il progetto "Electrolysis" per aggiungere queste funzionalità, ma l'ha bloccato nel 2011 perché era troppo difficile. Mozilla dovette quindi riavviarlo nel 2013. Questa funzione sembra destinata ad arrivare nel 2017, il che è davvero molto tardi. Nel frattempo, Mozilla ha perso tempo lavorando su Firefox OS, un sistema operativo per smartphone malfunzionante.
Quando un progetto utilizza così tanti sviluppatori volontari, potrebbe avere difficoltà a trovare le persone a fare il duro lavoro che non è divertente da fare.
Dramma interno Begets Forks, Forks e More Forks
Il codice sorgente di un progetto open source è disponibile per chiunque possa cambiare. Questo è il punto! Se un progetto open-source cambia in un modo che non ti piace, allora tu o la comunità puoi prendere quel vecchio codice sorgente e continuare a lavorarci come un nuovo progetto. Ma i progetti di community sono spesso così coinvolti nel dramma interno che fanno sì che le cose si dividano in più progetti, utenti confusionari e alienanti.
Ad esempio, quando GNOME 3 è stato lanciato e molti utenti di GNOME 2 non erano felici, non c'era un percorso ovvio immediato. Gli sviluppatori hanno dovuto inserire il codice GNOME in altri progetti come MATE e Cinnamon. Un ambiente desktop è diventato tre e le risorse di sviluppo sono più disperse tra i progetti. Di conseguenza, è occorso del tempo perché la community portasse avanti questi nuovi progetti.
Allo stesso modo, la comunità di OpenOffice non è stata felice quando Oracle ha acquisito Sun. Oracle ha anche ribattezzato brevemente la sua suite per ufficio proprietaria, non open source, StarOffice, a "Oracle Open Office". La community ha dovuto creare un nuovo fork, LibreOffice, basato sul codice OpenOffice. È diventato di fatto la suite per ufficio open source per molte persone, ma altri ancora usano OpenOffice perché non sono consapevoli della migliore forcella e del dramma che la circonda. OpenOffice ha solo un sacco di riconoscimento del nome costruito.
E, naturalmente, c'è CyanogenMod. Cyanogen Inc ha appena tolto la spina ai servizi online di CyanogenMod, il che significa che preferirebbe uccidere la ROM Android di terze parti più popolare che consegnarla alla comunità, costringendo invece la comunità a creare un nuovo fork di CyanogenMod denominato LineageOS. Perché Cyanogen non consegna semplicemente il progetto CyanogenMod alla comunità? La risposta sembra essere un dramma interno (stai vedendo uno schema qui?). Cyanogen era la società il cui CEO aveva promesso che avrebbero "messo un proiettile sulla testa di Google", dopotutto. Ha finito per mettere un proiettile attraverso la testa di CyanogenMod, invece.
Tutto questo finisce per ferire gli utenti di CyanogenMod, che hanno ricevuto pochissimo preavviso prima che i server ei servizi di CyanogenMod vengano chiusi. I telefoni continueranno a funzionare, ma gli aggiornamenti convenienti e altri servizi stanno andando in fumo quasi da un giorno all'altro. Gli utenti devono solo sperare che il progetto LineageOS diventerà rapidamente un sostituto.
Non tutti i progetti open source sono guidati dalla comunità
I progetti open source non sono sempre guidati dalla comunità. Dire che un programma è open source significa semplicemente che il codice è disponibile per fare ciò che ti piace. La società che sviluppa il software non deve necessariamente eseguirlo come progetto di comunità, o potrebbe avere interesse a utilizzare il progetto per promuovere il proprio altro software.
CyanogenMod è un buon esempio di questo. Una volta avvenuta la Cyanogen Inc., a CyanogenMod non importava molto. Il nuovo obiettivo di Cyanogen è diventato il marketing della piattaforma Cyanogen Modular OS per i produttori, facendo trading sul riconoscimento di grande nome di CyanogenMod dopo aver ucciso il progetto. Forse è solo dove sono i soldi.
Oracle non si è mai preoccupato di OpenOffice, ma inizialmente voleva utilizzare il suo nome per guidare le vendite della sua suite per ufficio proprietaria di StarOffice branding con il nome "Open Office". Ha poi donato il progetto ad Apache dopo che la maggior parte degli sviluppatori volontari è andata via.
A Google non interessa nemmeno Android come un progetto open-source, motivo per cui sempre più parti del "Progetto Open Source Android" (o "AOSP") vengono lasciate indietro. Google vuole mantenere aperto Android, quindi è facile per i produttori personalizzare, ma le applicazioni open source come la tastiera e il dialer stanno diventando sempre più obsolete. Su un dispositivo Android consumer, Google raggruppa semplicemente la sua tastiera, il dialer e altre app a codice chiuso. Google sembra impegnata su un core open source Android, ma non su un intero sistema operativo open-source che le persone possono utilizzare senza il software e i servizi di Google. Dopo tutto, il miglioramento del progetto Open Source Android aiuta Amazon Fire OS, un concorrente per i dispositivi Android di Google. Qual è il punto di questo?
L'Open Source può mancare di manodopera seria, nonostante sia utilizzata da milioni
Se un progetto è open source, chiunque può usarlo senza contribuire, anche le grandi aziende. Ciò porta a problemi quando un progetto importante e ampiamente utilizzato ha una grave mancanza di manodopera e fondi.
Abbiamo visto i risultati di questo con il buco di sicurezza Heartbleed nel 2014. Heartbleed ha sfruttato una vulnerabilità in OpenSSL. OpenSSL è un'importante libreria di crittografia utilizzata da molte società tecnologiche giganti e da centinaia di migliaia di server web. Ma aveva solo un dipendente a tempo pieno senza lavoro esterno e $ 2000 all'anno in donazioni. Il progetto ha assorbito più denaro dai contratti di supporto commerciale e dalla consulenza, ma solo un singolo impiegato a tempo pieno sembra incredibilmente basso per un'infrastruttura critica utilizzata da società da molti miliardi di dollari come Google e Facebook.
Heartbleed ha attirato l'attenzione su quanto poco fosse sottovalutato questo software fondamentale, quindi le grandi aziende tecnologiche si sono impegnate a incassare denaro ogni anno per finanziare lo sviluppo di OpenSSL e altri importanti progetti come parte della "Core Infrastructure Initiative".
C'è un buon risultato in questa particolare storia, certo, ma solo perché è stata attirata così tanta attenzione. Quando ti affidi a un progetto open source per abilitare la tua infrastruttura, è facile finire a seconda di esso e supporre che qualcun altro lo stia mantenendo abbastanza bene. Quale altro importante progetto open source è criticamente sottofinanziato? Potremmo non notare fino a quando non ci sarà un altro grosso problema.
Immagine di credito: snoopsmaus