Lo stato della nazione open source

Sono passati ormai cinque anni da quando questa colonna ha cambiato il suo titolo in Open Source, prima che fosse limitato al software per server Unix. L'abbiamo cambiato perché gran parte del software Unix open source che abbiamo trattato era disponibile anche per Windows e Mac, e un mandato più ampio sembrava più sensato.

Lo stato della nazione open source

In questi cinque anni, il software open source è passato da geek a mainstream, quindi ora quasi ogni dispositivo dal computer desktop al server al telefono cellulare esegue alcuni open-source componenti. Dove una volta abbiamo discusso dei kernel Linux e dei web server Apache, ora esaminiamo le applicazioni.

Il software open source è passato da geek a mainstream

Tuttavia, la maggior parte di quei progetti software di sistema open source originali continua e vale la pena aggiornarsi per vedere dove stanno andando.

Linux incarna la filosofia open source, con un seguito devoto che fornisce una forte concorrenza ai sistemi operativi commerciali. In realtà è il kernel di diversi sistemi operativi di successo, fornendo tutti i noiosi servizi come dispositivo e memoria gestione, mentre le parti dell'interfaccia utente con cui le persone interagiscono sono impacchettate in sistemi operativi denominati come Red Hat, SUSE, Ubuntu e il riposo.

Il kernel Linux è veramente open source in quanto non è di proprietà di nessuna singola azienda e ha una vasta comunità di utenti che contribuire alle modifiche del codice, che vanno da sviluppatori solitari attraverso dipartimenti di ricerca universitari a grandi organizzazioni come Google. Ogni livello di contributo è un guadagno per la comunità.

Pinguino Linux

In questi cinque anni, il kernel Linux ha dovuto adattarsi sia all'aumento che alla diminuzione della potenza della macchina. Le macchine desktop sono più potenti che mai, con più CPU multicore, ma dall'altra parte i netbook utilizzano minuscole CPU a basso consumo simili a quelle utilizzate nei telefoni cellulari.

È stata sviluppata un'architettura più complessa in cui il kernel distingue tra "socket" e "core" per gestire raccolte di processi e thread in modo efficiente, e molto del recente sforzo del kernel Linux è andato negli scheduler (il Completely Fair Scheduler) e nella pagina di memoria di basso livello gestione. Il kernel ha più o meno lo stesso problema di cinque anni fa; vale a dire, fornitura di driver di dispositivo (in particolare per dispositivi wireless), sebbene la maggior parte dei grandi produttori ora supporti Linux in dispositivi destinati al mercato dei server.

Il prossimo grande cambiamento in Linux riguarderà i suoi file system. Abbiamo elogiato molto il file system ZFS di Sun in queste pagine, ma sebbene abbia avuto un certo successo, non si è realmente diffuso oltre il sistema operativo Solaris di Sun. Ha fatto una breve apparizione in OS X di Apple ma ora sembra essere nuovamente scomparso, probabilmente a causa di una controversia legale.

Tuttavia, Linux sta per acquisire un file system simile chiamato Btrfs (pronunciato "Butter FS" o "B-tree FS"). In una tipica catena di coincidenze, Btrfs è stato originariamente fornito da Oracle, che ora possiede Sun e quindi ZFS.

Btrfs ha molte delle caratteristiche di ZFS, e in particolare rimuove la stratificazione che si trova in altri file system, rendendolo molto più facile da gestire. La sua architettura "copia su scrittura" significa che le istantanee del file system sono in effetti gratuite, con un overheard molto basso, mentre il formato del disco sottostante utilizza checksum per garantire che tutti i dati siano archiviati in modo coerente, eliminando la necessità di verificare l'integrità dei file dopo un arresto anomalo di altri file system soffrire. Btrfs è già disponibile in alcune distribuzioni Linux e funziona.