Linux, come derivazione di Unix, ha naturalmente molto in comune con i BSD. Come BSD, le distribuzioni Linux sono anche gratuite e open-source. Nonostante le somiglianze fondamentali, Linux ha in gran parte messo in ombra i BSD in popolarità, con oltre il 74% degli smartphone moderni a base di Linux.
Quindi ciò pone la domanda: se BSD e Linux sono solo iterazioni della ricerca UNIX, cosa li rende esattamente diversi?
Bene, le differenze tra le due bugie nei fondamenti e le differenze sono molte. Ma leggerli tutti in un singolo post sarebbe piuttosto noioso per i lettori. Quindi, questo post si concentrerà esclusivamente sui fondamenti e lascerà gli intricati dettagli per il bene della brevità e per non intimidire i nuovi lettori.
Ma ciò che è Linux, davvero?
La prima cosa che molte persone sbagliano è che Linux è un kernel, non un sistema operativo. Quindi questo lo rende solo una parte del sistema operativo, non il sistema operativo.
Discutiamo per un secondo. I kernel fungono da perno in qualsiasi sistema operativo, in quanto conserva tutto il codice sottostante su cui si trova quel sistema operativo. Abilita e accelera l'interazione tra i componenti hardware e software di un sistema, gestisce le sue richieste di input/output da e verso le applicazioni software ed è responsabile della gestione anche dei dispositivi hardware.
In breve, un kernel è la caratteristica più integrale di qualsiasi sistema operativo su cui si basa, e viene quindi ritirato in una parte altamente protettiva nella memoria del sistema in cui qualsiasi richiesta di accesso dalle applicazioni viene negata, vietato alcuni che sono integrali al funzionamento del sistema.
Ora che capiamo cos'è un kernel, possiamo andare avanti e vedere cosa fa Linux, come un kernel, nel sistema operativo.
Kernel Linux all'interno di un sistema operativo
Tra i sistemi operativi a base di Linux più popolari ci sono Debian, Ubuntu, Fedora e Deepin. Quindi, ogni volta che senti qualcuno dire di usare Linux, sappi che in realtà è una di queste distribuzioni. Queste distribuzioni sono "basate su Linux" perché sono costruite sul kernel Linux. La modifica del kernel insieme alle nuove applicazioni caricate in esso rendono ogni distribuzione diversa da un'altra.
Cos'è BSD e come è diverso da Linux?
Come accennato in precedenza, le diverse distribuzioni di BSD sono tutte sistemi operativi. E questo rende BSD, come Linux, un kernel.
Ma per rendere le cose complicate, BSD è anche un sistema operativo autonomo, che Linux non lo è. Spiegiamo come esattamente.
Per le distribuzioni BSD, diversi programmi vengono aggiunti al kernel BSD. Questa combinazione viene quindi rilasciata come un pacchetto completo e completo che deve essere installato e la cosa è pronta per andare. Quindi, la differenza fondamentale tra le distribuzioni BSD come FreeBSD, OpenBSD, ecc., è a causa dei programmi aggiunti al sistema operativo del kernel. Per scaricare pacchetti software aggiuntivi, gli utenti BSD utilizzano il sistema delle porte, che mantiene questi pacchetti in forma di origine. Il codice sorgente viene compilato dal sistema ogni volta che viene lanciato il software. Sebbene ciò possa rivelarsi ingombrante, specialmente quando si eseguono codici più lunghi e più intricati, i sistemi BSD possono saltare il passo della compilation ad ogni lancio interamente se il programma è installato in uno stato binario, alleviando così il processo in larga misura.
Linux è diverso dal BSD nel riguardo che ciascuna delle sue distribuzioni utilizza programmi completamente diversi e che le distribuzioni non hanno un repository centralizzato per i pacchetti software, poiché ogni distribuzione ha il proprio repository.
Differenze nelle licenze
Una delle differenze fondamentali tra BSD e Linux è quella del sistema di licenze in base al quale vengono rilasciate le loro distribuzioni.
Quando si scarica il software dal repository delle porte in BSD o si installa una distribuzione nel suo insieme, il software o la distribuzione viene assegnato all'utente con la licenza BSD, che è un sistema di licenza personalizzato utilizzato dagli sviluppatori BSD. Mentre BSD è completamente open-source e gratuito per ora, il sistema di licenze BSD consente agli sviluppatori di dichiarare la source chiusa BSD in un momento. Come utente FreeBSD, non hai legalmente il diritto di ulteriori rilasci da BSD Devs. Tuttavia, gli sviluppatori di BSD hanno reso pubblico che hanno tutte le intenzioni di mantenerlo open-source in futuro.
Le distribuzioni Linux sono rilasciate sotto la licenza GENUL Public GNU (GPL). In base a questo sistema di licenze, gli sviluppatori Linux sono legalmente costretti a rilasciare ogni singola istanza di modifiche apportate al kernel Linux. Il sistema di licenze, in sostanza, si assicura che Linux rimanga open-source, indipendentemente dalle modifiche al kernel stesso.
Perché Linux è più popolare? (Spoiler: disponibilità del software)
Se ti stai chiedendo tutto questo tempo perché non hai sentito parlare di BSD tanto quanto hai sentito parlare delle distribuzioni Linux, ecco perché: quando si tratta di compatibilità del software, Linux lo bussa fuori dal parco. Per ogni software fuori c'è una versione compatibile Linux. Questo non è il caso di FreeBSD, che rimane in gran parte trascurato per questo motivo.
Il kernel Linux rende più semplici i programmi software di scrittura e distribuzione rispetto ad altri kernel, quindi gli sviluppatori sono naturalmente inclini a lavorare per le versioni di Linux. La distribuzione, in particolare, è resa ancora più semplice dal sistema di pacchetti binari preinstallati che facilita. Linux consente di scaricare e installare pacchetti software tramite pacchetti come APT, Yum, Pacman, ecc.
Rispetto alla distribuzione del software in Linux, gli utenti BSD hanno molto duramente. I pacchetti software vengono scaricati per la prima volta come codici di origine in BSD tramite il sistema delle porte. Questi codici di origine vengono quindi compilati ogni volta che vengono lanciati, un processo che richiede tempo e frustrante nell'era moderna in cui il software è installato al clic di un pulsante. Questo è altrettanto frustrante per gli sviluppatori, in quanto devono fare molti sforzi per rendere la compilazione il più rapidamente possibile.
Sebbene l'introduzione di pacchetti binari pre-compatiti abbia ampiamente mitigato il processo di ottenere software in FreeBSD, la disponibilità del software rimane ancora un problema enorme per i BSD.
Scegliere tra Linux e BSD
A parte le finestre e iOS più tradizionali, le distribuzioni Linux sono salti e limiti davanti a qualsiasi altro sistema operativo là fuori. È gratuito, open-source e ha tutto da offrire che FreeBSD ha, senza avvertimenti.
BSD e Linux sono molto più comuni di quanto non siano diversi, con le licenze e la distribuzione del software sono le uniche differenze fondamentali. Tuttavia, nonostante le somiglianze, usare uno è un compromesso di un altro.
Da un lato, FreeBSD mantiene una libreria di strumenti e dipendenze in tutte le distribuzioni, rendendo più facile per gli sviluppatori iterare sui contenuti e trovare applicazioni proprie. È qui che FreeBSD ha un notevole vantaggio rispetto a Linux, poiché la suite GNU inclusa con Linux non lo consente.
D'altra parte, la mancanza di compatibilità e disponibilità del software ostacola gravemente l'esperienza con FreeBSD. Questo problema può essere risolto utilizzando il pacchetto di compatibilità Linux, che consente al software Linux di eseguire su distribuzioni BSD, ma questo è un passo in più che ostacola ancora l'esperienza, comunque.
Per quanto riguarda le licenze, la licenza Linux GPL è molto più restrittiva delle licenze BSD. Gli sviluppatori o gli utenti non possono apportare variazioni al kernel Linux o al sourcecode senza renderlo pubblico. Gli utenti BSD non hanno tali obblighi; Quindi gli sviluppatori dovrebbero almeno provare BSD. Essere in grado di mantenere privato il codice sorgente è un notevole vantaggio che Linux non fornisce.
Le licenze per le distribuzioni Linux sono distorte a favore degli utenti, in quanto conferma che qualsiasi sviluppo realizzato per migliorare le applicazioni per il sistema sarà reso disponibile agli utenti. La licenza BSD, d'altra parte, è più simile alle licenze standard, consentendo agli utenti di installare BSD gratuitamente ma non trattengono gli sviluppatori per rendere pubblici i loro contenuti.
La nostra raccomandazione
Consigliamo una distribuzione Linux se hai intenzione di usarla per scopi generali. La sua compatibilità nel software è una ragione sufficiente per consigliarla. Tuttavia, se sei un produttore, BSD è l'opzione giusta per te. Ha un repository centralizzato per il software ed è impagato per la sua affidabilità. E per quanto riguarda le licenze BSD, non dovrai preoccuparti di fare il tuo lavoro aperto.
Se hai optato per il kernel Linux, ti consigliamo di usare Ubuntu. Viene regolarmente aggiornato ogni sei mesi, una coerenza che, secondo me, trova un grande equilibrio tra tenere il passo con i problemi di sicurezza e non frustrare gli utenti.
E se scegli di andare con il kernel BSD, consigliamo FreeBSD, che è in generale la distribuzione più comunemente usata di BSD là fuori.