FreeBSD

Un article de Wikipédia, l'encyclopédie libre.



FreeBSD
Screenshot of FreeBSD terminal
Page d'accueil de FreeBSD
Famille BSD
Type de noyau Noyau monolithique
État du projet en développement
Plates-formes i386, SPARC, SPARC64, ALPHA, AMD64, ia64, PC98, PowerPC, ARM architecture
Entreprise/
Développeur
The FreeBSD Project
Licence Licence BSD
États des sources Open source
Dernière version stable 7.0-RELEASE
Site Web www.freebsd.org
Principaux systèmes
d'exploitation
BSD
FreeBSD - NetBSD - OpenBSD
DragonFly BSD - PC-BSD
GNU/Linux (Liste)
Debian - Fedora - Gentoo
Mandriva - Red Hat - Slackware
SuSE - Ubuntu
Mac OS
Système 5 - 6 - 7 - 8 - 9
Mac OS X -.0 -.1 -.2 -.3 -.4 -.5- .6 - Server
MS-DOS - Microsoft Windows
1.0 - 2 - 3.x - 95 - 98 - Me
NT - 3.5x - 4.0 - 2000
XP - 2003 - Vista - 2008
Seven (en développement)
Autres
AmigaOS - BeOS - Inferno
LynxOS - Haiku OS - OS/2
QNX - Solaris - UNIX - MVS
OS/360 - OS/390 - OS/400 - Plan 9
ReactOS - VMS - ZETA - FreeDOS

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.

