Quel OS *BSD utiliser ? PC-BSD ? FreeBSD ? OpenBSD ? NetBSD ?

Je fais ici un petit résumé de connaissances sur les quatre principaux BSD existants, pour un peu clarifier les questions que l’on ma souvent posées de part et d’autres, et pour laquelle je n’ai pas forcément trouvé de réponse juste.

Je m’aide amplement d’articles de Wikipédia.

D’abord, qu’est-ce que BSD ?

Berkeley Software Distribution, abrégé en BSD, désigne en informatique une famille de systèmes d’exploitation Unix, développés à l’université de Berkeley par un groupe de programmeurs : Bill Joy, Marshall Kirk McKusick, Kenneth Thompson etc.

Les systèmes BSD sont réputés pour leur organisation et leurs performances dans leurs domaines de prédilection : la fiabilité en tant que serveur pour FreeBSD, la portabilité pour NetBSD et la sécurité pour OpenBSD. Leur stabilité exceptionnelle leur permet de fonctionner sans s’arrêter ni redémarrer durant des périodes extrêmement longues (plusieurs années).

Il faut aussi savoir que BSD est aussi une licence, au même titre que la licence GPL. En gros, la licence BSD est plus « laxiste » que la GPL, dans la mesure ou elle n’oblige pas le code créé à partir d’un code BSD à être lui-même BSD.

La licence BSD (Berkeley software distribution license) est une licence libre utilisée pour la distribution de logiciels. Elle permet de réutiliser tout ou partie du logiciel sans restriction, qu’il soit intégré dans un logiciel libre ou propriétaire.

La version originale de la licence BSD incluait une clause de publicité particulièrement contraignante qui obligeait la mention du copyright dans toute publicité ou document fourni avec le logiciel, ce qui pouvait provoquer quelques problèmes en cas d’utilisation d’un grand nombre de composants sous cette licence. La nouvelle version de cette licence ne contient pas cette clause de publicité.

Le code source publié sous licence BSD peut être incorporé dans des solutions propriétaires. Parmi les exemples notoires, on peut citer l’utilisation par Sun de code réseau sous BSD, et des composants en provenance de FreeBSD dans Mac OS X.

Le code sous licence BSD peut être publié sous licence GPL sans le consentement des auteurs originaux puisque les termes de la licence GPL respectent tous ceux de la licence BSD. Néanmoins la redistribution doit tenir compte de la première clause de la licence BSD. De plus Theo de Raadt (leader d’OpenBSD) pense que l’on ne peut décider de la licence d’un logiciel que si l’on est l’auteur (ou un des auteurs) du code en question. Si un auteur A écrit un code en licence BSD, qu’un deuxième auteur B apporte des changements significatifs, alors il peut choisir de mettre son code sous GPL. Mais le code de A serait toujours sous licence BSD.

Par contre: du code sous licence GPL ne peut pas être mis sous licence BSD sans l’autorisation des auteurs car la licence BSD ne respecte pas toutes les contraintes imposées par la licence GPL. En publiant du code GPL sous licence BSD, on autoriserait par exemple la redistribution sans fournir le code source alors que c’est interdit par les termes de la licence GPL.

Maintenant, faisons un petit tour du propriétaire pour voir en gros quelles sont les particularités de chaque déclinaison. Après chaque présentation, je résumerai en quelques mots à qui et à quelle utilisation la distribution correspond.

FreeBSD

FreeBSD est un système d’exploitation UNIX libre. Le nom vient de l’association d’une part de free qui signifie à la fois libre (liberté) et gratuit dans l’anglais courant, et d’autre part de BSD (Berkeley Software Distribution), l’UNIX® développé à l’Université Berkeley de Californie. Free prend un sens plus connoté dans ce nom : il signifie que le logiciel peut être utilisé gratuitement même pour un usage commercial, que les sources complètes sont disponibles et utilisables avec un minimum de restrictions quant à leur usage, leur distribution et leur incorporation dans un autre projet (commercial ou non), et enfin que n’importe qui est libre de soumettre son code source pour enlever un bogue (bug) ou améliorer le logiciel, ce code étant incorporé aux sources après accord.

L’objectif du projet FreeBSD est de fournir un logiciel pour n’importe quelle utilisation, ce avec le moins de restrictions possibles.

