FreeBSD est un système d'exploitation UNIX libre. Le nom vient de l'association d'une part de prenant le sens de « gratuit » et « open source », et d'autre part de Berkeley Software Distribution (BSD), l'UNIX développé à l'université de Berkeley. 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 bug ou améliorer le logiciel, ce code étant incorporé aux sources après accord.
L'objectif du projet FreeBSD est de fournir un système qui puisse servir à tout, 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. En 2010, FreeBSD est utilisable et soutenu par la communauté sur un grand nombre de plates-formes : Alpha, 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 matière de réseau, de performance, de sécurité et de 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 sur une plateforme GNU/Linux, la seconde permet l'utilisation des pilotes Windows NT des cartes réseau sans fil Wi-Fi. Le logiciel est un standard industriel sur le marché des serveurs. . Le , l'équipe du serveur miroir ftp.cdrom.com a annoncé avoir battu la veille leur record de transfert de données. pour un serveur : 1,33 tébioctet en 24 heures. FreeBSD est également utilisé par les géants du numérique moderne, par exemple Netflix. pour diffuser ses contenus. audiovisuels au travers de ses infrastructures.
Histoire FreeBSD tire ses origines de l'UNIX de Berkeley. Beaucoup de l'organisation humaine, de l'idéologie et des événements du (CSRG) sont restés dans FreeBSD et se transmettent.
Le projet est lancé en 1993 sur la base de 386BSD, et la version 1.0 est disponible en production dès . L'équipe de Yahoo! cherche alors un système d'exploitation stable et performant. Ils le trouvent avec FreeBSD 2, qu'ils installent sur un Pentium 100 puis sur l'ensemble de leurs ordinateurs, comme le raconte David Filo., cofondateur de Yahoo!
Depuis, l'hébergeur met à disposition plusieurs serveurs pour la communauté FreeBSD.
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, jusqu'à la dernière (4.11) parue en ..
Une grande quantité de nouveautés apparaît avec les versions 5. Des désaccords techniques opposent alors Matthew Dillon à d’autres développeurs de FreeBSD. Après le retrait de son accès au dépôt, Dillon quitte le projet et fonde 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 en . 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 a trois releases (publications) en 2006 et une en 2007.
La version 7.0 sort le . et la 8.0 en .. Parmi les nouveautés importantes figure le nouvel ordonnanceur, SCHED_ULE, optimisé pour les machines multiprocesseurs sans diminution des performances en monoprocesseur. Cette version a néanmoins été critiquée pour l'intégration tardive de la propolice au sein du kernel ..
La version 8.0 sort en .. Elle sera supportée jusqu'en avec la version 8.4.. En 2013, la version 8.4 proposait de nouvelles fonctionnalités sur le domaine matériel avec le support de l'USB 3.0 et l'accélération d'AES sur les processeurs Intel. FreeBSD 8.4 apportait du nouveau dans le domaine de la virtualisation avec notamment l'appui de DomU Xen et la virtualisation des couches réseau.
Le ., la version 9.0 est marquée par le nouvel installeur bsdinstall. et l'arrivée de FreeBSD sur la console Playstation 3. Par la suite, Sony Interactive Entertainment réutilisera FreeBSD 9.0 pour l'OS de la Playstation 4.
La version 10.0 de FreeBSD (.) a vu la dépréciation de GCC remplacée par celle de Clang ainsi que d'autres changements mineurs.
FreeBSD 11.0 sort le . et apporte quelques modifications dont la prise en charge plus large pour les pilotes de réseaux sans fil et la prise en charge de l'architecture arm64.
En . la version 12.0 de FreeBSD fut publiée, cette version apporte l'ajout du pilote netdump et quelques améliorations du support graphique.
La version 13.0 de FreeBSD est annoncée le .. Les principaux changements sont la mise à jour de la chaîne de compilation vers CLANG V11.0 ainsi que la suppression de GCC et GDB de l'arborescence système.
Le , la version 14.0 de FreeBSD sort, où des améliorations sont apportées aux chargeurs d'amorçage. Les pilotes de cartes son sur le bus ISA sont retirés..
Versions
Développement Beaucoup est resté de l'époque Berkeley Software Distribution et du CSRG avec, entre autres, de grandes parties des sources, des sources 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. 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.
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 neuf, et on compte 29 anciens (depuis 1992) qui continuent à contribuer. Les élections se tiennent tous les deux ans.
Les autres équipes sont responsables de : la sécurité (sept membres) ; des (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, par exemple 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ège ; 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, DragonFly BSD). 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 GNU/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 Solaris qui permet de voir d'une manière arbitraire tout ce qui se passe dans le système, est ainsi en train d'être porté sur FreeBSD : Devon O'Dell a commencé une grande partie du travail. ; John Birrell principalement le continue : l’avancement peut être suivi sur la page du projet., fin , 793 sur 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.
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, 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 quatre à six 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 devient FreeBSD-x-STABLE ; RELENG_x_y devient FreeBSD-x.y-RELEASE au moment de la release, et FreeBSD-x.y-RELEASE-p1, puis p2, etc. avec les mises à jour.
Pour un système FreeBSD de production, les FreeBSD-x.y-RELEASE-pz 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é fait 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.
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 importants comme le serveur graphique X11, les gestionnaires de fenêtres comme FluxBox et les environnements de bureau tel que KDE 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é.
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. Au premier trimestre 2025, il y a plus de disponibles.
Chaque port peut être installé sous forme binaire ou package (système équivalent aux fichiers .rpm, .deb, etc. des distributions GNU/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.