Les projets Open-source tels que FreeBSD offrent un code de très grande qualité [Cov2005]. Des études ont examiné les effets de la disponibilité du code source sur le développement logiciel [Com2004].
Alors que l'accès à du code source de qualité peut réduire les coûts initiaux de développement, les coûts liés à la gestion des changements deviennent prédominants par la suite. Comme les environnements informatiques changent au fil du temps et que de nouvelles failles de sécurité sont découvertes, votre produit lui aussi a besoin de changements et d'adaptations. Utiliser du code open-source se conçoit plus comme un processus continu dans le temps que comme quelque chose de ponctuel. Les meilleurs projets avec lesquels collaborer sont ceux qui sont actifs, c'est-à-dire ceux qui ont une communauté active, des objectifs clairs et des méthodes de travail transparentes.
Les objectifs du projet FreeBSD sont [Hub1994]:
Afin de pouvoir travailler de manière efficace avec le projet FreeBSD, vous devez comprendre la culture qui règne au sein du projet.
Les projets menés par des volontaires fonctionnent avec des règles différentes de celles utilisées par des organisations commerciales. Une des erreurs récurrentes faite par les entreprises lorsqu'elles s'aventurent dans le monde de l'open-source est de sous-estimer ces différences.
Motivation. La plupart des contributions à FreeBSD sont faites de manière volontaire et aucune rétribution financière n'entre en jeu. Les facteurs qui motivent les contributeurs sont complexes, et parmi ceux-ci on peut citer l'altruisme ou un intérêt pour résoudre les genres de problèmes que FreeBSD tente de résoudre. Dans cette environnement, « l'élégance n'est jamais optionnelle » [Nor1993].
La Vision à Long Terme. Les origines de FreeBSD remontent à presque vingt ans dans le passé avec le travail effectué au Groupe de Recherche en Science Informatique (CSRG) de l'Université de Berkeley en Californie.[1]Certains des développeurs originaux du CSRG sont toujours associés au projet.
Le projet met l'accent sur les perspectives à long terme [Nor2001]. Un acronyme fréquemment rencontré au sein du projet est DTRT qui signifie « Do The Right Thing » (Faites les Choses Correctement).
Les Processus de Développement. Les programmes informatiques sont des outils de communication: à un certain niveau les programmeurs communiquent leurs intentions, en utilisant une notation précise, à un outil (un compilateur) qui traduit ces instructions en code exécutable. À un autre niveau, la même notation est utilisée entre deux programmeurs pour communiquer leurs intentions.
Les spécifications formelles et les documents d'architecture sont rarement utilisés dans le projet. Du code clair et bien écrit ainsi que des rapports de changements (Figure 3, « Un example de rapport de modification ») eux aussi bien écrits sont utilisés à la place. Le développement de FreeBSD commence par « une ébauche de consensus et en faisant tourner du code » [Carp1996].
La communication entre programmeurs est facilitée par l'utilisation d'un standard commun concernant le code style(9).
Les canaux de communication. Les contributeurs FreeBSD sont répartis dans le monde entier. Le courrier électronique (et dans une moindre mesure, l'IRC) est le moyen de communication prépondérant au sein du projet.
Nous nous intéressons maintenant à quelques bonnes pratiques utiles pour tirer profit au maximum de l'utilisation de FreeBSD pour le développement de produits.
Mettre en place des processus qui simplifient le suivi du développement de FreeBSD. Par example:
Suivre les changements dans le code source de FreeBSD. Le projet rend la copie de son dépôt CVS aisée grâce à l'utilisation de CVSup. Avoir l'historique complet des sources est utile lors du déboguage de problèmes complexes et offre des indications utiles sur les intentions des développeurs. Utilisez un système de contrôle de sources efficace qui vous permette de facilement fusionner les changements entre le code FreeBSD et votre propre code.
La Figure 4, « Un listing annoté
généré par cvs
annotate
» montre une
partie d'un listing annoté du fichier dont le
rapport de changement de la Figure 3, « Un example de rapport de modification » fait référence.
L'origine de chacune des lignes du code source est
clairement affichée. Les listings annotés
montrant l'historique de chacun des fichiers faisant
partie de FreeBSD sont disponibles sur
Internet.
cvs
annotate
Utilisez un observateur. Nommez un observateur pour surveiller les développements de FreeBSD, pour déceler les changements qui pourraient potentiellement impacter vos produits.
Remontez les bogues en amont. Si vous détectez un bogue dans le code FreeBSD que vous utilisez, remplissez un rapport de bogue. Cette étape permet de faire en sorte que vous n'ayez pas à corriger le même bogue la prochaine fois que vous récupérerez les sources en amont.
Pour les produits avec des dates butoirs rapprochées, il est recommandé d'embaucher ou de s'attacher les services d'un développeur ou d'une firme qui a de l'expérience avec FreeBSD. La liste de diffusion sur les emplois en rapport avec FreeBSD est un canal de communication utile si vous êtes à la recherche de talents dans le domaine. Le projet FreeBSD maintient une liste des consultants et des firmes de consulting assurant des travaux liés à FreeBSD. Le Groupe de Certification FreeBSD propose des certifications pour la majorité des systèmes d'exploitation dérivés de BSD.
Pour les besoins moins critiques, vous pouvez demander de l'aide sur les listes de diffusion du projet. Un guide utile à suivre si vous souhaitez demander de l'aide est celui de [Ray2004].
Vous n'êtes pas obligé de faire de la publicité sur votre utilisation de FreeBSD, mais le faire permet à la fois de vous aider vous mais aussi le projet.
Faire valoir auprès de la communauté FreeBSD que votre société utilise FreeBSD améliore vos chances de pouvoir attirer des personnes talentueuses. Une longue liste de personnes habilitées à faire du support sur FreeBSD signifie aussi plus d'échanges d'idées entre les développeurs. Ceci permet de construire des fondations plus seines pour votre futur.
Parfois la manière la plus directe pour qu'une fonctionnalité dont on a besoin soit incluse dans FreeBSD est d'aider un développeur qui travaille déjà sur un problème ayant un rapport avec cette fonctionnalité. Ces aides peuvent prendre plusieurs formes, depuis le don de matériel jusqu'à des donations financières. Dans certains pays, les donations au projet FreeBSD peuvent bénéficier d'avantages au niveau des impôts. Le projet a un interlocuteur dédié pour assister les donateurs. Le projet maintien également une page web sur laquelle les développeurs recensent leurs besoins.
Le projet FreeBSD met un point d'honneur à remercier tous les donnateurs sur son site web.
[1] Le dépôt des sources de FreeBSD contient l'historique du projet depuis sa création, et il existe des CDROMs qui contiennent du code plus ancien en provenance du CSRG.
Ce document, ainsi que d'autres peut être téléchargé sur ftp://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>.