FreeBSD offre des possibilités avancées en terme de réseau, performance, sécurité et compatibilité. Il y a notamment une compatibilité binaire Linux et Windows NT (XP inclus). La première permet l’exécution de programmes compilés Linux, la seconde permet l’utilisation des pilotes Windows NT des cartes réseau local sans fil Wi-Fi ou AirPort (WiFi d’Apple). Le logiciel est un standard industriel sur le marché des serveurs. De nombreux fournisseurs d’accès, hébergeurs et organismes utilisent FreeBSD, parmi lesquels Walnut Creek CDROM, Yahoo! Inc. ou Netcraft.

Donc cette distribution reste la vitrine « grand public » de tous les sytèmes d’exploitation BSD. Le problème, c’est que l’installation n’est pas ce qu’il y a de plus aisé dans la mesure où elle se fait sans réelle interface graphique (l’installation ressemble davantage à celle d’un Ubuntu avec un Alternate CD). Attention tout de même : BSD n’est pas GNU/Linux. Donc on peut être rapidement confronté à des problèmes liés au partitionnement, à l’installation de GRUB, ou à la compatibilité avec l’ext3.

Liens :

PC-BSD

PC-BSD est une distribution fondée sur FreeBSD, un système d’exploitation réputé pour sa robustesse mais à la mise en place peu accessible pour les novices et les utilisateurs venant d’autres systèmes, tels que Microsoft Windows ou Mac OS.

PC-BSD n’est pas une version modifiée (fork) de FreeBSD. Il se présente plutôt comme une couche supplémentaire, permettant d’installer facilement un environnement bureautique prêt à l’emploi. Elle est disponible sur pour les processeurs 32 Bits et 64 Bits.

L’installation se fait en mode graphique, proposant l’environnement KDE par défaut. PC-BSD possède son propre système de paquetages, les PBI. L’installation et la désinstallation des PC-BSD Installer est rendue très aisée par l’intégration des bibliothèques dont dépendent les logiciels et par le gestionnaire de programmes installés. Néanmoins il est toujours possible d’installer les logiciels par l’intermédiaire des ports à la manière de FreeBSD.

Le système est maintenant pleinement fonctionnel et la version stable actuelle est la 1.5.1, sortie le 23 avril 2008, elle est fondée sur FreeBSD 6.3.

Ainsi, PC-BSD n’est autre qu’un FreeBSD (donc un système d’exploitation de bureau ou « Desktop ») sur lequel on a rajouté l’option « LiveCD ». Donc cette distribution est la plus facile que l’on puisse installer, dans la mesure où l’interface graphique aide beaucoup à s’y retrouver. C’est celle que je recommende à qui n’est pas sûr de pouvoir s’y retrouver avec FreeBSD et considère ne pas avoir assez de connaissances informatiques, tout en voulant quand même profiter des énormes avantages des systèmes BSD.

Brackbabord a fait un très bon billet à propos de son expérience sur PC-BSD.

Liens :

NetBSD

NetBSD est un système d’exploitation libre de type unix BSD dérivé de 386BSD et de Net/2 (4.3BSD-Lite).

NetBSD est le système d’exploitation le plus porté (une cinquantaine d’architectures différentes) ; cette portabilité est d’ailleurs sa grande fierté : sa devise est que face à tout ordinateur, on peut déclarer « Bien sûr, NetBSD tourne dessus » (« Of course it runs NetBSD »). C’est un système entièrement fondé sur les logiciels libres, la plupart des composants étant soumis à la Licence BSD. Le projet met fortement l’accent sur la qualité du code écrit (« Solutions, not hacks »), ce qui le rapproche plus de la cathédrale que du bazar en terme d’architecture. NetBSD est « admin friendly » plutôt que « user friendly », ainsi le support des périphériques et leur intégration est en deçà des distributions Linux grand public. Cependant pour un programmeur ou un administrateur système, le système est bien plus facile à appréhender. Toutes les interfaces du noyau et les pilotes sont documentés dans des pages man, et non dans des fichiers textes éparpillés en divers endroits.

