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?
4.2. Comment BSD est-il développé et mis à jour?
Un grand nombre de développeurs à travers le monde contribuent à l'amélioration de BSD. Ils sont divisés en trois catégories:
- Les contributeurs écrivent le code ou la documentation. Ils ne sont pas autorisés à « commiter » (ajouter du code) directement dans l'arbre des sources. Pour que leur code soit intégré au système, il doit être examiné et contrôlé par un développeur enregistré, connu en tant que committer.
- Les committers sont des
développeurs qui ont un droit d'écriture
dans l'arbre des sources. Pour devenir committer, une
personne doit démontrer ses compétences dans
le domaine où elle travaille.
Il est à la discrétion du committer de déterminer si il doit obtenir l'autorisation avant d'intégrer des changements dans l'arbre des sources. En général, un committer expérimenté a la possibilité de faire des changements qui sont manifestement corrects sans qu'un consensus soit nécessaire. Par exemple, un committer du projet de documentation peut corriger des erreurs typographiques ou grammaticales sans relecture. D'un autre côté, les développeurs effectuant des changements complexes d'une grande portée sont supposés soumettre leur code pour relecture avant de l'intégrer. Dans des cas extrêmes, un membre de la « core team » (équipe de base) avec le titre d'architecte principal peut exiger que les changements soient retirés de l'arbre des sources, un processus connu sous le nom de backing out. Tous les committers reçoivent des courriers électroniques décrivant chaque modification, il est donc impossible de d'effectuer des changements de manière secrète. - La Core team (équipe de base). Les projets FreeBSD et NetBSD ont chacun une équipe de base qui gère le projet. Ces équipes ont été constituées dans le cadre des projets, et leur rôle n'est pas toujours bien défini. Il n'est pas nécessaire d'être un développeur pour être membre de la core team, bien que cela semble normal. Les règles de cette équipe varient d'un projet à l'autre, mais ses membres ont une parole plus forte dans la direction du projet que les autres développeurs ne faisant pas partie de cette équipe.
- 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.
- 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.
- 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.
- 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
- 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.
- 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.
- 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.
4.4. Quelles sont les versions de BSD disponibles?
Il est difficile de classer les objectifs de chaque projet: les différences sont très subjectives. Fondamentalement,
- FreeBSD vise les hautes performances et la simplicité d'utilisation pour l'utilisateur final; il est l'un des système d'exploitation favoris des fournisseurs de contenu sur le Web. Il fonctionne sur de nombreuses plate-formes, incluant les systèmes basés sur les processeurs i386™ (« PC »), AMD 64-bit, UltraSPARC®, Compaq Alpha et les systèmes de type NEC PC-98. Le projet FreeBSD a beaucoup plus d'utilisateurs que les autres projets.
- NetBSD vise la portabilité maximale: son slogan est « of course it runs NetBSD » (« bien sur ça tourne sous NetBSD »). Il fonctionne aussi bien sur des ordinateurs de poche que sur des gros serveurs, et a été utilisé par la NASA dans le cadre de missions spatiales. C'est un très bon choix pour fonctionner sur du vieux matériel non-Intel®.
- OpenBSD vise la sécurité et la pureté du code: il emploie une combinaison de concepts Open Source et une relecture rigoureuse du code pour créer un système qui est manifestement bon, et qui, de fait, est le choix privilégié des organismes conscients des aspects de sécurité, tels que les banques, les bourses de valeurs et les ministères du gouvernement des Etats-Unis d'Amérique. Tout comme NetBSD, il fonctionne sur de nombreuses plate-formes.
- DragonFlyBSD vise les hautes performances et la montée en charge sur n'importe quel système depuis le système mono-processeur jusqu'au système massivement parallélisé. DragonFlyBSD a plusieurs objectifs techniques à long terme, mais est essentiellement axé sur la fourniture d'un système pour les architectures symétriques (SMP) qui soit facile à comprendre, à maintenir, et pour lequel il serait simple de développer.
- BSD/OS est le plus ancien des dérivés de 4.4 BSD. Il n'est pas Open Source, bien que le code source soit disponible à un coût relativement faible. Il ressemble à FreeBSD sur plusieurs aspects. Deux ans après l'acquisition de BSDi par Wind River Systems, BSD/OS échoua dans sa tentative d'exister en tant que produit indépendant. Le support et le code sont encore disponibles chez Wind River, mais tous les nouveaux développements se concentrent sur le système d'exploitation embarqué VxWorks.
- Mac OS® X est la dernière version du système d'exploitation pour les ordinateurs de la lignée Macintosh® d'Apple Computer Inc.. Le cœur BSD de ce système d'exploitation, Darwin, est disponible sous la forme d'un système d'exploitation totalement fonctionnel pour les ordinateurs x86 et PPC. Le système graphique Aqua/Quartz et plusieurs autres éléments propriétaires de Mac OS® X restent cependant à sources fermées. Plusieurs développeurs de Darwin sont aussi des committers de FreeBSD, et vice-versa.
4.5. En quoi la licence BSD diffère-t-elle de la licence publique GNU?
4.6. Que dois-je savoir d'autre?
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?
Il est très difficile de répondre à cette question. Voici quelques éléments de réponse:
- « Si ce n'est pas cassé, ne le réparez pas »: Si vous utilisez déjà un système d'exploitation Open Source, et que vous en êtes content, alors il n'y a probablement aucune bonne raison d'en changer.
- Les systèmes BSD, et plus particulièrement FreeBSD, peuvent avoir de performances notablement supérieures à Linux. Mais pas sur tous les points. Dans la plupart des cas, il y a peu ou pas de différences. Dans certains cas, Linux peut avoir de meilleures performances que FreeBSD.
- En général, les systèmes BSD sont réputés plus fiables, en grande partie en raison d'un code de base plus mature.
- Les projets BSD ont une meilleure réputation en raison de la qualité et l'exhaustivité de leur documentation. Les divers projets de documentation tentent de fournir une documentation constamment mise à jour, en différentes langues, et traitant de tous les aspects du système.
- La licence BSD peut être plus attractive que la GPL.
- BSD peut exécuter la plupart des binaires Linux, alors que Linux ne peut pas executer les binaires BSD. Plusieurs implémentations de BSD peuvent exécuter les binaires issus d'autres systèmes UNIX®. BSD peut donc représenter une voie de migration plus simple depuis les autres systèmes que ne pourrait l'être Linux.
4.8. Qui fournit du support, des services, et de la formation pour BSD?
En plus, chacun des projets dispose d'une liste de consultants à embaucher: FreeBSD, NetBSD, et OpenBSD.