FreeBSD est un système d’exploitation de type Unix et une itération des anciennes distributions Unix plus connues sous le nom de Research Unix. Il est open-source et disponible publiquement et gratuitement, et en fait seulement l’une des nombreuses distributions logicielles Berkeley (abrégé BSD, d’où, le système d’exploitation est nommé FreeBSD), les autres itérations notables étant OpenBSD, NetBSD, et DragonFly BSD.
Linux, en tant que dérivé d’Unix, a naturellement beaucoup en commun avec les BSD. Comme les BSD, les distributions Linux sont également gratuites et open-source. Malgré les similitudes fondamentales, Linux a largement éclipsé les BSD en termes de popularité, plus de 74% des smartphones modernes étant basés sur Linux.
Ce qui amène à se poser la question : Si BSD et Linux ne sont que des itérations d’Unix de recherche, qu’est-ce qui les différencie exactement ?
Eh bien, les différences entre les deux résident dans les fondamentaux, et les différences sont très nombreuses. Mais les lire toutes dans un seul post serait assez fastidieux pour les lecteurs. Par conséquent, ce post se concentrera uniquement sur les fondamentaux et laissera de côté les détails complexes pour des raisons de brièveté et pour ne pas intimider les nouveaux lecteurs.
Mais qu’est-ce que Linux, vraiment ?
La première chose que beaucoup de gens se trompent est que Linux est un noyau, pas un système d’exploitation. Cela en fait donc seulement une partie du système d’exploitation, et non le système d’exploitation lui-même.
Discutons un peu des noyaux. Les noyaux servent de pivot dans tout système d’exploitation, car ils conservent tout le code sous-jacent sur lequel repose ce système d’exploitation. Il permet et accélère l’interaction entre les composants matériels et logiciels d’un système, gère ses demandes d’entrée/sortie vers et depuis les applications logicielles, et est responsable de la manipulation des périphériques matériels également.
En bref, un noyau est la caractéristique la plus intégrale de tout système d’exploitation sur lequel il est basé, et est donc rétracté dans une partie hautement protectrice dans la mémoire du système où toute demande d’accès des applications est refusée, à l’exception de quelques-unes qui font partie intégrante du fonctionnement du système.
Maintenant que nous comprenons ce qu’est un noyau, nous pouvons avancer et voir ce que Linux, en tant que noyau, fait dans le système d’exploitation.
Noyau Linux dans un système d’exploitation
Parmi les systèmes d’exploitation basés sur Linux les plus populaires, il y a Debian, Ubuntu, Fedora et Deepin. Ainsi, chaque fois que vous entendez quelqu’un dire qu’il utilise Linux, sachez qu’il s’agit en fait d’une de ces distributions. Ces distributions sont « basées sur Linux » car elles sont construites sur le noyau Linux. Les retouches apportées au noyau ainsi que les nouvelles applications qui y sont chargées rendent chaque distribution différente d’une autre.
Qu’est-ce que BSD, et en quoi est-il différent de Linux ?
Comme mentionné précédemment, les différentes distributions de BSD sont toutes des systèmes d’exploitation. Et cela fait de BSD, comme de Linux, un noyau.
Mais pour compliquer les choses, BSD est aussi un système d’exploitation autonome, ce que Linux n’est pas. Expliquons comment exactement.
Pour les distributions BSD, plusieurs programmes sont ajoutés au noyau BSD. Cette combinaison est ensuite publiée sous la forme d’un paquet complet et autonome qui doit être installé, et la chose est prête à fonctionner. Ainsi, la différence fondamentale entre les distributions BSD telles que FreeBSD, OpenBSD, etc., est due aux programmes ajoutés au noyau du système d’exploitation. Pour télécharger des paquets logiciels supplémentaires, les utilisateurs de BSD utilisent le système de ports, qui conserve ces paquets sous forme de sources. Le code source est compilé par le système à chaque fois que le logiciel est lancé. Bien que cela puisse s’avérer encombrant, en particulier lors de l’exécution de codes plus longs et plus complexes, les systèmes BSD peuvent sauter entièrement l’étape de compilation à chaque lancement si le programme est installé à l’état binaire, allégeant ainsi le processus dans une large mesure.
Linux est différent de BSD en ce qui concerne le fait que chacune de ses distributions utilise des programmes complètement différents, et les distributions n’ont pas de dépôt centralisé pour les paquets logiciels, car chaque distribution a son propre dépôt.
Différences dans les licences
Une des différences fondamentales entre BSD et Linux est celle du système de licence sous lequel leurs distributions sont publiées.
Lorsque vous téléchargez un logiciel à partir du dépôt des ports dans BSD ou que vous installez une distribution dans son ensemble, le logiciel ou la distribution vous est alloué sous la licence BSD, qui est un système de licence personnalisé employé par les développeurs de BSD. Bien que BSD soit complètement open-source et gratuit à ce jour, le système de licence BSD permet aux développeurs de déclarer BSD fermé à tout moment. En tant qu’utilisateur de FreeBSD, vous n’êtes pas légalement autorisé à recevoir de nouvelles versions des développeurs BSD. Cependant, les développeurs de BSD ont rendu public le fait qu’ils ont la ferme intention de le garder open-source à l’avenir.
Les distributions Linux sont publiées sous la licence publique générale GNU (GPL). Dans le cadre de ce système de licence, les développeurs de Linux sont légalement contraints de publier chaque instance des modifications apportées au noyau Linux. Le système de licence, en substance, fait en sorte que Linux reste open-source, quelles que soient les modifications apportées au noyau lui-même.
Pourquoi Linux est-il plus populaire ? (Spoilers : disponibilité des logiciels)
Si vous vous demandez depuis tout ce temps pourquoi vous n’avez pas entendu parler des BSD autant que des distributions Linux, voici pourquoi : en matière de compatibilité logicielle, Linux frappe fort. Pour chaque logiciel existant, il existe une version compatible avec Linux. Ce n’est pas le cas de FreeBSD, qui reste largement négligé pour cette raison.
Le noyau Linux rend l’écriture et la distribution de logiciels plus simples par rapport aux autres noyaux, les développeurs sont donc naturellement enclins à travailler vers des versions Linux. La distribution, en particulier, est rendue encore plus facile par le système de paquets binaires préinstallés qu’il facilite. Linux permet de télécharger et d’installer des paquets logiciels via des gestionnaires de paquets tels que apt, yum, Pacman, etc.
Par rapport à la distribution de logiciels sous Linux, les utilisateurs de BSD ont beaucoup plus de mal. Les paquets logiciels sont d’abord téléchargés sous forme de codes sources dans BSD via le système de ports. Ces codes sources sont ensuite compilés à chaque lancement, un processus à la fois chronophage et frustrant à l’ère moderne où les logiciels sont installés en un clic. C’est également frustrant pour les développeurs, car ils doivent fournir tout un tas d’efforts pour que la compilation soit la plus rapide possible.
Bien que l’introduction de paquets binaires précompilés ait largement atténué le processus d’obtention de logiciels dans FreeBSD, la disponibilité des logiciels reste toujours un énorme problème pour les BSD.
Choisir entre Linux et BSD
En dehors des Windows et IOS plus grand public, les distributions Linux sont à des longueurs d’avance sur tous les autres systèmes d’exploitation existants. Il est gratuit, open-source, et a tout à offrir que FreeBSD a, sans les avertissements.
BSD et Linux sont beaucoup plus communs qu’ils ne sont différents, avec la licence et la distribution de logiciels étant les seules différences de base. Pourtant, malgré les similitudes, l’utilisation de l’un est un compromis d’un autre.
D’une part, FreeBSD maintient une bibliothèque d’outils et de dépendances dans toutes les distributions, ce qui permet aux développeurs d’itérer plus facilement sur le contenu et de proposer leurs propres applications. C’est là que FreeBSD a un avantage considérable sur Linux, car la suite GNU incluse avec Linux ne permet pas cela.
Mais d’un autre côté, le manque de compatibilité et de disponibilité des logiciels entrave sévèrement l’expérience avec FreeBSD. Ce problème peut être résolu en utilisant le paquetage de compatibilité Linux, qui permet aux logiciels Linux de fonctionner sur les distributions BSD, mais c’est une étape supplémentaire qui nuit encore à l’expérience, néanmoins.
En ce qui concerne la licence, la licence Linux GPL est beaucoup plus restrictive que la licence BSD. Les développeurs ou les utilisateurs ne peuvent pas apporter de variations au noyau Linux ou au code source sans le rendre public. Les utilisateurs de BSD n’ont pas de telles obligations ; les développeurs devraient donc au moins essayer BSD. Pouvoir garder le code source privé est un avantage considérable que Linux ne parvient pas à fournir.
La licence des distributions Linux est biaisée en faveur des utilisateurs, car elle confirme que tout développement effectué pour améliorer les applications du système sera mis à la disposition des utilisateurs. La licence BSD, en revanche, s’apparente davantage à la licence standard, permettant aux utilisateurs d’installer des BSD gratuitement mais n’obligeant pas les développeurs à rendre leur contenu public.
Notre recommandation
Nous recommandons une distribution Linux si vous comptez l’utiliser à des fins générales. Sa compatibilité logicielle est une raison suffisante pour que nous la recommandions. Cependant, si vous êtes un fabricant, BSD est la bonne option pour vous. Il dispose d’un référentiel centralisé pour les logiciels et est réputé pour sa fiabilité. Et en ce qui concerne la licence BSD, vous n’aurez pas à vous soucier de rendre votre travail open-source.
Si vous avez opté pour le noyau Linux, nous vous recommandons d’utiliser Ubuntu. Il est régulièrement mis à jour tous les six mois, une constance qui, à mon avis, trouve un excellent équilibre entre le maintien des problèmes de sécurité et le fait de ne pas frustrer les utilisateurs.
Et si vous choisissez d’opter pour le noyau BSD, nous vous recommanderions FreeBSD, qui est dans l’ensemble la distribution de BSD la plus couramment utilisée sur le marché.