Dopo un'attenta e profonda riflessione, sono arrivato all'inevitabile conclusione: Linux dovrebbe avere una rete di volontari, disposti ad andare casa per casa a mostrare le meraviglie del pinguino a chiunque voglia mettersi in gioco.
Tipo il Folletto.
P.S.: Sono in un periodo di pigrizia, ho tante cose per la testa, dovrei scriverle. Ma fa caldo, pazientate :D
Ultimamente ne ho sentite molte su Dell, e sulla sua pessima abitudine di continuare a rivendere macchine con Ubuntu installata, pur facendo una pubblicità sfegatata a Windows al momento della scelta del sistema operativo che si vuole. È da un po' di tempo ormai che Dell propone questa sottospecie di ballot screen che mette in evidenza i pregi di entrambi i sistemi: per quanto riguarda Linux, ne sottolinea l'eleganza, l'innegabile sicurezza intrinseca, la velocità di boot e tante bellissime altre cose. Per quanto riguarda Windows, sottolinea altri aspetti che vanno sicuramente presi in considerazione.
Passando poi ad una sintesi, illustrando i motivi per cui effettuare una scelta e perchè effettuarne un'altra, Windows viene raccomandato perchè maggiormente supportato, perchè ci sono i programmi, e soprattutto viene detto: se sei alle prime armi, Windows è più facile. Ora, analizziamo insieme tutto ciò. Nei giorni scorsi c'è stato il putiferio su questo, le persone hanno accusato la casa di essere faziosa; io non la penso così. Dell è una casa che mira a fare soldi, no? E a farti trovare bene con il suo prodotto. Ora, se uno compra un PC con Linux, ed incomincia ad utilizzarlo con profitto, anche se prima non capiva una mazza (e Linux è ben più facile per un nabbo, parliamoci chiaro), sarà sicuramente un utente soddisfatto ma... mettiamo caso che il nostro omino abbia un problema con la linea ADSL. O con qualche dispositivo gestibile da PC che ha per casa.
Chiamerà il supporto. La affascinante signorina all'altro capo del telefono lo ascolterà pazientemente cercando di immaginare una possibile soluzione. Adesso vi racconto com'è stata una mia richiesta di supporto, nei panni di un nabbo.
Bl@ster: Ermh, buongiorno, da stamattina ho problemi con la linea ADSL, il modem continua a disconnettersi e non so come risolvere il problema.
Signorina: Si, ecco, clicki su Start.
Bl@ster: Eh?
Signorina: Clicki su Start, il pulsante Start.
Bl@ster: Ma... io non ho nessun pulsante Start.
Signorina: Com'è possibile, mi scusi...
Bl@ster: Abbia pazienza, sa, uso Linux...
tu-tu-tu-tu-tu...
Ora, capite? Non è colpa di Dell. È colpa loro. Dei nabbi stronzi; non saprei come altro chiamarli. Queste persone idiote, che non vengono istruite propriamente sul lavoro che svolgono e su ciò di cui ha bisogno l'utente, che non esitano a lasciarti lì col telefono penzoloni per ore. Loro, e i bimbiminkia che continuano a dire che Linux fa cagare perchè non ci gira collofdiutimoderuorfèrdùe, e tutte quelle persone che pensano che la E sia il pulsante dell'Internet [cit.], perchè con la loro niubbaggine straripante, non avendo la minima voglia di imparare ad usare il PC prima di metterci le mani, rallentano il progresso.
Per sopravvivere nella savana affili gli artigli, non aspetti che il predatore smussi i suoi.
Ed è questo il comportamento usuale delle case, che continuano a costringere l'utente nella bambagia loro malgrado; non è colpa di Dell se il supporto Telecom in assenza di un tasto Start va in bomba, non è colpa di Dell se la gente collassa quando non vede la E blu. Non è colpa di Dell. Perchè se fosse colpa di Dell, la situazione sarebbe molto peggio, mentre la colpa di un'utenza che non aumenta molto, è l'utenza stessa. Le capre. Le capre che clickano SI senza sapere cosa c'è scritto.
Proprio stamattina ne ha scritto felipe, e mi sentirei di riprendere il discorso. AppImage, la nuova tecnologia tanto simile, tanto uguale, tanto identica a tutte le precedenti già affondate che si propone come l'alternativa al tradizionale concetto di gestione dei pacchetti, e che si fa un po' portatrice dell'ideale di Apple rispetto alla gestione del software. Un archivio con il binario dell'applicazione, e tutte le librerie aliene compilate staticamente per far funzionare il prodotto al meglio su qualsiasi distribuzione; il pericolo secondo me, come secondo felipe, non viene covato nella potenzialità di sfornare pacchetti binari da centinaia di mega per un client di posta, andiamo oltre: il pericolo, per me, è che tale sistema divenga abusato. Felipe al contrario ne vorrebbe l'adozione di massa per una gestione delle applicazioni più a misura di utente. Effettivamente non sarebbe male, ma svisceriamone ogni aspetto, e vediamo perchè è figo e, invece, perchè fa cagare :D
Perchè è benissimo
AppImage è una figata. Consentirà finalmente a migliaia di utenti di aggiornare comodamente il proprio Firefox ad esempio, o la propria copia di Thunderbird, mandando definitivamente a quel paese quei metodi diabolici tipo UbuntuZilla e soci, che non fanno altro che insozzare il nostro sistema con del software non gestito dal gestore dei pacchetti, e nemmeno facilmente rimovibile.
Potremo finalmente prendere un'applicazione, trascinarla, sballottarla, e quella resterà sempre nel suo comodo guscio di applicativo AppImage, senza possibilità di uccidere file per una smanettata di troppo, senza necessità di dover soddisfare il diavolo di dipendenze prima di un'installazione, senza appunto la necessità di una connessione alla rete per installare qualcosa. Ma c'è il risvolto della medaglia.
Perchè fa cagare
È facile immaginare il perchè contrario; anni di utilizzo di distribuzioni concepite in maniera più che razionale, hanno fatto di me una persona un tantino paranoica. Il package manager è il bene assoluto e definitivo. Il package manager consente di installare software senza sporcarsi le mani, il package manager, se ben implementato, ha la funzione di far gestire all'utente tutto il software presente nel computer tramite una singola interfaccia. Peccato che in Ubuntu, Debian, ma anche relativamente alle controparti RPM come Fedora e Mandriva, in questi anni si sia venuto a creare una specie di bordello dove esistono diecimila applicazioni, come dicevo poco sopra, ognuna che installa il software che vuole, alla maniera in cui vuole, secondo la versione che preferisce. Poi uno dice che ce l'ha lungo perchè usa Arch Linux, e grazie: con un solo strumento posso gestire tutto il software, quello compilato, quello pacchettizzato, qualunque cosa. DPKG ed RPM invece sono mal implementati in questo senso, perchè non danno possibilità all'utente di compilare un sorgente ed installarlo secondo le norme riservate ad un comune pacchetto (e poterlo quindi disinstallare agevolmente).
Fuori dal delirio, purtroppo, finchè il package manager resta uno strumento nelle mani del distributore che non si adegua alle logiche dell'utenza, necessitiamo di qualcosa come AppImage, che ci consenta di gestire il nostro software in maniera semplice e avulsa dal distributore. Tuttavia, voglio dire un'ultima cosa. Felipe, proprio tu hai fatto riferimento a OSX per la gestione delle applicazioni non a livello di sistema. Ebbene, voglio ricordarti questo: noi stiamo copiando i .app, mentre il popolo della mela da tempo ci ha copiato e imbellito Synaptic proprio perchè stufo di questo sistema. Si chiama Bodega :P
Siamo dunque sicuri che tutto ciò non sia un capriccio dell'utenza e di alcune persone, più che una necessità vera? Magari avremmo più bisogno di qualcuno che mantenesse le applicazioni aggiornate? Tipo un potenziale repository rolling apposito di cui ho già parlato?
Chi mi conosce lo sa, non giudico un prodotto dalla mera apparenza, bensì a volte conduco svariate analisi e le mie preferenze non sono dettate solo dal gusto estetico ma da una bontà nella lavorazione totale.
È il caso del sistema operativo che ormai invade letteralmente il mercato dei dispositivi mobili, Android, il quale ponendosi come diretto rivale del novello iOS lo surclassa sia sul piano della diffusione, che sul piano... uhm... commerciale. Oltre infatti a miriadi di applicazioni e la diffusione capillare del robottino verde, nonostante Apple abbia dichiarato di recente di amare tutti i suoi utenti (forse in virtù del sesso anale che avviene all'acquisto di un iPhone), quanti software possono vantare una pubblicità del genere? :D
È per questo che adoro questo sistema operativo. Per la comunità. Per la versatilità. Per le scemenze che vengono sfornate per esso, per la sua professionalità molto meno ostentata di quella dei seriosi e asettici prodotti concorrenti :P
Prendo spunto da un post scritto dal buon Lorenzo aka monossido, su una recente dichiarazione di Steve Wozniak, forse l'uomo grazie al quale l'informatica attuale è quello che è, che ha detto testualmente che l'interoperabilità è un male. Un male, si. Ora, io nutro profonda stima per l'uomo che ha inventato l'Apple I, ma cribbio, una scemenza di proporzioni così immense poteva anche risparmiarsela; ma cos'è l'interoperabilità, direte voi?
Ebbene, facciamo degli esempi che aiutino a capire meglio. Interoperabilità significa poter sviluppare per molti hardware e piattaforme: QT è un esempio di software con molta interoperabilità; le librerie QT funzionano tramite C++ prevalentemente, e sono state portate su quasi tutti i sistemi operativi al mondo. Un programma scritto in QT ragionevolmente girerà su un ampio ventaglio di piattaforme, da Linux, a OSX, ad Haiku. Mac OS X invece è il contrario: un pessimo esempio sia di interoperabilità che di portabilità; la parte grafica delle applicazioni si basa sulle librerie Cocoa, disponibili solo per OSX e iOS, e tutto ciò che serve per sviluppare viene fornito direttamente da Apple, dall'SDK al designer di interfacce, interfacce che si basano su un linguaggio di cui onestamente non ho mai sentito parlare in termini di diffusione esponenziale, ossia Objective C.
Ebbene, tralasciando i discorsi senza senso dei fanboy del tipo "se hai una sola piattaforma ottimizzi per quella", secondo Wozniak è un male che noi sviluppiamo per un sistema che va su più dispositivi, perchè a quanto pare ci sono più problemi hardware da prendere in considerazione, non è definito uno standard preciso e a quanto pare gli sviluppatori non amano sfornare codice che poi installato su un dispositivo non perfettamente compatibile potrebbe creare problemi.
Questo è vero. Ma è vero nella misura in cui il ventaglio di device si diversifica a tal punto da includere hardware mastodontico ad un'estremità, nano-hardware all'altra; a quel punto si che ti si creano dei veri problemi. Peccato che per Android queste beghe non ci siano, perchè è un sistema operativo che bene o male garantisce il suo funzionamento su vasta scala grazie a una serie di API appositamente scritte, che riescono a supportare decentemente qualunque tipo di dispositivo io mi ritrovi per le mani, dal mid alla fotocamera. L'unico problema realmente riscontrabile parlando di veri fastidi hardware è un monitor QVGA: ci sono pochi dispositivi in giro che montano questa tecnologia una spanna inferiore, anche se HTC con il suo Wildfire sta migliorando la situazione, dato che proponendo un QVGA come monitor di fascia medio-bassa ne incentiverà l'acquisto, e con una base utenti maggiore gli sviluppatori saranno invogliati a supportare al meglio anche quest'altro tipo di monitor.
Abbiamo dunque visto che con Android, che pure è un OS che supporta più fasce di prodotto e hardware anche diametralmente opposti, comunque ci si può trovare più che bene sviluppando codice interoperabile. Woz inoltre ha messo a fuoco anche l'aspetto del codice: secondo lui, un programmatore si trova meglio a gestire un solo dispositivo anzichè una vasta gamma. Vorrei ben vedere. Anch'io sarei raggiante nell'andare all'esame di Fondamenti di Informatica e dire al prof che deve mettermi 30 perchè se il programma non gira è colpa del suo PC. Fortunatamente, il mondo non gira secondo queste regole, ma i programmatori sviluppano non solo per loro ma anche per chi gli sta intorno, ed è una soddisfazione quando le persone usano il tuo applicativo. Ed è una soddisfazione anche superare un paio di problemi idioti, rendere il tuo applicativo compatibile con milioni di smartphone al mondo, e godere della sensazione di aver fatto qualcosa di utile per una base utenti veramente consistente, anzichè lasciare la propria idea a ristagnare su tre dispositivi in croce con una base utenti, secondo me, al limite del ridicolo.
Ecco, si, diciamo che queste sono le ragioni per cui io adoro Android, QT, e tutto ciò che si riveli versatile. Perchè versatilità significa interoperabilità, e interoperabilità, caro Woz, significa progresso.