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