A partir de n’importe quelle installation de NetBSD, il est possible à partir d’une seule commande make, de reconstruire l’ensemble de la distribution NetBSD pour n’importe quelle architecture, compilateur compris. Il est même possible de compiler une distribution NetBSD depuis FreeBSD ou Linux. Ainsi il est possible à partir d’un système intel i386, de compiler très facilement un noyau pour PowerPC, Alpha, MIPS, le script de compilation croisée build.sh se chargeant lui-même de la compilation de toutes les dépendances requises. Ceci fait de NetBSD un système de choix pour le développement de systèmes embarqués (routeurs, firewalls, caméra video IP, et même robot dansant et toaster)

Bref : si vous n’avez pas de très solides connaissances en Réseau et Système Informatique, ce n’est même pas la peine d’y toucher. NetBSD est fait pour les systèmes professionnels, et pas pour utiliser tous les jours.

Liens :

OpenBSD

OpenBSD est un système d’exploitation libre de type Unix, dérivé de 4.4BSD. Créé en 1994 par Theo de Raadt, OpenBSD est issu de la séparation avec NetBSD, le plus ancien des trois autres principaux systèmes d’exploitation de la famille des BSD aujourd’hui en activité. Le projet OpenBSD est réputé pour son intransigeance sur la liberté du logiciel et du code source, la qualité de sa documentation, et l’importance accordée à la sécurité et la cryptographie intégrée.

OpenBSD inclut un certain nombre de mesures de sécurité absentes ou optionnelles dans d’autres systèmes d’exploitation. Ses développeurs ont pour tradition de réaliser des audits de code à la recherche de problèmes de sécurité et de bogues. Le projet suit des politiques strictes sur les licences et préfère la licence open source BSD et ses variantes : dans le passé, ceci a conduit à un audit exhaustif des licences et des remplacements, voire des suppressions de codes sous licences considérées comme moins acceptables.

À l’instar de la plupart des systèmes d’exploitation basés sur BSD, le noyau d’OpenBSD et ses programmes utilisateurs, tels que le shell et les outils habituels comme cat et ps, sont développés dans un seul et même dépôt CVS. Les logiciels tiers sont offerts en paquets binaires, ou peuvent être compilés depuis leurs sources grâce à la collection des ports.

Le projet est coordonné par Theo de Raadt de sa maison à Calgary, Alberta, Canada, et la mascotte du projet est Puffy, un poisson-lune.

Donc on l’aura compris, OpenBSD est très d’un niveau très élevé, autant en terme de connaissances nécessaires pour le maitriser, q’en terme de sécurité et stabilité. Il est fait pour fonctionner sur les serveurs ou les ordinateurs ne pouvant se permettre de redemarrer, de s’arrêter (par exemple : Banques, systèmes temps réel, etc.).

Liens :

Maintenant que je suis lancé, je vais faire un petit dernier :

Solaris (Sun OS)

Solaris est le système d’exploitation UNIX propriétaire de Sun Microsystems.

Le système était d’abord nommé SunOS. En février 1991, le système d’exploitation complet fut nommé commercialement Solaris 1 alors que SunOS ne représentait plus que le noyau (SunOS 4).

Après Solaris 2.6, Sun Microsystems décida de changer à nouveau la numérotation de ses versions en supprimant le premier chiffre afin de nommer Solaris 7. La dernière version est Solaris 10 (SunOS 5.10), sortie en janvier 2005. Elle apporte entre autres les zones (partitionnement logique), ainsi que l’exécution native des binaires Linux sur plateforme x86. Un système d’exploitation (sous Licence CDDL) fondé sur un morceau de Solaris est disponible : OpenSolaris.

En plus de ces versions peu fréquentes (autrefois tous les ans, maintenant tous les deux ans), le système est réédité environ tous les trois mois en incluant toutes les corrections disponibles, de nouvelles fonctionnalités ainsi que le support des materiels récents. Ces versions sont indiqués sous la forme /.

Solaris fut développé pour les stations de travail Sun à base de processeur Motorola 68000, puis SPARC à partir de 1989, mais également pour les architectures PPC et x86.

Depuis les années 1990, l’UNIX de Sun a intégré la gestion de thread et des architectures Symmetric multiprocessing (SMP), serveurs intégrant plusieurs processeurs. Aujourd’hui, les architectures SPARC V9, x86 et x86-64 sont supportées sur des serveurs allant jusqu’à 128 processeurs.

