Sia Linux che le varie BSD (Berkeley Software Distributions) sono libere e open-source, con più cose in comune che differenze. Con questo in mente, potreste chiedervi: “Se sono così simili, allora perché esistono? Non sarebbe meglio avere un unico sistema operativo tra cui scegliere?”
Posso rispondere a questa domanda dicendo anche che le loro differenze sono anche molto grandi. Tanto che coprirle tutte trasformerebbe questo articolo in un libro piuttosto che in un semplice articolo. Invece, mi concentrerò sulle basi di entrambi i sistemi open-source in modo che tu possa scegliere da solo quale sia la scelta migliore.
Linux vs BSD
Linux non è tecnicamente considerato un sistema operativo. Invece, in realtà, è solo un kernel. Un kernel è l’aspetto centrale di qualsiasi sistema operativo là fuori e si trova da qualche parte tra il software e l’hardware.
Questo permette al kernel di aiutare l’utente a sfruttare le risorse disponibili in un sistema. Il sistema operativo stesso è costruito sopra il kernel.
Il kernel contro il sistema operativo
Sia Linux che BSD sono sistemi operativi Unix-like. Quando si installa Linux, si sta installando una distribuzione che è costruita utilizzando il kernel Linux. Ci sono diverse distribuzioni tra cui scegliere, come Ubuntu e Debian, che usano tutte il kernel Linux. Diversi programmi sono incorporati nel kernel prima di rendere la distribuzione disponibile sul mercato.
BSD, a differenza di Linux, è un sistema operativo completo. BSD è anche un kernel, usato come nucleo del sistema operativo. Gli sviluppatori BSD useranno quel kernel per aggiungere diversi tipi di programmi, rendendoli disponibili agli utenti come una distribuzione completa. Questo significa che un sistema operativo BSD, come FreeBSD o NetBSD, è il kernel più qualsiasi programma aggiunto sopra di esso e distribuito come un unico pacchetto scaricabile.
BSD usa qualcosa chiamato sistema di porte. Questo sistema è quello che permette l’installazione di pacchetti software. Il software è tenuto in forma di sorgente, il che significa che il vostro computer dovrà compilare i dati ogni volta prima che il software venga eseguito.
Un aspetto positivo in questo è che i pacchetti possono essere installati in uno stato binario pre-installato che permette al tuo sistema di rinunciare alla fase di compilazione dei dati prima dell’esecuzione.
La differenza di base tra entrambi è che le distribuzioni Linux sono dotate di diversi set di programmi e repository, permettendo all’utente di scaricare ulteriori programmi diversi relativi ai requisiti della distribuzione.
Quando si installa un sistema operativo BSD, si ottengono solo i programmi che BSD offre. Questo non è vero per i pacchetti software, in quanto sono disponibili per entrambi, come scoprirete.
Differenze nelle licenze
La maggior parte delle persone potrebbe non preoccuparsi, ma la differenza nelle licenze è effettivamente significativa. Linux usa la GNU General Public License, o GPL. Questo significa che gli sviluppatori possono modificare o aggiungere nuove caratteristiche al kernel Linux a loro piacimento. L’unica fregatura è che tutto il codice sorgente appena sviluppato deve essere rilasciato al pubblico, che lo vogliano o no.
Le BSD usano la loro unica licenza BSD che permette agli sviluppatori di modificare e aggiungere nuove caratteristiche sia al kernel BSD che alla distribuzione, senza la necessità di rilasciare il codice sorgente. Questo significa che un BSD open-source può essere dichiarato closed-source se lo sviluppatore lo decide. Non hanno alcun obbligo di rilasciare il codice sorgente a nessuno.
Disponibilità del software & Compatibilità
Questo è il genere di cose che ha un’influenza diretta sulla popolarità e adattabilità di un sistema operativo al grande pubblico. La capacità di un sistema operativo che sia compatibile con il software moderno può essere una caratteristica che fa la differenza per molte persone.
Per quanto riguarda Linux, è più facile per gli sviluppatori scrivere codice che può essere reso disponibile agli utenti in pacchetti binari precompilati per l’installazione. I pacchetti possono essere installati usando apt, yum e altri gestori di pacchetti simili. La natura open-source di Linux è ciò che rende questa possibilità più facile.
Per gli utenti BSD, il compito non è così semplice. Gli utenti dovranno scaricare i codici sorgente dei programmi dalle migliaia di porte disponibili. Poi, dopo che i codici sorgente sono stati scaricati, dovranno compilarli sul loro sistema.
Questo crea un mal di testa sia per gli utenti BSD che per gli sviluppatori, poiché la mancanza di popolarità tra gli utenti generali può essere attribuita al fastidio extra di compilare i codici sorgente. I pacchetti binari precompilati possono essere visti come l’unica grazia di salvezza per sradicare la seccatura, ma ancora manca la disponibilità di programmi applicativi.
Fare una scelta
Linux è senza dubbio la scelta più popolare tra i sistemi operativi open-source basati su Unix. Tende ad ottenere il supporto hardware molto più velocemente di un BSD e per la maggior parte degli scopi generali, entrambi i sistemi sono troppo simili per avere importanza.
Entrambi i sistemi hanno la loro serie di vantaggi. Dando un’occhiata a FreeBSD, il team di sviluppo mantiene la propria versione di un gran numero di strumenti comuni. Questo permette agli sviluppatori di creare le proprie varianti di strumenti da usare con il loro sistema. Gli strumenti dei sistemi Linux sono principalmente forniti dalla suite GNU, quindi le variazioni sono meno probabili.
BSD ha una grave mancanza di applicazioni. Questo ha portato gli sviluppatori a cercare di controllare la situazione creando un pacchetto di compatibilità Linux, permettendo alle applicazioni Linux di girare su BSD. Le distribuzioni Linux non hanno veri problemi con le applicazioni, dato che ce ne sono molte disponibili al pubblico.
La vera complicazione è l’argomento free-source.
Sviluppatori & Utenti vs Restrizioni
La licenza GPL di Linux tende ad essere più severa con gli sviluppatori, obbligando al rilascio di tutto il codice sorgente modificato. Gli sviluppatori BSD d’altra parte non hanno tali restrizioni. La cosa da tenere a mente è ciò che il pubblico non sviluppatore ottiene da tutto questo.
I produttori potrebbero optare per BSD come sistema operativo di scelta quando creano nuovi dispositivi invece di Linux. Questo permetterebbe loro di tenere per sé le modifiche al codice, dato che l’uso di Linux avrebbe comportato la clausola di rilasciare il codice sorgente al pubblico.
Le restrizioni imposte a Linux dalla loro licenza fornisce a coloro che cercano applicazioni per il sistema l’assicurazione che se ne viene fatta una, vi avranno accesso. La licenza BSD permette ai suoi sviluppatori la scelta di rimanere avidi e con la bocca cucita sulle modifiche del kernel e del sistema, il che significa che anche se qualcosa viene fatto, il pubblico generale potrebbe non avere nemmeno un indizio della sua esistenza.
I sistemi BSD hanno acquisito una migliore reputazione di affidabilità rispetto alla sua controparte Linux. Questo mette un punto sul tabellone per BSD. È anche in grado di eseguire i binari di Linux e rivendica un repository centrale. Entrambe le cose per cui Linux non è noto.