docs/161804: New documentation: French translation for building-products article
Frederic Culot
culot at FreeBSD.org
Wed Oct 19 11:20:07 UTC 2011
>Number: 161804
>Category: docs
>Synopsis: New documentation: French translation for building-products article
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-doc
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Wed Oct 19 11:20:07 UTC 2011
>Closed-Date:
>Last-Modified:
>Originator: Frederic Culot
>Release: FreeBSD 8.2-STABLE i386
>Organization:
>Environment:
System: FreeBSD freefall.freebsd.org 8.2-STABLE FreeBSD 8.2-STABLE #4 r220774: Mon Apr 18 13:56:14 UTC 2011 simon at freefall.freebsd.org:/usr/obj/usr/src/sys/FREEFALL i386
>Description:
Hi,
Attached is my attempt at translating the building-products article in French.
The sgml source could also be found at:
http://people.freebsd.org/~culot/doc/building-products/article.sgml
and the resulting html page is available at:
http://people.freebsd.org/~culot/doc/building-products/article.html
Regards,
culot@
>How-To-Repeat:
>Fix:
--- article.sgml begins here ---
<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook V4.1-Based Extension//EN" [
<!ENTITY % man PUBLIC "-//FreeBSD//ENTITIES DocBook Manual Page Entities//EN"> %man;
<!ENTITY % freebsd PUBLIC "-//FreeBSD//ENTITIES DocBook Miscellaneous FreeBSD Entities//EN"> %freebsd;
<!ENTITY % urls.ent PUBLIC "-//FreeBSD//ENTITIES DocBook URL Entities//EN"> %urls.ent;
<!ENTITY % urls PUBLIC "-//FreeBSD//ENTITIES Common Document URL Entities//FR"> %urls;
<!ENTITY % abstract PUBLIC "-//FreeBSD//ENTITIES DocBook Abstract Entities//FR"> %abstract;
<!ENTITY % artheader PUBLIC "-//FreeBSD//ENTITIES DocBook ArtHeader Entities//FR"> %artheader;
<!--
The FreeBSD Documentation Project
The FreeBSD French Documentation Project
$FreeBSD$
Original revision: 1.8
-->
<!ENTITY % translators PUBLIC "-//FreeBSD//ENTITIES DocBook Translator Entities//FR"> %translators;
<!ENTITY % authors PUBLIC "-//FreeBSD//ENTITIES DocBook Author Entities//EN"> %authors;
<!ENTITY % mailing-lists PUBLIC "-//FreeBSD//ENTITIES DocBook Mailing List Entities//FR"> %mailing-lists;
<!ENTITY % trademarks PUBLIC "-//FreeBSD//ENTITIES DocBook Trademark Entities//FR">%trademarks;
<!ENTITY % not.published "IGNORE">
]>
<article lang="fr">
<articleinfo>
<title>Construire des Produits avec FreeBSD</title>
<authorgroup>
<author>
<firstname>Joseph</firstname>
<surname>Koshy</surname>
<affiliation>
<orgname>Le Projet FreeBSD</orgname>
<address><email>jkoshy at FreeBSD.org</email></address>
</affiliation>
</author>
</authorgroup>
<pubdate>$FreeBSD$</pubdate>
<legalnotice id="trademarks" role="trademarks">
&tm-attrib.freebsd;
&tm-attrib.general;
</legalnotice>
<abstract>
<title>Résumé</title>
<para>Le projet FreeBSD est un projet international, collaboratif
et basé sur le volontariat, qui développe un
système d'exploitation portable et de grande qualité.
Le projet FreeBSD distribue le code source de ses produits avec
une licence libérale dans l'intention d'encourager
l'utilisation de son code. Collaborer avec le project FreeBSD
peut aider les organisations à réduire leur
délai de mise sur le marché, leurs coûts de
développement, et améliorer la qualité de
leurs produits.</para>
<para>Cet article se penche sur les questions relatives à
l'utilisation du code de FreeBSD dans les appareils informatiques
et les logiciels. Il met en évidence les
caractéristiques
de FreeBSD qui en font un excellent support pour le
développement de produits. Cet article conclut en
suggérant quelques <quote>bonnes pratiques</quote>
pour les organisations qui collaborent avec le projet
FreeBSD.</para>
</abstract>
</articleinfo>
<sect1 id="introduction">
<title>Introduction</title>
<para>FreeBSD est reconnu aujourd'hui comme un système
d'exploitation haute performances pour serveurs. Il est
deployé sur des millions de serveurs web et de machines
connectées à internet de part le monde. Le code
de FreeBSD fait aussi partie intégrante de beaucoup de
produits depuis des appareils comme les routeurs réseau,
pare-feux, et dispositifs de stockage, jusqu'aux ordinateurs
personnels. Des parties de FreeBSD ont également
été utilisées dans des produits
commerciaux (voir <xref linkend="freebsd-intro">).</para>
<para>Dans cet article nous nous intéressons au
<ulink url="&url.base;/">projet FreeBSD</ulink> en tant
que ressource pour la conception logicielle—une collection
de briques de base et de processus que vous pouvez utiliser
pour construire d'autres produits.</para>
<para>Bien que les sources de FreeBSD soient distribuées
librement au public, les organisations ont besoin de
<emphasis>collaborer</emphasis> avec le projet pour pouvoir
pleinement apprécier les bénéfices de ce
travail. Dans les sections suivantes de cet article nous
présentons les moyens efficaces qui existent afin de
collaborer avec le projet, ainsi que les pièges
à éviter.</para>
<formalpara>
<title>Avertissement au Lecteur</title>
<para>L'auteur pense que les caractéristiques du Projet
FreeBSD telles que décrites dans cet article sont
en grande partie vraies au moment où cet article a
été conçu et rédigé (2005).
Cependant, le lecteur doit garder en tête que les
pratiques et processus utilisés par les communautées
open-source peuvent changer au cours du temps, et que les
informations contenues dans cet article devraient donc
être considérées comme étant
indicatives plutôt que prescriptives.</para>
</formalpara>
<sect2>
<title>Public Visé</title>
<para>Ce document pourrait présenter un intérêt
pour les groupes de personnes suivants:</para>
<itemizedlist>
<listitem>
<simpara>Les preneurs de décisions dans les entreprises
qui recherchent à
amélirer la qualité de leurs produits,
à réduire leur délai de mise sur
le marché, et réduire leurs coûts de
développement sur le long terme.</simpara>
</listitem>
<listitem>
<simpara>Les consultants en technologie à la
recherche de bonnes pratiques pour tirer profit de
l' <quote>open-source</quote>.</simpara>
</listitem>
<listitem>
<simpara>Les spécialistes de l'industrie
interessés par la compréhension de
la dynamique des projets open-source.</simpara>
</listitem>
<listitem>
<simpara>Les développeurs logiciels cherchant
à utiliser FreeBSD et désirant contribuer
au projet en retour.</simpara>
</listitem>
</itemizedlist>
</sect2>
<sect2>
<title>Buts de l'Article</title>
<para>La lecture de cet article devrait vous apporter :</para>
<itemizedlist>
<listitem>
<simpara>Une compréhension des buts du Projet FreeBSD
ainsi que de la structure de son organisation.</simpara>
</listitem>
<listitem>
<simpara>Un aperçu des technologies disponibles
dans le projet.</simpara>
</listitem>
<listitem>
<simpara>Une compréhension de son modèle
de développement et de ses processus
d'ingénierie.</simpara>
</listitem>
<listitem>
<simpara>Une compréhension des différences
entre les processus de développement conventionnels
que l'on retrouve chez les éditeurs de logiciels
et ceux utilisés par le projet FreeBSD.</simpara>
</listitem>
<listitem>
<simpara>Une sensibilisation aux canaux de communication
utilisés par le projet et le niveau de
transparence auquel vous pouvez vous attendre.</simpara>
</listitem>
<listitem>
<simpara>Une connaissance des moyens optimaux qui existent
pour travailler avec le projet—comment réduire
au maximum les coûts de développement,
améliorer le délai de mise sur le marché,
gérer les failles de sécurité,
et préserver la compatibilité future de
votre produit avec les évolutions du projet
FreeBSD.</simpara>
</listitem>
</itemizedlist>
</sect2>
<sect2>
<title>Structure de l'Article</title>
<para>La suite de l'article est structurée de la façon
suivante:</para>
<itemizedlist>
<listitem>
<simpara><xref linkend="freebsd-intro"> introduit le
projet FreeBSD, présente sa structure
organisationnelle, ses technologies clés et
ses processus de développement.</simpara>
</listitem>
<listitem>
<simpara><xref linkend="freebsd-collaboration"> décrit
les moyens de collaborer avec le projet FreeBSD.
Les pièges les plus courants rencontrés
par les companies travaillant avec les projets basés
sur le volontariat comme FreeBSD sont également
présentés.</simpara>
</listitem>
<listitem>
<simpara><xref linkend="conclusion"> conclut.</simpara>
</listitem>
</itemizedlist>
</sect2>
</sect1>
<sect1 id="freebsd-intro">
<title>FreeBSD en tant que brique constitutive</title>
<para>FreeBSD représente une excellente fondation sur
laquelle construire des produits :</para>
<itemizedlist>
<listitem>
<simpara>Le source code de FreeBSD est distribué
avec une licence BSD libérale qui facilite
grandement son utilisation dans les produits commerciaux
<citation>Mon2005</citation>.</simpara>
</listitem>
<listitem>
<simpara>Le projet FreeBSD a d'excellentes pratiques de
développement qui peuvent être mises à
profit.</simpara>
</listitem>
<listitem>
<simpara>Le projet offre une transparence exceptionnelle
eu égard à son fonctionnement, permettant
aux companies utilisant son code de planifier efficacement
l'avenir.</simpara>
</listitem>
<listitem>
<simpara>La culture du projet FreeBSD, héritée
du Groupe de Recherche sur la Science Informatique de
l'Université de Berkeley en Californie
<citation>McKu1999-1</citation>,
encourage le travail de grande qualité. Certaines
fonctionalités de FreeBSD sont considérés
comme des références.</simpara>
</listitem>
</itemizedlist>
<simpara><citation>GoldGab2005</citation> examine avec plus de
détails les raisons commerciales qui justifient l'utilisation
de l'open-source. Les bénéfices que les
sociétés peuvent tirer de l'utilisation de composants
FreeBSD dans leurs produits comprennent un délai
réduit de mise sur le marché, ainsi qu'une
réduction des coûts et des risques
liés au développement.</simpara>
<sect2>
<title>Construire avec FreeBSD</title>
<simpara>Voici quelques utilisations que des companies ont faites
de FreeBSD :</simpara>
<itemizedlist>
<listitem>
<simpara>Comme source de code testé pour des librairies
ou utilitaires.</simpara>
<simpara>En étant <quote>en aval</quote> du projet,
les organisations tirent profit des nouvelles
fonctionnalités, corrections de bogues et tests
dont le code en amont bénéficie.</simpara>
</listitem>
<listitem>
<simpara>En tant que système d'exploitation
embarqué (par exemple, pour un routeur OEM
ou un appareil servant de pare-feu). Dans ce modèle,
les organisations utilisent un noyau FreeBSD adapté
ainsi qu'un ensemble de logiciels appropriés
conjointement avec une couche propriétaire de
gestion de leur appareil. Les OEMs bénéficient
des nouveaux supports matériels ajoutés
par le projet FreeBSD en amont, ainsi que des tests
effectués sur le système de base.</simpara>
<simpara>FreeBSD est diffusé avec un environnement
de développement auto-hébergé qui
permet de créer facilement de telles
configurations.</simpara>
</listitem>
<listitem>
<simpara>En tant qu'environnement compatible Unix pour
les fonctions de gestion des environnements de stockage et
les appareils réseau, fonctionant sur un
<quote>serveur lame</quote> séparé.</simpara>
<simpara>FreeBSD fournit les outils nécessaires
pour créer des systèmes d'exploitation
dédiés et des images d'applications. Son
implémentation basée sur une API BSD Unix
est mature et testée. FreeBSD peut aussi fournir
un environnement de développement croisé
stable pour les autres composants de l'appareil final.
</simpara>
</listitem>
<listitem>
<simpara>En tant que moyen d'obtenir une large base de tests
et du support de la part d'une équipe de
développeurs internationale pour tout ce qui a trait
à la <quote>propriété intellectuelle
</quote> non critique.</simpara>
<simpara>Dans ce modèle, les organisations apportent
un ensemble d'infrastructures utiles au projet FreeBSD
(voir par exemple &man.netgraph.3;). L'importante exposition que
le code acquiert aide pour l'identification rapide de
problèmes de performance et de bogues. L'implication
d'excellents développeurs apporte aussi
des ajouts utiles à la base existante, ce
dont l'organisation contributrice bénéficie
également.</simpara>
</listitem>
<listitem>
<simpara>En tant qu'environnement de développement
autorisant le développement croisé pour
des systèmes embarqués tels que
<ulink
url="http://www.rtems.com/">RTEMS</ulink> et <ulink
url="http://ecos.sourceware.org/">eCOS</ulink>.</simpara>
<simpara>Il existe une pléthore d'environnements
de développement très complets dans la
collection des &os.numports; applications portées
et empaquetées pour FreeBSD.</simpara>
</listitem>
<listitem>
<simpara>Comme moyen de fournir une API Unix dans un
système propriétaire par ailleurs, augmentant
ainsi son attractivité pour les développeurs
d'applications.</simpara>
<simpara>Dans ce cas des parties du noyau FreeBSD et des
applications sont <quote>portées</quote> pour
tourner conjointement avec d'autres tâches du
système d'exploitation propriétaire. La
disponibilité de l'implémentation d'une
API <trademark>Unix</trademark> stable et bien testée
peut réduire l'effort nécessaire pour
porter des applications populaires sur le système
propriétaire. Comme FreeBSD est fournit avec
une documentation de grande qualité concernant
ses mécanismes internes et assure une gestion
efficace des vulnérabilités et des
cycles de développement, les coûts pour se
maintenir à jour sont bas.</simpara>
</listitem>
</itemizedlist>
</sect2>
<sect2 id="freebsd-technologies">
<title>Technologies</title>
<para>Le projet FreeBSD supporte un grand nombre de technologies
dont une sélection est présentée ci-dessous :
</para>
<itemizedlist>
<listitem>
<simpara>Un système complet qui peut faire de
l'auto-hébergement croisé pour les architectures
suivantes :
alpha (jusqu'à &os; version 6.X), amd64, ia64, i386,
sparc64, powerpc (voir &man.build.7;).</simpara>
</listitem>
<listitem>
<simpara>Le support pour les technologies, protocoles et standards
suivants : <!-- Keyword soup. Urk. -->
<acronym>ATA</acronym>, <acronym>ATAPI</acronym>,
<acronym>ATM</acronym>, <trademark>Bluetooth</trademark>,
<acronym>CAM</acronym>, <trademark>CardBus</trademark>,
<acronym>DHCP</acronym>, <acronym>DNS</acronym>,
<trademark>EISA</trademark>,
<trademark>Ethernet</trademark>, <acronym>FDDI</acronym>,
Fibre Channel, <acronym>GPIB</acronym>, IEEE 1394, IPv4,
IPv6, <acronym>IPSEC</acronym>,
<trademark>IPX</trademark>, <acronym>ISDN</acronym>,
<acronym>MAC</acronym>, <acronym>NIS</acronym>,
<acronym>NFS</acronym>, OpenSSH, <acronym>OPIE</acronym>,
<acronym>PAM</acronym>, <trademark>PCI</trademark>,
<acronym>PCMCIA</acronym>, <trademark>POSIX</trademark>,
<acronym>PnP</acronym>, <acronym>RAID</acronym>,
<acronym>RPC</acronym>, <acronym>SATA</acronym>,
<acronym>SCSI</acronym>, <acronym>SMB</acronym>,
<acronym>TCP</acronym>, <acronym>USB</acronym>,
<acronym>VESA</acronym>, <acronym>VLAN</acronym>,
<acronym>VLB</acronym>,
<trademark>WebNFS</trademark>.</simpara>
</listitem>
<listitem>
<simpara>Un noyau modulaire permettant le traitement
symétrique multiprocesseurs, avec chargement possible de
modules noyau et un système de configuration facile
à utiliser.</simpara>
</listitem>
<listitem>
<simpara>Le support pour l'émulation de
<trademark>Linux</trademark> et des binaires SVR4 à
vitesse quasi-native et le support pour les pilotes
réseau <trademark>Windows</trademark>
(<acronym>NDIS</acronym>).</simpara>
</listitem>
<listitem>
<simpara>Des librairies pour de nombreuses tâches
liées à la programmation : archivage,
support FTP et HTTP, support des processus légers en
plus d'un environnement de programmation
<trademark>POSIX</trademark>.</simpara>
</listitem>
<listitem>
<simpara>Des dispositifs de sécurité
avancés : Mandatory Access Control
(&man.mac.9;), jails (&man.jail.2;),
<acronym>ACL</acronym>s, ainsi que le support d'un
dispositif cryptographique au niveau noyau.</simpara>
</listitem>
<listitem>
<simpara>Des caractéristiques réseau
avancées : dispositifs pares-feu, gestion de Qos,
communications TCP/IP hautes performances avec support
de nombreuses caractéristiques avancées.
</simpara>
<simpara>Le système Netgraph (&man.netgraph.4;)
présent dans le noyau FreeBSD permet à
des modules noyau de gestion des communications réseau
d'être interconnectés de manière
flexible.</simpara>
</listitem>
<listitem>
<simpara>Le support pour des technologies de stockage
avancées : fibre, <acronym>SCSI</acronym>,
RAID logiciel et matériel, <acronym>ATA</acronym>
et <acronym>SATA</acronym>.</simpara>
<simpara>FreeBSD est capable de gérer plusieurs
systèmes de fichiers différents, et son
support natif du système de fichiers UFS2 autorise
les <foreignphrase>soft updates</foreignphrase>,
les sauvegardes instantanées, ainsi que les
systèmes de fichiers très volumineux
(16TB par système)
<citation>McKu1999</citation>.</simpara>
<simpara>Le système <acronym>GEOM</acronym> (&man.geom.4;)
présent dans le noyau FreeBSD permet
de composer de manière flexible des modules noyau
dédiés à la gestion du stockage.
</simpara>
</listitem>
<listitem>
<simpara>L'accès à plus de &os.numports;
applications portées, qu'elles soient commerciales
ou open-source, gérées grâce à
la collection des portages de FreeBSD.</simpara>
</listitem>
</itemizedlist>
</sect2>
<sect2>
<title>Structure Organisationelle</title>
<para>La structure organisationelle de FreeBSD n'est pas
hiérarchique.</para>
<para>Il existe essentiellement deux types de contributeurs
à FreeBSD, les utilisateurs de FreeBSD, et les
développeurs qui ont les droits en écriture
(connus sous le terme <firstterm>committers</firstterm> dans
notre jargon) et peuvent modifier les sources.</para>
<para>Il existe plusieurs milliers de contributeurs dans le
premier groupe, la vaste majorité des contributions
à FreeBSD proviennent de personnes faisant partie de
ce groupe. Les droits de <foreignphrase>commit</foreignphrase>
(droits d'accès en écriture) sont accordés
aux personnes qui contribuent au projet de manière
récurrente. Ces droits viennent avec des
responsabilités supplémentaires, et les
nouveaux <foreignphrase>committers</foreignphrase> se voient
attribuer des mentors pour les aider à apprendre
les bases.</para>
<figure>
<title>L'Organisation FreeBSD</title>
<mediaobject>
<imageobject>
<imagedata fileref="freebsd-organization" format="PIC">
</imageobject>
</mediaobject>
</figure>
<para>La résolution des conflits est assurée
par une équipe (<quote>Core Team</quote>) de neuf
membres qui est élue par le groupe des
<foreignphrase>committers</foreignphrase>.</para>
<para>Les <foreignphrase>committers</foreignphrase> ne sont pas
employés par FreeBSD. Il est exigé de la part
des <foreignphrase>committers</foreignphrase> qu'ils prennent
la responsabilité des changements qu'ils introduisent
dans le code. Le <ulink
url="&url.articles.committers-guide;">Guide du Committer
FreeBSD</ulink> <citation>ComGuide</citation> documente
les règles et responsabilités des
<foreignphrase>committers</foreignphrase>.</para>
<para>Le modèle de projet de FreeBSD est examiné
en détails dans <citation>Nik2005</citation>.</para>
</sect2>
<sect2>
<title>Les processus de développement des versions
de FreeBSD</title>
<para>Les processus de développement des versions de
FreeBSD jouent un rôle majeur en assurant que les
versions qui sont délivrées sont de grande
qualité. À n'importe quel moment que l'on
considère, les volontaires de FreeBSD assurent le
développement de plusieurs branches de code
(<xref linkend="fig-freebsd-branches">):</para>
<itemizedlist>
<listitem>
<simpara>Les nouvelles fonctionnalités et le code
expérimental sont incorporés sur la
branche de développement, aussi connue sous le
nom de branche <firstterm>-CURRENT</firstterm>.</simpara>
</listitem>
<listitem>
<simpara>Les branches <firstterm>-STABLE</firstterm>
représentent les lignes de code qui sont reprises
de la HEAD à des intervalles de temps
réguliers. Seul le code testé est
autorisé sur une branche -STABLE. Les nouvelles
fonctionnalités sont autorisées une fois
qu'elles ont été testées et
stabilisées sur la branche -CURRENT.</simpara>
</listitem>
<listitem>
<simpara>Les branches <firstterm>-RELEASE</firstterm>
sont maintenues par l'équipe
sécurité de FreeBSD. Seuls les
correctifs de bogues pour les problèmes
critiques sont autorisés sur les branches
-RELEASE.</simpara>
</listitem>
</itemizedlist>
<figure id="fig-freebsd-branches">
<title>Les Branches FreeBSD</title>
<mediaobject>
<imageobject>
<imagedata fileref="freebsd-branches" format="EPS">
</imageobject>
</mediaobject>
</figure>
<para>Les lignes de code sont maintenues aussi longtemps
qu'il existe des utilisateurs et des développeurs
qui s'y intéressent.</para>
<para>Les architectures machine sont groupées en
<quote>niveaux</quote>. Les architectures
de premier niveau (<firstterm>Tier 1</firstterm>)
sont entièrement supportées par
l'équipe en charge des versions et
l'équipe sécurité. Les architectures
de second niveau (<firstterm>Tier 2</firstterm>)
sont supportées dans la mesure du possible, et
les architectures expérimentales
représentent le <firstterm>Tier 3</firstterm>.
La liste des <ulink
url="&url.articles.committers-guide;/archs.html">
architectures supportées</ulink> est incluse
dans la documentation FreeBSD.</para>
<para>L'équipe en charge des versions publie une
<ulink url="&url.base;/releng/">feuille de route</ulink>
pour les futures versions de FreeBSD sur la page web du
projet. Les dates qui sont mentionnées sur la
feuille de route ne sont pas des dates butoires : les
versions de FreeBSD sont délivrées lorsque
son code et sa documentation sont prêts.</para>
<para>Les processus de développement des versions de
FreeBSD sont décrits dans
<citation>RelEngDoc</citation>.</para>
</sect2>
</sect1>
<sect1 id="freebsd-collaboration">
<title>Collaborer avec FreeBSD</title>
<para>Les projets Open-source tels que FreeBSD offrent un code
de très grande qualité <citation>Cov2005</citation>.
Des études ont examiné les effets de la
disponibilité du code source sur le développement
logiciel <citation>Com2004</citation>.</para>
<para>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 <emphasis>continu
dans le temps</emphasis> que comme quelque chose de ponctuel.
Les meilleurs projets avec lesquels collaborer sont ceux qui
sont <emphasis>actifs</emphasis>, c'est-à-dire ceux
qui ont une communauté active, des objectifs clairs
et des méthodes de travail transparentes.</para>
<itemizedlist>
<listitem>
<simpara>FreeBSD possède une communauté
active de développeurs gravitant autour du projet.
Au moment de l'écriture de cet article, il existe
plusieurs milliers de contributeurs vivant sur tous les
continents peuplés de la planète et plus de
300 personnes possédant les droits d'accès
aux dépôts des sources du projet.</simpara>
</listitem>
<listitem>
<simpara>Les objectifs du projet FreeBSD sont
<citation>Hub1994</citation>:
<itemizedlist spacing="compact">
<listitem>
<simpara>De développer un système
d'exploitation de grande qualité pour les
architectures informatiques populaires, et</simpara>
</listitem>
<listitem>
<simpara>Mettre notre travail à la disposition de
tous sous couvert d'une licence libérale.</simpara>
</listitem>
</itemizedlist>
</listitem>
<listitem>
<simpara>FreeBSD bénéficie d'une culture
ouverte et transparente. Quasiment toutes les discussions
au sein du projet se font par courrier électronique,
sur les <ulink url="&a.mailman.listinfo;">listes publiques
</ulink> qui sont aussi archivées pour la
postérité. Les règles et pratiques
du projet sont <ulink url="&url.base;/internal/policies.html">
documentées</ulink> et maintenues en utilisant
un système de gestion de versions. Participer
au projet est ouvert à tous.</simpara>
</listitem>
</itemizedlist>
<sect2 id="freebsd-org">
<title>Comprendre la culture FreeBSD</title>
<para>Afin de pouvoir travailler de manière efficace
avec le projet FreeBSD, vous devez comprendre la culture qui
règne au sein du projet.</para>
<para>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.</para>
<!-- XXX using <formalpara> constructs is clunky, but I like using
<variablelist> even less -->
<formalpara>
<title>Motivation</title>
<para>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,
<quote>l'élégance n'est jamais
optionnelle</quote> <citation>Nor1993</citation>.</para>
</formalpara>
<formalpara>
<title>La Vision à Long Terme</title>
<para>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.<footnote>
<simpara>Le <ulink
url="http://cvsweb.freebsd.org/"> dépôt
des sources</ulink> de FreeBSD contient l'historique
du projet depuis sa création, et il existe des
<ulink
url="http://www.mckusick.com/csrg/">CDROMs</ulink>
qui contiennent du code plus ancien en provenance du
CSRG.</simpara>
</footnote>Certains des développeurs originaux
du CSRG sont toujours associés au projet.</para>
</formalpara>
<para>Le projet met l'accent sur les perspectives à
long terme <citation>Nor2001</citation>. Un acronyme
fréquemment rencontré au sein du projet est
<acronym>DTRT</acronym> qui signifie <quote>Do The Right
Thing</quote> (Faites les Choses Correctement).</para>
<formalpara>
<title>Les Processus de Développement</title>
<para>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.</para>
</formalpara>
<para>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 (<xref linkend="fig-change-log">)
eux aussi bien écrits sont utilisés à la
place. Le développement de FreeBSD commence par
<quote>une ébauche de consensus et en faisant
tourner du code</quote>
<citation>Carp1996</citation>.</para>
<figure id="fig-change-log">
<title>Un example de rapport de changement</title>
<programlisting>
bde 2005-10-29 16:34:50 UTC
FreeBSD src repository
Modified files:
lib/msun/src e_rem_pio2f.c
Log:
Use double precision to simplify and optimize arg reduction for small
and medium size args too: instead of conditionally subtracting a float
17+24, 17+17+24 or 17+17+17+24 bit approximation to pi/2, always
subtract a double 33+53 bit one. The float version is now closer to
the double version than to old versions of itself — it uses the same
33+53 bit approximation as the simplest cases in the double version,
and where the float version had to switch to the slow general case at
|x| == 2^7*pi/2, it now switches at |x| == 2^19*pi/2 the same as the
double version.
This speeds up arg reduction by a factor of 2 for |x| between 3*pi/4 and
2^7*pi/4, and by a factor of 7 for |x| between 2^7*pi/4 and 2^19*pi/4.
Revision Changes Path
1.14 +22 -97 src/lib/msun/src/e_rem_pio2f.c
</programlisting>
</figure>
<simpara>La communication entre programmeurs est facilitée
par l'utilisation d'un standard commun concernant le code
&man.style.9;.</simpara>
<formalpara>
<title>Canaux de Communication</title>
<para>Les contributeurs FreeBSD sont répartis dans le
monde entier. Le courrier électronique (et dans une
moindre mesure, IRC) est le moyen de communication
prépondérant au sein du projet.</para>
</formalpara>
</sect2>
<sect2>
<title>Les Meilleures pratiques pour collaborer avec le projet
FreeBSD</title>
<para>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.</para>
<variablelist>
<varlistentry>
<term>Plan à long terme</term>
<listitem>
<para>Mettre en place des processus qui simplifient le
suivi du développement de FreeBSD. Par example :
</para>
<formalpara>
<title>Suivre les changements dans le code source
de FreeBSD</title>
<para>Le projet rend la copie de son dépôt
CVS aisée grâce à l'utilisation
de <ulink
url="&url.articles.cvsup-advanced;"><!--
--><application>CVSup</application></ulink>.
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.</para>
</formalpara>
<para>La <xref linkend="fig-cvs-annotate"> montre une partie
d'un listing annoté du fichier
dont le rapport de changement de la
<xref linkend="fig-change-log"> 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 <ulink
url="http://cvsweb.freebsd.org/">disponibles sur
Internet</ulink>.</para>
<figure id="fig-cvs-annotate">
<title>Un listing annoté généré
par <command>cvs annotate</command></title>
<programlisting>
#LINE #REV #WHO #DATE #TEXT
62 1.1 (jkh 19-Aug-94): int32_t __ieee754_rem_pio2f(float x, float *y)
63 1.1 (jkh 19-Aug-94): {
64 1.14 (bde 29-Oct-05): double z,w,t,r,fn;
65 1.13 (bde 29-Oct-05): double tx[3];
66 1.14 (bde 29-Oct-05): int32_t e0,i,nx,n,ix,hx;
67 1.1 (jkh 19-Aug-94):
68 1.1 (jkh 19-Aug-94): GET_FLOAT_WORD(hx,x);
69 1.1 (jkh 19-Aug-94): ix = hx&0x7fffffff;
70 1.1 (jkh 19-Aug-94): if(ix<=0x3f490fd8) /* |x| ~<= pi/4 , no need for reduction */
71 1.1 (jkh 19-Aug-94): {y[0] = x; y[1] = 0; return 0;}
72 1.14 (bde 29-Oct-05): /* 33+53 bit pi is good enough for special and medium size cases */
73 1.2 (bde 07-Apr-95): if(ix<0x4016cbe4) { /* |x| < 3pi/4, special case with n=+-1 */
74 1.14 (bde 29-Oct-05): if(hx>0) {
75 1.15 (bde 06-Nov-05): z = x - pio2;
76 1.15 (bde 06-Nov-05): n = 1;
77 1.15 (bde 06-Nov-05): } else {
78 1.15 (bde 06-Nov-05): z = x + pio2;
79 1.15 (bde 06-Nov-05): n = 3;
80 1.9 (bde 08-Oct-05): }
81 1.15 (bde 06-Nov-05): y[0] = z;
82 1.15 (bde 06-Nov-05): y[1] = z - y[0];
83 1.15 (bde 06-Nov-05): return n;
84 1.15 (bde 06-Nov-05): }
85 1.15 (bde 06-Nov-05): if(ix<0x407b53d1) { /* |x| < 5*pi/4, special case with n=+-2 */
</programlisting>
</figure>
<formalpara>
<title>Utilisez un observateur</title>
<para>Nommez un <firstterm>observateur</firstterm> pour
monitorer les développements de FreeBSD,
pour déceler les changements qui pourraient
potentiellement impacter vos produits.</para>
</formalpara>
<formalpara>
<title>Remontez les bogues en amont</title>
<para>Si vous détectez un bogue dans le code
FreeBSD que vous utilisez, remplissez un
<ulink url="&url.base;/send-pr.html">rapport de
bogue</ulink>. Cette étape permet de faire
en sorte que vous n'ayez pas à fixer le
même bogue la prochaine fois que vous
récupérerez les sources en amont.</para>
</formalpara>
</listitem>
</varlistentry>
<varlistentry>
<term>Tirez profit des efforts portés sur la gestion
des versions</term>
<listitem>
<simpara>Utilisez du code d'une branche de
développement -STABLE de FreeBSD. Ces branches
de développement sont officiellement
supportées par les équipes en charge des
versions et les équipes sécurité
de FreeBSD et sont constituées de code
testé.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>Donnez du code pour réduire les coûts</term>
<listitem>
<simpara>La majeure partie des coûts associés
au développement est liée à la
maintenance. En donnant du code non critique au projet,
vous bénéficiez du fait que votre code
aura une diffusion bien plus importante que celle qu'il
aurait eu sans ça. Ceci amène à
ce que plus de bogues et de failles de
sécurité soient éliminés
et que les problèmes de performance soient
identifiés et résolus.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>Recevez un soutien efficace</term>
<listitem>
<simpara>Pour les produits avec des dates butoires
rapprochées, il est recommendé
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
&a.jobs est un canal de communication utile
si vous êtes à la recherche de talents
dans le domaine. Le projet FreeBSD maintient une
<ulink
url="&url.base;/commercial/consult_bycat.html">
galerie des consultants et des firmes de
consulting</ulink> assurant des travaux liés
à FreeBSD. Le <ulink
url="http://www.bsdcertification.org/">Groupe de
Certification FreeBSD</ulink> propose des
certifications pour la majorité des
systèmes d'exploitation dérivés
de BSD.</simpara>
<simpara>Pour les besoins moins critiques, vous pouvez
demander de l'aide sur les <ulink
url="http://lists.FreeBSD.org/mailman/listinfo">
listes de diffusion du projet</ulink>. Un guide
utile à suivre si vous souhaitez demander de
l'aide est celui de <citation>Ray2004</citation>.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>Faites de la publicité sur votre engagement</term>
<listitem>
<simpara>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.</simpara>
<simpara>Faire valoir auprès de la communauté
FreeBSD que votre companie utilise FreeBSD
améliore vos chances de pouvoir attirer des
personnes talentueuses. Une longue liste de personnes
abilité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.</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term>Soutenez les développeurs de FreeBSD</term>
<listitem>
<simpara>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 taxes. Le projet a un
<ulink url="&url.base;/donations/">interlocuteur
dédié</ulink> pour assister les donateurs.
Le projet maintien également une page web
sur laquelle les développeurs
<ulink
url="&url.base;/donations/wantlist.html">recensent
leurs besoins</ulink>.
</simpara>
<simpara>Le projet FreeBSD met un point d'honneur
à <ulink
url="&url.articles.contributors;">remercier</ulink>
tous les donnateurs sur son site web.</simpara>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>
<sect1 id="conclusion">
<title>Conclusion</title>
<para>Les objectifs du projet FreeBSD sont de créer et
proposer gratuitement le code source d'un système
d'exploitation de grande qualité. En travaillant avec
le projet FreeBSD vous pouvez réduire vos coûts
de développement et améliorer vos délais
de mise sur le marché dans un certain nombre de
scénarios de développement de produits.</para>
<para>Nous avons passé en revue les caractéristiques
du projet FreeBSD qui en font un excellent choix pour faire
partie d'une stratégie produit d'une entreprise.
Nous avons ensuite présenté la culture du projet
et examiné les différents moyens à
disposition pour interagir avec ses développeurs.
Cet article conclut avec une liste des bonnes pratiques qui
peuvent être mises en place par les organisations
pour collaborer avec le projet.</para>
</sect1>
<bibliography>
<biblioentry>
<abbrev>Carp1996</abbrev>
<citetitle><ulink url="http://www.ietf.org/rfc/rfc1958.txt">The
Architectural Principles of the Internet</ulink></citetitle>
<author>
<firstname>B.</firstname>
<surname>Carpenter</surname>
<affiliation>
<orgname>The Internet Architecture Board</orgname>
</affiliation>
</author>
<copyright>
<year>1996</year>
</copyright>
</biblioentry>
<biblioentry xreflabel="Com2004">
<abbrev>Com2004</abbrev>
<citetitle><ulink
url="http://csdl.computer.org/comp/mags/so/2004/01/s1028.pdf">How
is Open-Source Affecting Software
Development?</ulink></citetitle>
<authorgroup>
<author>
<firstname>Diomidis</firstname>
<surname>Spinellis</surname>
</author>
<author>
<firstname>Clemens</firstname>
<surname>Szyperski</surname>
</author>
</authorgroup>
<title>IEEE Computer</title>
<copyright>
<year>Jan/Feb 2004</year>
</copyright>
<publisher>
<publishername>IEEE Computer Society</publishername>
</publisher>
</biblioentry>
<biblioentry>
<abbrev>ComGuide</abbrev>
<citetitle><ulink
url="&url.articles.committers-guide;">Committer's
Guide</ulink></citetitle>
<authorgroup>
<corpauthor>The FreeBSD Project</corpauthor>
</authorgroup>
<copyright>
<year>2005</year>
</copyright>
</biblioentry>
<biblioentry>
<abbrev>Cov2005</abbrev>
<citetitle><ulink
url="http://www.coverity.com/news/nf_news_06_27_05_story_9.html">Coverity
study on kernel security holes in Linux and FreeBSD</ulink></citetitle>
<authorgroup>
<corpauthor>Coverity Inc.</corpauthor>
</authorgroup>
<copyright>
<year>2005</year>
</copyright>
</biblioentry>
<biblioentry>
<abbrev>GoldGab2005</abbrev> <citetitle><ulink
url="http://dreamsongs.com/IHE/IHE.html">Innovation Happens
Elsewhere: Open Source as Business Strategy</ulink></citetitle>
<authorgroup>
<author>
<firstname>Ron</firstname>
<surname>Goldman</surname>
</author>
<author>
<firstname>Richard</firstname>
<surname>Gabriel</surname>
</author>
</authorgroup>
<copyright>
<year>2005</year>
</copyright>
<isbn>ISBN 1558608893</isbn>
<publisher>
<publishername>Morgan-Kaufmann</publishername>
</publisher>
</biblioentry>
<biblioentry xreflabel="Hub1994">
<!-- XXX Get the date of this article right -->
<abbrev>Hub1994</abbrev>
<citetitle><ulink url="&url.articles.contributing;">Contributing
to the FreeBSD Project</ulink></citetitle>
<author>
<firstname>Jordan</firstname>
<surname>Hubbard</surname>
</author>
<copyright>
<year>1994—2005</year>
</copyright>
<publisher>
<publishername>The FreeBSD Project</publishername>
</publisher>
</biblioentry>
<biblioentry>
<abbrev>McKu1999</abbrev>
<citetitle><ulink
url="http://www.usenix.org/publications/library/proceedings/usenix99/mckusick.html">Soft
Updates: A Technique for Eliminating Most Synchronous Writes
in the Fast Filesystem</ulink></citetitle>
<authorgroup>
<author>
<firstname>Kirk</firstname>
<surname>McKusick</surname>
</author>
<author>
<firstname>Gregory</firstname>
<surname>Ganger</surname>
</author>
</authorgroup>
<confgroup>
<conftitle>USENIX Annual Technical Conference</conftitle>
</confgroup>
<copyright>
<year>1999</year>
</copyright>
</biblioentry>
<biblioentry>
<abbrev>McKu1999-1</abbrev>
<citetitle><ulink
url="http://www.oreilly.com/catalog/opensources/book/kirkmck.html"
>Twenty Years of Berkeley Unix: From AT&T-Owned to
Freely Redistributable</ulink></citetitle>
<authorgroup>
<author>
<firstname>Marshall Kirk</firstname>
<surname>McKusick</surname>
</author>
</authorgroup>
<title><ulink
url="http://www.oreilly.com/catalog/opensources/book/toc.html">Open
Sources: Voices from the Open Source
Revolution</ulink></title>
<isbn>ISBN 1-56592-582-3</isbn>
<publisher>
<publishername>O'Reilly Inc.</publishername>
</publisher>
<copyright>
<year>1993</year>
</copyright>
</biblioentry>
<biblioentry>
<abbrev>Mon2005</abbrev>
<citetitle><ulink url="&url.articles.bsdl-gpl;/article.html">Why you should
use a BSD style license for your Open Source
Project</ulink></citetitle>
<author>
<firstname>Bruce</firstname>
<surname>Montague</surname>
</author>
<publisher>
<publishername>The FreeBSD Project</publishername>
</publisher>
<copyright>
<year>2005</year>
</copyright>
</biblioentry>
<biblioentry xreflabel="Nik2005">
<abbrev>Nik2005</abbrev>
<citetitle><ulink url="&url.books.dev-model;/book.html">A
project model for the FreeBSD Project</ulink></citetitle>
<author>
<firstname>Niklas</firstname>
<surname>Saers</surname>
</author>
<copyright>
<year>2005</year>
</copyright>
<publisher>
<publishername>The FreeBSD Project</publishername>
</publisher>
</biblioentry>
<biblioentry xreflabel="Nor1993">
<abbrev>Nor1993</abbrev>
<citetitle><ulink
url="http://www.norvig.com/luv-slides.ps">Tutorial
on Good Lisp Programming Style</ulink></citetitle>
<authorgroup>
<author>
<firstname>Peter</firstname>
<surname>Norvig</surname>
</author>
<author>
<firstname>Kent</firstname>
<surname>Pitman</surname>
</author>
</authorgroup>
<copyright>
<year>1993</year>
</copyright>
</biblioentry>
<biblioentry>
<abbrev>Nor2001</abbrev>
<citetitle><ulink url="http://www.norvig.com/21-days.html">Teach
Yourself Programming in Ten Years</ulink></citetitle>
<author>
<firstname>Peter</firstname>
<surname>Norvig</surname>
</author>
<copyright>
<year>2001</year>
</copyright>
</biblioentry>
<biblioentry>
<abbrev>Ray2004</abbrev>
<citetitle><ulink
url="http://www.catb.org/~esr/faqs/smart-questions.html">How
to ask questions the smart way</ulink></citetitle>
<authorgroup>
<author>
<firstname>Eric Steven</firstname>
<surname>Raymond</surname>
</author>
</authorgroup>
<copyright>
<year>2004</year>
</copyright>
</biblioentry>
<biblioentry>
<abbrev>RelEngDoc</abbrev>
<citetitle><ulink url="&url.articles.releng;">FreeBSD Release
Engineering</ulink></citetitle>
<author>
<firstname>Murray</firstname>
<surname>Stokely</surname>
</author>
<copyright>
<year>2001</year>
</copyright>
<publisher>
<publishername>The FreeBSD Project</publishername>
</publisher>
</biblioentry>
</bibliography>
</article>
--- article.sgml ends here ---
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-doc
mailing list