FreeBSD Bugzilla – Attachment 119304 Details for
Bug 161804
New documentation: French translation for building-products article
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
article.sgml
article.sgml (text/plain), 54.45 KB, created by
Frederic Culot
on 2011-10-19 12:20:07 UTC
(
hide
)
Description:
article.sgml
Filename:
MIME Type:
Creator:
Frederic Culot
Created:
2011-10-19 12:20:07 UTC
Size:
54.45 KB
patch
obsolete
><!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@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>
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 161804
: 119304