4. Comparer BSD et Linux

Mais quelle est la vraie différence entre, disons, Debian Linux et FreeBSD? Pour l'utilisateur moyen, la différence est étonnamment faible: tous les deux sont des systèmes d'exploitation UNIX®. Tous deux sont développés par des projets non commerciaux (ceci ne s'applique pas à de nombreuses autres distributions Linux). Dans la section qui suit, nous étudierons les systèmes BSD et les comparerons à Linux. La description s'applique plus particulièrement à FreeBSD, qui représente environs 80% des systèmes BSD installés, mais les différences avec NetBSD, OpenBSD et DragonFlyBSD sont minces.

4.1. A qui appartient BSD?

Aucune personne ou société n'est propriétaire de BSD. BSD est créé et distribué par une communauté de contributeurs impliqués et d'une grande expertise technique, situés partout dans le monde. Quelques composants de BSD sont issus d'autres projets Open Source, gérés par d'autres personnes.

4.2. Comment BSD est-il développé et mis à jour?

Les noyaux BSD sont développés et mis à jour suivant les modèle de développement de l'Open Source. Chaque projet maintient un arbre des sources publique et accessible au moyen de Concurrent Versions System (CVS), un système de gestion de version, qui maintient l'ensemble des fichiers du projet, y compris la documentation ainsi que d'autres fichiers. CVS permet aux utilisateurs de faire un “check out” (extraire une copie) de n'importe quelle version du système.

Un grand nombre de développeurs à travers le monde contribuent à l'amélioration de BSD. Ils sont divisés en trois catégories:

Cette organisation diffère de celle de Linux sur de nombreux points:

  1. Aucune personne ne contrôle à elle seule le contenu du système. En pratique, cette différence est surévaluée, puisque l'architecte en chef peut exiger que du code soit retiré, de même que sur le projet Linux plusieurs personnes sont autorisées à effectuer des changements.

  2. D'un autre côté, il y a un dépôt central, un emplacement unique ou vous pouvez trouver l'ensemble des sources du système, y compris toutes les anciennes versions.

  3. Les projets BSD maintiennent l'ensemble du “Système d'Exploitation”, pas seulement le noyau. Cette distinction est peu utile: ni BSD ni Linux ne sont utiles sans applications. Les applications utilisées avec BSD sont bien souvent les mêmes que celles utilisées avec Linux.

  4. En raison de la maintenance structurée d'un seul arbre des sources sous CVS, le développement de BSD est clair, et il est possible d'accéder à n'importe quelle version du système au travers de son numéro de version de publication, ou par date. CVS permets également une mise à jour incrémentale du système: par exemple, le dépôt des sources est mis à jour près de 100 fois par jour. La plupart de ces changements sont mineurs.

4.3. La publication des versions (“releases”) de BSD

FreeBSD, NetBSD et OpenBSD fournissent le système en trois différentes “versions” (“releases”). Tout comme Linux, chaque version se voit assigner un numéro tel que 1.4.1 ou 3.5. De plus, le numéro de version possède un suffixe indiquant son objectif:

  1. La version de développement du système est appelée CURRENT. FreeBSD assigne un numéro à la version CURRENT, par exemple FreeBSD 5.0-CURRENT. NetBSD emploie une méthode de nommage légèrement différente et appose un suffixe d'une seule lettre qui indique des changements dans l'interface interne, par exemple NetBSD 1.4.3G. OpenBSD n'assigne pas de numéro (“OpenBSD-current”). Tous les nouveaux développements du système vont dans cette branche.

  2. A intervalles réguliers, environs deux à quatre fois par an, les projets sortent une version RELEASE du système, qui est disponible sur CD-ROM et gratuitement téléchargeable sur les sites FTP, par exemple OpenBSD 2.6-RELEASE ou NetBSD 1.4-RELEASE. La version RELEASE est destinée aux utilisateurs finaux et est la version normale du système. NetBSD fournit également des correctifs de release avec un troisième chiffre, par exemple NetBSD 1.4.2.

  3. Si des bogues sont découverts dans une version RELEASE, ils sont corrigés, et les correctifs sont incorporés à l'arbre des sources CVS. Sous FreeBSD, la version résultante est appelée version STABLE, alors que NetBSD et OpenBSD continuent à l'appeler version RELEASE. Des fonctions mineures peuvent aussi être ajoutées à la branche après une période de test dans la branche CURRENT.

Par contraste, Linux maintient deux arborescences de code séparées: la version stable et la version de développement. La version stable est nommée avec un numéro de version mineur pair, tel que 2.0, 2.2 or 2.4. La version de développement est quant à elle nommée avec un numéro de version mineur impair, tel que 2.1, 2.3 ou 2.5. Dans chaque cas, ce numéro est suivi par un numéro supplémentaire déterminant la version exacte. Chaque distributeur ajoute en outre ses propres utilitaires et applications utilisateur, ce qui fait que le nom de la distribution est tout aussi important. Chaque fournisseur de distribution assigne des numéros de version à sa distribution; ainsi, une description complète ressemble à quelque chose comme “TurboLinux 6.0 avec le noyau 2.2.14”.

4.4. Quelles sont les versions de BSD disponibles?

En contraste avec le grand nombre de distributions Linux, il n'y a que quatre BSD Open Source. Chaque projet BSD maintient sa propre arborescence des sources et son propre noyau. En pratique, cependant, il y a moins de divergences dans le code de base de ces différents projets que dans Linux.

Il est difficile de classer les objectifs de chaque projet: les différences sont très subjectives. Fondamentalement,

Il existe deux autres systèmes d'exploitation UNIX BSD qui ne sont pas Open Source: BSD/OS et Mac OS® X d'Apple:

4.5. En quoi la licence BSD diffère-t-elle de la licence publique GNU?

Linux est disponible sous licence GNU General Public License (GPL), qui a été conçue pour éliminer les logiciels à code source fermé. En particulier, tout travail dérivé d'un produit fourni sous licence GPL doit également être fourni avec son code source si ce dernier est demandé. A contrario, la licence BSD est moins restrictive: la distribution des binaires seuls est autorisée. Ceci est particulièrement attrayant pour des applications embarquées.

4.6. Que dois-je savoir d'autre?

Dans la mesure où moins d'applications sont disponibles pour BSD que pour Linux, les développeurs BSD ont créé un système de compatibilité avec Linux, qui permet aux programmes Linux de fonctionner sous BSD. Le système inclut à la fois des modifications au niveau du noyau, afin que les appels systèmes Linux se fassent correctement, et les fichiers de compatibilité Linux, tels que la bibliothèque C. Il n'y a pas de différence notable au niveau de la vitesse entre une application Linux exécutée sur une machine Linux et une application Linux exécutée sur une machine BSD de puissance équivalente.

De part sa nature “tout provient d'un même fournisseur”, BSD jouit du fait que les mises à jour sont plus faciles à réaliser que dans bien des cas avec Linux. BSD gère la mise à jour des versions des bibliothèques en fournissant de modules de compatibilité pour des versions de bibliothèques plus anciennes; il est donc possible d'exécuter des binaires vieux de plusieurs années sans aucun problème.

4.7. Lequel dois-je utiliser, BSD ou Linux?

Qu'est-ce que cela signifie en pratique? Qui devrait utiliser BSD et qui devrait utiliser Linux?

Il est très difficile de répondre à cette question. Voici quelques éléments de réponse:

4.8. Qui fournit du support, des services, et de la formation pour BSD?

BSDi / FreeBSD Mall, Inc. fournit du support pour FreeBSD depuis près de 10 ans.

En plus, chacun des projets dispose d'une liste de consultants à embaucher: FreeBSD, NetBSD, et OpenBSD.

Ce document, ainsi que d'autres peut être téléchargé sur ftp.FreeBSD.org/pub/FreeBSD/doc/.

Pour toutes questions à propos de FreeBSD, lisez la documentation avant de contacter <questions@FreeBSD.org>.
Pour les questions sur cette documentation, contactez <doc@FreeBSD.org>.