FreeBSD este un sistem de operare de tip Unix și o iterație a distribuțiilor Unix mai vechi, mai bine cunoscute sub numele de Research Unix. Este open-source și este disponibil publicului în mod gratuit și, de fapt, este doar una dintre numeroasele distribuții Berkeley Software Distributions (prescurtat BSD, de unde și numele sistemului de operare FreeBSD), celelalte iterații notabile fiind OpenBSD, NetBSD și DragonFly BSD.
Linux, ca o derivare a Unix, are, în mod natural, multe în comun cu BSD-urile. Ca și BSD, distribuțiile Linux sunt, de asemenea, libere și open-source. În ciuda asemănărilor fundamentale, Linux a eclipsat în mare măsură BSD-urile în ceea ce privește popularitatea, peste 74% dintre smartphone-urile moderne fiind bazate pe Linux.
Așa că se pune întrebarea: Dacă BSD și Linux sunt doar iterații ale Unix-ului de cercetare, ce anume le face să fie diferite?
Ei bine, diferențele dintre cele două se află în elementele fundamentale, iar diferențele sunt foarte multe. Dar să le citesc pe toate într-un singur post ar fi destul de plictisitor pentru cititori. Prin urmare, această postare se va concentra doar pe elementele fundamentale și va lăsa la o parte detaliile complicate, de dragul conciziei și pentru a nu-i intimida pe noii cititori.
Dar ce este Linux, de fapt?
Primul lucru pe care mulți oameni îl înțeleg greșit este că Linux este un nucleu, nu un sistem de operare. Deci, asta îl face doar o parte a sistemului de operare, nu sistemul de operare în sine.
Să discutăm puțin despre nuclee. Kernel-urile servesc drept pivot în orice sistem de operare, deoarece păstrează tot codul de bază pe care se sprijină acel sistem de operare. Acesta permite și accelerează interacțiunea dintre componentele hardware și software ale unui sistem, gestionează solicitările de intrare/ieșire ale acestuia către și de la aplicațiile software și este responsabil de gestionarea și a dispozitivelor hardware.
În concluzie, un nucleu este caracteristica cea mai integrantă a oricărui sistem de operare pe care se bazează și, prin urmare, este retras într-o parte extrem de protectoare din memoria sistemului, unde orice cerere de acces din partea aplicațiilor este refuzată, cu excepția câtorva care sunt parte integrantă a funcționării sistemului.
Acum că am înțeles ce este un nucleu, putem trece mai departe și să vedem ce face Linux, ca nucleu, în cadrul sistemului de operare.
Nucleul Linux în cadrul unui sistem de operare
Printre cele mai populare sisteme de operare bazate pe Linux se numără Debian, Ubuntu, Fedora și Deepin. Așadar, ori de câte ori auziți pe cineva spunând că folosește Linux, să știți că este vorba, de fapt, de una dintre aceste distribuții. Aceste distribuții sunt „bazate pe Linux” pentru că sunt construite pe nucleul Linux. Modificările aduse nucleului, împreună cu noile aplicații încărcate în el, fac ca fiecare distribuție să fie diferită de alta.
Ce este BSD și în ce fel este diferit de Linux?
După cum am menționat mai devreme, diferitele distribuții de BSD sunt toate sisteme de operare. Și asta face ca BSD, ca și Linux, să fie un nucleu.
Dar, pentru a complica lucrurile, BSD este, de asemenea, un sistem de operare de sine stătător, ceea ce Linux nu este. Să explicăm cum anume.
Pentru distribuțiile BSD, mai multe programe sunt adăugate la nucleul BSD. Această combinație este apoi lansată ca un pachet complet, de sine stătător, care trebuie instalat, iar lucrul este gata de funcționare. Așadar, diferența de bază dintre distribuțiile BSD, cum ar fi FreeBSD, OpenBSD, etc., se datorează programelor adăugate la sistemul de operare kernel. Pentru a descărca pachete software suplimentare, utilizatorii BSD folosesc sistemul de porturi, care păstrează aceste pachete în formă sursă. Codul sursă este compilat de sistem de fiecare dată când software-ul este lansat. Deși acest lucru se poate dovedi a fi greoi, în special atunci când se execută coduri mai lungi și mai complicate, sistemele BSD pot sări peste etapa de compilare la fiecare lansare în întregime dacă programul este instalat în stare binară, ușurând astfel procesul în mare măsură.
Linux este diferit de BSD în ceea ce privește faptul că fiecare dintre distribuțiile sale utilizează programe complet diferite, iar distribuțiile nu au un depozit centralizat pentru pachetele software, fiecare distribuție având propriul depozit.
Diferențe în ceea ce privește licențierea
Una dintre diferențele fundamentale dintre BSD și Linux este cea a sistemului de licențiere sub care sunt lansate distribuțiile lor.
Când descărcați software din depozitul Ports din BSD sau instalați o distribuție ca întreg, software-ul sau distribuția vă este alocată sub licența BSD, care este un sistem de licență personalizat, angajat de dezvoltatorii BSD. Deși BSD este deocamdată complet open-source și gratuit, sistemul de licențiere BSD permite dezvoltatorilor să declare BSD closed-source la un moment dat. În calitate de utilizator FreeBSD, nu aveți dreptul legal de a primi alte versiuni de la dezvoltatorii BSD. Cu toate acestea, dezvoltatorii BSD au făcut public faptul că au toată intenția de a-l menține open-source în viitor.
Distribuțiile Linux sunt publicate sub Licența Publică Generală GNU (GPL). În cadrul acestui sistem de licențiere, dezvoltatorii Linux sunt obligați din punct de vedere legal să publice fiecare exemplu de modificări aduse nucleului Linux. Sistemul de licențiere, în esență, se asigură că Linux rămâne open-source, indiferent de modificările aduse nucleului în sine.
De ce este Linux mai popular? (Spoilere: Disponibilitatea software)
Dacă v-ați întrebat în tot acest timp de ce nu ați auzit despre BSD la fel de mult ca despre distribuțiile Linux, iată de ce: când vine vorba de compatibilitatea software, Linux bate palma. Pentru fiecare software existent există o versiune compatibilă cu Linux. Nu este cazul lui FreeBSD, care rămâne în mare parte neglijat din acest motiv.
Kernelul Linux face ca scrierea și distribuirea programelor software să fie mai simplă în comparație cu alte nuclee, astfel încât dezvoltatorii sunt în mod natural înclinați să lucreze pentru versiunile Linux. Distribuția, în special, este facilitată și mai mult de sistemul de pachete binare preinstalate pe care îl facilitează. Linux permite ca pachetele software să fie descărcate și instalate prin intermediul unor manageri de pachete precum apt, yum, Pacman, etc.
În comparație cu distribuția de software în Linux, utilizatorilor BSD le este mult mai greu. Pachetele software sunt mai întâi descărcate ca și coduri sursă în BSD prin intermediul sistemului de porturi. Aceste coduri sursă sunt apoi compilate de fiecare dată când sunt lansate, un proces care necesită mult timp și este frustrant în epoca modernă, în care software-ul se instalează cu un simplu clic pe un buton. Acest lucru este la fel de frustrant și pentru dezvoltatori, deoarece aceștia trebuie să depună o mulțime de eforturi pentru a face compilarea cât mai repede posibil.
Deși introducerea pachetelor binare precompilate a atenuat în mare măsură procesul de obținere a software-ului în FreeBSD, disponibilitatea software-ului rămâne în continuare o problemă enormă pentru BSD.
Alegerea între Linux și BSD
În afară de cele mai răspândite Windows și IOS, distribuțiile Linux sunt cu mult înaintea oricărui alt sistem de operare existent. Este gratuit, open-source și are tot ce are de oferit FreeBSD, fără avertismente.
BSD și Linux sunt mult mai mult comune decât diferite, licențele și distribuția de software fiind singurele diferențe esențiale. Totuși, în ciuda asemănărilor, utilizarea unuia reprezintă un compromis al celuilalt.
Pe de o parte, FreeBSD menține o bibliotecă de instrumente și dependențe în toate distribuțiile, ceea ce face mai ușor pentru dezvoltatori să itereze asupra conținutului și să vină cu aplicații proprii. Acesta este punctul în care FreeBSD are un avantaj considerabil față de Linux, deoarece suita GNU inclusă în Linux nu permite acest lucru.
Dar, pe de altă parte, lipsa de compatibilitate și de disponibilitate a software-ului îngreunează grav experiența cu FreeBSD. Această problemă poate fi rezolvată prin utilizarea pachetului de compatibilitate Linux, care permite software-ului Linux să ruleze pe distribuții BSD, dar acesta este un pas în plus care totuși îngreunează experiența, cu toate acestea.
În ceea ce privește licențierea, licența Linux GPL este mult mai restrictivă decât licența BSD. Dezvoltatorii sau utilizatorii nu pot face variații ale nucleului Linux sau ale codului sursă fără a le face publice. Utilizatorii BSD nu au astfel de obligații; prin urmare, dezvoltatorii ar trebui cel puțin să încerce BSD. Faptul de a putea păstra codul sursă privat este un avantaj considerabil pe care Linux nu reușește să îl ofere.
Licența pentru distribuțiile Linux este înclinată în favoarea utilizatorilor, deoarece confirmă faptul că orice dezvoltare făcută pentru a îmbunătăți aplicațiile pentru sistem va fi pusă la dispoziția utilizatorilor. Licențierea BSD, pe de altă parte, este mai apropiată de licențierea standard, permițând utilizatorilor să instaleze BSD-uri gratuit, dar nu îi obligă pe dezvoltatori să facă public conținutul lor.
Recomandarea noastră
Vă recomandăm o distribuție Linux dacă aveți de gând să o folosiți în scopuri generale. Compatibilitatea sa software este un motiv suficient pentru ca noi să o recomandăm. Cu toate acestea, dacă sunteți un producător, BSD este opțiunea potrivită pentru dumneavoastră. Dispune de un depozit centralizat pentru software și este bine cotat pentru fiabilitatea sa. Iar în ceea ce privește licențierea BSD, nu va trebui să vă faceți griji cu privire la faptul că trebuie să vă faceți munca open-source.
Dacă ați optat pentru Linux Kernel, vă recomandăm să folosiți Ubuntu. Acesta este actualizat în mod regulat la fiecare șase luni, o consecvență care, în opinia mea, găsește un echilibru excelent între a ține pasul cu problemele de securitate și a nu frustra utilizatorii.
Și dacă optați pentru nucleul BSD, vă recomandăm FreeBSD, care este, în general, cea mai utilizată distribuție BSD existentă.
.