Alors il faut savoir que Sun utilise Solaris dans les serveurs qu’elle commercialise. Je ne connais pas actuellement d’autres utilisation (si vous en connaissez, n’hésitez pas à laisser un commentaire !).

Liens :

Finalement, pour être vraiment complet, il en manque un, que je met ici.

OpenSolaris

OpenSolaris est un projet de système d’exploitation libre commandité par Sun Microsystems. Il est initialement basé sur un morceau du code source de Solaris dont il conserve le noyau, le support réseau, les bibliothèques et les commandes.

Le principe de base est de réunir une communauté de développeurs Sun et non-Sun afin de créer et tester des outils, qui seront implémentés dans les futures versions de Solaris.

La licence utilisée est la CDDL 1.0, proche de la MPL. Bien qu’incompatible avec la GPL, cette licence est libre au sens de la FSF, elle est cependant déconseillée. Elle est considérée comme open source par l’OSI.

Solaris Express : Il s’agit de la version disponible pour les utilisateurs, afin de tester les toutes dernières technologies implémentées, mais qui ne font pas encore parties du code source fourni au projet OpenSolaris. Disponible tous les mois, gratuitement en version binaire.

Solaris Express Community Release : Il s’agit de la version disponible pour les développeurs afin de tester les toutes dernières technologies qui ne font pas encore parties d’OpenSolaris. Ils peuvent compiler le code source d’OpenSolaris pour avoir leurs propres versions. Nom de code Nevada, cette version est disponible toutes les deux semaines.

OpenSolaris : Il s’agit de la base pour le développement de Solaris. Actuellement, cela consiste en plusieurs projets de consolidation du système. On peut d’ores et déjà constater les projets implémentés, et voir quels seront les prochains à être ajouté via le roadmap du site officiel. Il n’est pas encore possible avec cette base d’amorcer (au sens informatique du terme Bootstrap) le système entier depuis une compilation, donc les développeurs commencent par télécharger les distributions (telles que Solaris Express Nevada ou bien NexentaOS et BeleniX qui sont des liveCD) et de compiler puis installer la base OpenSolaris.

Liens :