Historiquement les développeurs se sont focalisés pendant un temps sur la plate-forme i386 au sens large (x86) et les performances, c'est-à-dire les temps de réponses du système pour n'importe quelle sollicitation. Actuellement, FreeBSD est utilisable et supporté par la communauté sur un grand nombre de plates-formes : Alpha (HP/Compaq - en cours d'abandon), AMD64, ARM, i386 (architecture i386 ou x86, incluant les Pentium®), ia64 (la famille de processeurs Intel Itanium® et Itanium® 2), MIPS, PC98 (architecture NEC PC-98x1), PowerPC®, SPARC (architecture UltraSPARC® de Sun Microsystem) et Xbox.

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. Le 24 mai 1999, l'équipe du serveur miroir ftp.cdrom.com a annoncé avoir battu la veille leur record de transfert de données par un serveur : 1,33 teraoctets ou 1359 gigaoctets en 24 heures.

Sommaire

[modifier] Histoire

FreeBSD tire ses origines de l'UNIX de Berkeley. Beaucoup de l'organisation humaine, de l'idéologie et des événements du |Computer Systems Research Group sur wiki english (CSRG) est resté dans FreeBSD et se transmet.

Dès 1992 FreeBSD est prêt pour une utilisation de production. L'équipe de Yahoo! cherche encore un système d'exploitation stable et performant. Ils trouvent satisfaction avec FreeBSD 2, qu'ils installent sur un Pentium 100 puis sur l'ensemble de leurs ordinateurs, ce que raconteDavid Filo, cofondateur de Yahoo! Depuis, l'hébergeur met à disposition plusieurs serveurs pour la communauté FreeBSD.

[modifier] L'émancipation

FreeBSD 3 importe du code de 4.4BSD-Lite release 2, qui est la dernière publication faite par l'Université de Californie Berkeley UCB. FreeBSD devient particulièrement mûr et performant avec les versions 4, la dernière (4.11) étant toujours supportée et mise à jour.

Une grande quantité de nouveautés apparaît avec les versions 5, mais Matthew Dillon, en désaccord avec d'autres membres de la core team (les développeurs dirigeants) décide de continuer la version 4 avec une nouvelle équipe sous le nom de DragonFly BSD. Parmi ces nouveautés, on compte : une architecture multiprocesseurs nouvelle génération (SMPng, Symmetrical Multi-Processor scheduler next generation) avec des temps de latences plus courts, la possibilité d'exécuter en mode kernel plusieurs programmes, le système de fichiers UFS2, un système de politiques de sécurité en provenance de Trusted BSD.

Les versions 6 apparaissent depuis novembre 2005. Elles continuent entre autres le travail sur le système SMP (Symmetrical Multi-Processor scheduler), les threads, et la sécurité. Le système de fichiers est maintenant multi-threadé, et les processeurs 386 ne sont plus gérés. Il y aura 3 releases (publications) en 2006 et une en 2007.

Le plan pour l'année 2006 prévoit :

  • 30 janvier : gel des sources des RELENG_5 et RELENG_6 (voir Développement pour la nomenclature)
  • 20 mars : release de FreeBSD 6.1
  • 3 avril : release de FreeBSD 5.5 (dernière release de la série 5)
  • 12 juin : gel de RELENG_6
  • 31 juillet : release de FreeBSD 6.2 (officiellement sorti le 16 janvier 2007)
  • 23 octobre : gel de RELENG_6
  • 11 décembre : release de FreeBSD 6.3 (retardé)

Vers juin 2007, les développeurs se focaliseront sur la 7.0 (release).

[modifier] Développement

Beaucoup est resté de l'époque Berkeley Software Distribution et du CSRG avec - entre autres : de grandes parties des sources, des sources sont publiées avec le système, des décisions prises par un groupe réduit de développeurs.

Les développeurs sont dispersés dans le monde entier, et communiquent par email et messagerie instantanée tel que IRC (Internet Relay Chat).

Les sources de toutes les branches depuis la version 2.2 jusqu'aux dernières expérimentations de CURRENT sont en permanence disponibles sur les serveurs. Il est même possible de télécharger les sources d'une branche telles qu'elles étaient à une date précise.

[modifier] L'équipe

Le développement se fait d'une manière assez hiérarchisée. La core team rassemble des développeurs élus qui décident de l'évolution générale de FreeBSD. Ils sont actuellement 9, et on compte 29 anciens (depuis 1992) qui continuent à contribuer. Les élections se tiennent tous les 2 ans, la dernière était en juillet 2006.

Les autres équipes sont responsables de :

  • la sécurité (7 membres)
  • des releases (une équipe principale et autant d'équipes que de plates-formes)
  • de la documentation
  • de la gestion des ports
  • des dons

Certains développeurs font partie de plusieurs équipes, eg core team et release engineering team.

FreeBSD compte en novembre 2006 :

  • environ 370 développeurs (dont les membres de la core team) qui ont accès en écriture aux sources officielles. Ce sont les FreeBSD committers, terme venant de la commande commit du programme CVS (Concurrent Version System), qui permet de transmettre les modifications sur le serveur central.
  • 1905 contributeurs sans privilèges.
  • un certain nombre d'utilisateurs et testeurs, parmi lesquels des individus, des organismes, des fournisseurs d'accès et des hébergeurs en général.

Il y a régulièrement des importations et exportations de code entre les systèmes BSD (FreeBSD, NetBSD, OpenBSD, DragonflyBSD). Par conséquent, les développeurs BSD en général participent au code des BSD. Il y a plusieurs raisons à cela : tous ont pour ancêtre commun 4.4BSDLite et ont une architecture proche - en moyenne bien plus que deux distributions Linux, et tous ont la même licence BSD. D'autres licences proches comme celle de Solaris permettent également des flux de code. Dtrace, un outil qui permet de voir d'une manière arbitraire tout ce qui se passe dans le système, est en train d'être porté sur FreeBSD :

  • Devon O'Dell a commencé une grande partie du travail (son blog)
  • John Birrell principalement le continue :
    • on peut suivre l'avancement sur la page du projet
    • fin mai 2006, 793 sur 1039 tests que DTrace réalise sous Solaris, réussissent sous FreeBSD

Apple a utilisé une grande partie du système version 5, et a participé en retour à l'ajout de fonctionnalités. Il y a donc une communauté de développeurs FreeBSD - au sens large - très importante.

[modifier] L'organisation

FreeBSD a trois étiquettes pour les sources :

  • HEAD, version en développement sans restriction (version 7 jusqu'à l'été 2007).
  • RELENG_x, version en développement mais à l'architecture fixée.
  • RELENG_x_y est strictement égal à FreeBSD-x.y-STABLE, version de production mise à jour.

Au numéro x correspond donc une architecture ou une branche. Au numéro y correspond une release. Tous les 4 à 6 mois, les sources d'une branche sont gelées pour préparer une release, étiquetée RELEASE.

Pour un système compilé :

  • HEAD devient CURRENT
  • RELENG_x_y devient FreeBSD-x.y-RELEASE au moment de la release, et FreeBSD-x.y-STABLE plus tard (avec les mises à jour).

Au moment d'une release, RELENG_x_y FreeBSD-x.y-RELEASE et FreeBSD-x.y-STABLE sont strictement équivalents. Pour un système FreeBSD de production, les FreeBSD-x.y-STABLE sont les mieux indiqués. FreeBSD-CURRENT est tout à fait expérimental et contient des fonctionnalités qui ne sont que susceptibles d'être présentes dans la prochaine branche. Les personnes qui utilisent FreeBSD-CURRENT sont :

  • les développeurs actifs qui travaillent de manière spécialisée sur les sources
  • les testeurs de la communauté qui participent à l'assainissement de FreeBSD-CURRENT, qui proposent aussi des directions d'évolution de FreeBSD, ainsi que des patches (portions de code source).
  • les personnes qui plutôt suivent l'évolution de FreeBSD, ce qui peut être une activité à plein temps, et éventuellement proposent des patches .

L'organisation du développement et de la communauté font que le support de FreeBSD est très réactif, notamment en matière de sécurité. Quelques minutes ou heures en général séparent la découverte d'une faille dans la sécurité et le moment où les sources sont corrigées sur le serveur principal.

[modifier] Le système

FreeBSD est un système d'exploitation à part entière qui comprend le noyau, une partie utilisateur, et les sources. Les programmes ne faisant pas partie de FreeBSD comme Apache et Firefox sont dans le système de ports. Les logiciels important comme le serveur graphique X11, les gestionnaires de fenêtres comme KDE et FluxBox sont intégrés comme packages (port précompilé) dans les cédéroms de publication de FreeBSD. FreeBSD est publié en grande majorité sous licence BSD, et sous licence GPL (GNU General Public Licence). Les sources protégées par la licence GPL sont dans un répertoire séparé.

[modifier] Les Ports

Il s'agit d'une des grandes forces de FreeBSD. Chaque port est un ensemble de fichiers informatifs précisant où trouver les sources d'une application, éventuellement quelles corrections apporter, comment compiler, et quels sont les programmes ou bibliothèques dont l'application dépend (ces programmes et bibliothèques sont simplement appelées dépendances). Par extension, un port est une application portée sur FreeBSD. Il y a plus de 15000 ports l'été 2006. Chaque port peut être installé sous forme binaire ou package (système équivalent aux fichiers .rpm, .deb, etc. des distributions Linux) ou compilé depuis les dernières sources (équivalent des pkgsrc de NetBSD). Le système est fait de telle manière qu'avec une seule commande, les sources de l'application et des dépendances sont téléchargées, compilées et installées sur le système d'exploitation.

Depuis avril 2006, l'environnement Java de Sun Microsystems est disponible pour les plates-formes PC 32bits (Java Runtime Environment/JRE et Java Development Kit/JDK) en version 1.5. La fondation FreeBSD a négocié une licence auprès de Sun Microsystems pour une distribution précompilée de cet environnement.

[modifier] Projets associés et personnalisations de FreeBSD

  • TrustedBSD est créé en 2000 par Robert Watson, membre de la core team. Il s'agit d'un ensemble d'extensions de FreeBSD et a pour tâche de développer des services de sécurité et d'audit du code source. Régulièrement des éléments de TrustedBSD sont intégrés à FreeBSD.
  • (en) NanoBSD fait partie de FreeBSD. C'est un système FreeBSD de taille très réduite pour un usage spécialisé.
  • PC-BSD est une release 6.1 personnalisée avec une interface d'installation "plus facile".
  • DesktopBSD est une autre personnalisation de FreeBSD qui se focalise sur une utilisation de bureau, opposée à une utilisation comme serveur.

Deux cédéroms avec système utilisable sans installation sur disque dur (LiveCD) existent : d'une part FreeSBIE du groupe italien GUFI, et d'autre part Frenzy BSD, un projet russe documenté en français (Frenzy en français).

[modifier] Pénétration des marchés

FreeBSD est considéré comme un standard industriel dans le marché des serveurs. Il n'y a pas de données maintenues sur les utilisateurs du système d'exploitation, mais des organismes d'observation comme Netcraft (qui a tous ses serveurs sous FreeBSD) permettent d'effectuer des évaluations qualitatives.

De grandes parties d'internet (Netblock owners) sont sous FreeBSD :

  • HotJobs.com Ltd, qui comprend entre autres Yahoo!, Altavista ou Geocities
  • Rackspace.com
  • Isle, Inc
  • Bayerischer Rundfunk
  • Japan Network Information Center
  • ViaNet Communications
  • Hopemoon Co, Ltd
  • Full Internet Provider

D'anciens utilisateurs (ou actuels mais non confirmés) de FreeBSD sur serveurs sont :

  • Microsoft (hotmail)

L'utilisation de FreeBSD pour un usage domestique, sans être confidentielle, est bien plus modérée auprès du grand public que le système GNU/Linux. Pourtant, FreeBSD fait fonctionner les logiciels qui ont largement aidé à populariser les systèmes GNU/Linux, parmi lesquels le serveur graphique X associé à l'espace bureautique et de fenêtrage KDE, la suite bureautique OpenOffice, le navigateur web Firefox. FreeBSD est libre comme GNU/Linux. FreeBSD ne s'installe pas plus difficilement que les distributions Linux.

D'autres facteurs entrent en jeu. Sans prétention d'exhaustivité, de hiérarchie quant à l'impact, il y a vraisemblablement :

  • la médiatisation, à laquelle ont participé de grandes entreprises comme IBM, Microsoft, Novell ou RedHat, des organismes d'état et les différents médias qui relayent les sujets sélectionnés.
  • une synergie entre des mouvements : logiciel-libre, un contre courant par rapport à Microsoft et aux solutions payantes.
  • la licence : parfois jugée trop libre, elle permet à des entreprises comme Apple ou Microsoft d'intégrer du code FreeBSD à leur système d'exploitation.

Sans être décisif, un logo ou un slogan est un porte parole qui par la répétition et la force de l'image aident à marquer les esprits. En informatique du libre, la tendance est aux mascottes.

[modifier] Le daemon BSD (beastie)

Le personnage rouge et souriant est le daemon BSD. Dans le contexte des systèmes UNIX, les daemons - d(isk) a(nd) e(xecution) mon(itor) - sont des programmes de maintenance travaillant en arrière plan et ne nécessitant pas d'intervention humaine. Si daemon était entre le milieu du XVIe siècle et le XIXe siècle l'orthographe d'usage pour demon, aujourd'hui ces deux termes diffèrent. Dans les anciennes croyances grecques daemon désignait une divinité, un être surnaturel, un génie ou ange gardien. En revanche demon (démon en français) a une connotation diabolique. Le terme daemon est réapparu dans les années 1980 avec les début d'UNIX, ce avec la même ancienne connotation grecque. Le daemon BSD à la fois revêt l'apparence d'un démon (avec les cornes, et la queue pointue) et incarne un daemon par son apparence bienveillante.

Le daemon BSD s'appelle officiellement beastie, ce qui se prononce comme BSD en anglais. Le nom erroné de Chuck a été employé pendant un temps, à l'origine par Walnut Creek CD-ROM. John Lasseter (écurie Pixar, réalisateur et producteur de Toy Story et 1001 Pattes) créa le premier l'image de beastie. Depuis 1988 les droits sur le daemon BSD sont détenus par Marshall Kirk McKusick, ancien développeur à l' UC Berkeley Computer Systems Research Group (CSRG). L'image de beastie ci-contre a été créée par Poul-Henning Kamp, ancien membre de la core team.

[modifier] Comparaison avec GNU/Linux

Elément de comparaison FreeBSD GNU/Linux
Type de développement Méritocratique, encadré et hiérarchisé. Marmite, "bazar".
Assemblage Centralisé, unifié. Par distribution, délégué.
Environnement de développement FreeBSD inclut une gamme complète d'outils de développement. Système complet de développement C/C++ (éditeur, compilateur, debugger etc...) ainsi que tous les outils classiques Unix pour les développement en Python, Java, Perl, Tcl/Tk, awk, sed... Ces outils et langages de programmation sont inclus dans la distribution de base FreeBSD et sont fournis avec leur code source. De la même manière que FreeBSD, les distributions GNU/Linux incluent également tous ces outils et langages de programmation. La différence notable avec FreeBSD, est qu'un programme compilé pour une distribution (ex. Mandriva Linux) donnée ne fonctionnera pas forcément sur une autre distribution GNU/Linux (ex. Debian ou Ubuntu).
Système de fichiers par défaut. UFS Ext3
Sécurité Système audité, pare-feu PF, outils d'analyse d'intrusion. Pare-feu IPTables, IPchains, outils d'analyse d'intrusion.

[modifier] Bibliographie

[modifier] Références

  1. Oxford american dictionary, 2005.
  2. Oxford american thesaurus, 2005.
  3. Unix system administration handbook, Evi Nemeth, 3e Ed, 2000.
  4. Open sources : voices from the open source revolution (O'Reilly open source), Chris DiBona et al, 1999.
  5. Le site officiel www.freebsd.org et sa version traduite en français www.freebsd.org/fr/.

[modifier] Bibliographie supplémentaire

(en)

(fr)

[modifier] Articles connexes

commons:Accueil

Wikimedia Commons propose des documents multimédia libres sur FreeBSD.