Apple e la community open source…
ott/095

In questi giorni, una news scritta per MegaLab.it mi dà l’opportunità di scrivere una mia piccola riflessione qui su AC Magazine. La news in questione è “Richard Stallman attacca Apple e Snow Leopard“, in cui, in sostanza, scrivo dell’ennesima critica del padre del software libero verso Apple ed il mondo del software proprietario.
Mentre scrivevo, non ho potuto fare a meno di pensare: “Ma Apple, quanto collabora con la comunità Open Source?“. In molti eventi Cupertino ha presentato software o tecnologie poi rilasciate sotto licenza open. A cominciare dall’ultimo arrivato, Grand Central Dispatch, “l’algoritmo” che Snow Leopard usa per gestire dinamicamente i processi di un’applicazione, i cui sorgenti sono pubblici. Passiamo poi all’importante Darwin, la base di Mac OS X, anche questo scaricabile direttamente dal sito Apple, e altrettanto liberamente modificabile e ripubblicabile. E, per finire, anche WebKit: il famosissimo motore di rendering open source, derivato dall’incredibile KHTML.
Molti nella rete sono dell’opinione che Apple sia una “sfruttatrice” di software open, nel senso che prende programmi liberi, li modifica a suo piacimento (e fin qui sono nel giusto) ma che poi li includono in altre applicazioni chiuse oppure, nel caso questi fork vengano rilasciati con licenza libera, che la collaborazione che Apple da alla comunità sia pari a zero.
Prendiamo dunque i tre progetti che vi ho elencato sopra (GCD, Darwin e Webkit) e vediamo quanto Cupertino collabori col mondo open source.

Nel primo caso, Grand Central Dispatch, chiamato anche libdispatch, è presente in Snow Leopard ed è disponibile pubblicamente sotto licenza open. Fantastico, direte voi, così possiamo implementarlo in altri sistemi, come Linux!?!? Magari, rispondo io, magari. Perché, come scrive il formidabile ArsTechnica, potrebbero sorgere diversi problemi nella sua implementazioni in altre piattaforme.
In primo luogo, GCD utilizza diverse estensioni del linguaggio C sviluppate da Apple stessa e che non sono disponibili nel GCC originale (o vanilla), e quindi non facilmente compilabili ed applicabili su Linux a meno di non integrare tali tecnologie nel compilatore stesso. Infatti, Apple ha il suo fork di GCC compatibile con tutta ’sta roba.
Sappiate che è comunque una cosa fattibile, visto che queste estensioni sono rilasciate con la licenza MIT, compatibile con la GPL del GCC. Quello che non è compatibile, invece, è proprio libdispatch che, essendo rilasciata con licenza Apache, non è compatibile con la GPLv2 utilizzata dal kernel Linux (è invece utilizzabile in software GPLv3, ndr). Torvalds è sempre stato irremovibile nel non adottare l’ultima versione della General Public License, quindi, bisogna sperare che venga fuori una GPLv4 che “piaccia” a Linus e compatibile con la licenza Apache per poter parlare di GCD su Linux. Un bel casino, no?

Parliamo ora di Darwin, il cuore di Mac OS X: un cocktail tra XNU/Match e FreeBSD, che però funziona a meraviglia per il sistema di Apple. Anche questo rilasciato sotto licenza pubblica (Apple Public Source License). Tempo fa, alcuni temerari sviluppatori, diedero vita al progetto openDarwin, che potremmo definire come una distribuzione GNU/Darwin. Purtroppo però, il progetto fallì. Come ma? Semplice: c’erano pochissime persone disposte a dare una mano (test, sviluppo, ecc..) ed Apple non ha mai (o quasi) collaborato tecnicamente, in termini di aiuti, chiarimenti, documentazione aggiuntiva, qualche sviluppatore, e così via.

Infine, c’è Webkit, il famoso motore di rendering utilizzato da Safari e Chrome (tanto per fare qualche nome), nato come fork di KHTML, il rendering engine di KDE, il famoso ambiente desktop per Linux. Ora credo non si possa più parlare di fork vista la grandezza del progetto, ma di un vero e proprio software a parte. Il progetto è veramente libero, rilasciato sotto LGPL (obbligatoriamente, visto che KHTML è sotto GPL) e la prova si vede nella collaborazione di varie aziende, QtSoftware/Nokia in primis. Tutti possiamo collaborare, Apple collabora pure ed anche parecchio, visto che è nei suoi interessi e visse (per ora) felice e contento. Addirittura, non mi ricordo però dove l’ho letto, sembra che Cupertino mandi (o mandasse) una copia delle patch agli sviluppatori di KDE/KHTML per analizzarle, commentarle ed eventualmente integrarle.
Allora, quanto collabora Apple con la comunità open? Beh, poco, rispetto ad altre aziende (ma è nella norma), e si limita principalmente a collaborare coi progetti che utilizza lei stessa o che possono interessare al suo business. Detto questo, il mio messaggio non vuole essere “boicottate Cupertino”, i suoi prodotti sono magnifici e se vi piacciono, usateli. Semplicemente, non paragonate Apple alla salvatrice del mondo libero.
Ti è piaciuto questo articolo?
Spiacenti, il modulo dei commenti è chiuso per ora.

17:20 on 06 ottobre 2009
In questi termini Apple è peggio di Microsoft: quest’ultima ha sempre ammesso di essere nemica dell’Open Source, Apple invece si comporta da ipocrita.
14:12 on 07 ottobre 2009
Insomma.. Per Microsoft Linux è il cancro, ma poi gli ha regalato 20.000 righe di codice…
17:23 on 07 ottobre 2009
Mi accodo: Apple è peggio di Microsoft.
Chi utilizza i suoi prodotti lo sa bene: un ipod senza itunes è un grazioso ferma carte, stessa cosa per iphone.
Giusto ieri smanettavo con un ipod touch 2g, che nonostante appartenga ormai alla “generazione passata” (visto che è uscito il 3g), per chi lo acquista in questi giorni rivela una “bella” sorpresa.
Infatti adesso nel caso volessimo ripristinarlo alle sue condizioni di fabbrica dovremmo avere, a parte itunes, una connessione internet obbligatoria (e non solo per scaricare itunes, visto che non ci viene dato al momento dell’acquisto) e le porte del firewall necessarie aperte perchè apple ha deciso di fare in modo che ad ogni operazione di ripristino l’ipod comunichi con il server centrale, scarichi delle firme e POI proceda al ripristino. Stamattina dovevo ripristinarlo e avevo problemi con internet.
Che dire? Semplicemente momenti di panico e terrore! E se volessi regalare un ipod a mio cugino che abita in campagna ed ha una misera 56k?
Ovviamente la mela si è anche presa la briga di disabilitare il supporto ai firmware precedenti la versione 3.1 (l’ultima uscita), quindi anche avendo un PROPRIO backup di una VERSIONE UFFICIALE nisba… Manco se lo regalassero…
Poi se aggiungiamo il fatto che per collegarmi allo store e scaricare applicazioni gratuite devo comunque registrarmi e fornire una carta di credito (e se uno non ce l’ha? e se volessi regalare un ipod al mio fratellino di 12 anni?).
Per carità, ottimi prodotti, ottimo design, ma l’idea di fondo è di un prodotto per una èlite che non bada a spese, e alla quale non interessa il fatto di acquistare un prodotto e non poterci fare un po’ quel che acciderbolina (ometto l’aggettivo appropriato che è meglio) gli pare…
Meditate gente, meditate…