2 réflexions sur « Quel OS *BSD utiliser ? PC-BSD ? FreeBSD ? OpenBSD ? NetBSD ? »

  1. J’ai lu avec intérêt votre article « Quel OS *BSD utiliser… »
    Il est daté 2008, mais reste toujours pertinent. C’est une très bonne synthèse. Le choix des systèmes présentés est judicieux, même si on peut se demander ce que fait OpenSolaris ici… certes c’est lui aussi un vrai Unix libre (contrairement aux Linux, dont le noyau est une réécriture d’Unix).

    Je suis moi-même un grand fanatique des BSD depuis plusieurs années ; notamment, j’ai un FreeBSD qui fait office de serveur de fichiers et de sauvegardes, et mon portable de tous les jours est sous OpenBSD (et oui, c’est possible).

    Concernant l’article, je voudrais juste apporter quelques précisions.
    1. Vous écrivez : « Ainsi, PC-BSD n’est autre qu’un FreeBSD (donc un système d’exploitation de bureau ou « Desktop ») sur lequel on a rajouté l’option « LiveCD ». »
    FreeBSD n’est pas orienté Desktop. C’est au départ un serveur (comme NetBSD et OpenBSD d’ailleurs), que l’on peut customiser en Desktop moyennant ‘un peu’ de travail. Et donc, PC-BSD n’est pas simplement un FreeBSD + LiveCD, mais plutôt un FreeBSD + bureau-tout-prêt, c’est à dire qu’il n’y a pas à galérer des heures à configurer le son, la video and so on… L’option LiveCD est intéressante, mais pas essentielle.
    2. Juste après, vous dites : « Donc cette distribution [PC-BSD] est la plus facile que l’on puisse installer ».
    Bon d’accord, PC-BSD est peut-être une distribution, mais FreeBSD, NetBSD et OpenBSD n’en sont assurément pas. Les BSD sont des ensembles tout prêts (noyau + userland) auxquels on peut ajouter des packages tierces ; tout ceci est soigneusement testé et validé (sécurité, performance, doc…) par chacun des 3 projets, ce qui en fait des systèmes très stables. Il n’y a pas de comparaison avec les « distributions » Linux, dans lesquelles le niveau de cohérence des BSD n’est pas atteint (liens entre les packages, documentation…). Vous l’avez compris, je préfère réserver le mot distribution à Linux.

    Voilà, ne prenez pas ça pour des critiques, mais pour des tuyaux pour aider 🙂
    Longue vie à votre blog sympa !
    Laurent

    RépondreRépondre
  2. Hello 🙂

    Au cas où quelqu’un tomberait sur cet article, je donne quelques infos supplémentaires vu que nous sommes en 2014 et que les *.BSD ont changés depuis ton article:

    * FreeBSD a fortement évolué (à tous les niveaux: kernel, userland, réseau, sécurité…) notamment avec le passage en 10.0-RELEASE en janvier dernier:

    – nouveau logiciel de gestion des paquets (pkgng) qui remplace les vénérables pkg_add, pkg_delete etc…
    – clang est désormais le compilateur par défaut, à la place de GCC qui est cependant toujours intégré au système
    – l’installateur bsdinstall a été revu et est désormais nettement plus simple à utiliser
    – intégration du remarquable logiciel de virtualisation Bhyve (BSD Hypervisor)
    – support des plates formes ARM (Raspeberry etc)
    – utilisation de ZFS possible à l’installation (via bsdinstall)
    – make a été remplacé par bmake le « Portable BSD make tool » importé de NetBSD

    et encore bien d’autres améliorations (voir la release note ici: https://www.freebsd.org/releases/10.0R/relnotes.html)

    A noter aussi que FreeBSD est également devenu très souple et plus accessible en installation desktop.

    * PCBSD a évolué en parallèle avec FreeBSD (quand celle passe en version suivante, PCBSD suit d’office ce changement). Son utilisation est devenue très simple, elle peut désormais rivalisée avec les distros GNU/Linux les plus accessibles aux débutants (Linux Mint etc…). PCBSD propose d’autres d’environnements de bureau: outre les traditionnels KDE et GNOME, le système intègre également: Fluxbox, Mate, Cinnamon, LXDE et un environnement de bureau, Lumina, spécialement créé pour FreeBSD et PCBSD.

    * OpenBSD a également connu une évolution intéressante, notamment dans son setup qui propose désormais une installation plus facile

    – Le projet a réagi avec la violente faille qui a touché OpenSSL en avril dernier, en forkant ce dernier pour créer LibreSSL, dont le code a été revu, nettoyé et est devenu plus conforme aux bonnes pratiques de la programmation, si chères aux développeurs d’OpenBSD.
    – Tout comme FreeBSD, OpenBSD est devenu plus souple en utilisation desktop.

    La version actuelle est la 5.5, sortie le 01/05 dernier. La prochaine version, 5.6., sortira cette semaine: le 01/11 (les passages en version mineures ou majeures se font très précisément tous les 6 mois, le 01/05 et le 01/11).

    * NetBSD: des 4 versions majeures des *.BSD, NetBSD est le système qui propose la plus grande diversité au niveau du support matériel. La version actuelle est la 6.1.5. Je ne connais pas du tout ce système dont je préfère ne pas en parler pour ne pas dire de bêtises.

    Pour conclure, depuis septembre 2013 il existe un show TV consacré au monde des *.BSD. Il est présenté par Kris Moore (fondateur de PCBSD) et Allan Jude (qui fait notamment partie des mainteneurs de la doc FreeBSD). Au programme: news, tutoriels, interviews, questions/réponses. L’émission est très barbue donc parfois difficile à comprendre mais c’est un show très agréable à suivre et dynamique. Il est visible en direct tous les mercredis à 20h, et est également téléchargeable en podcast. Ca se passe ici: http://www.bsdnow.tv/

    On peut également interagir avec des développeurs BSD via le canal IRC de la GCU-Squad, où on trouve entre autre iMil (créateur de pkgin sous NetBSD), Moid (développeur OpenBSD qui a travaillé notamment sur LibreSSL) et bapt (créateur de pkgng sous FreeBSD).

    RépondreRépondre

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.