1211 lines
45 KiB
XML
1211 lines
45 KiB
XML
<?xml version="1.0" encoding="iso-8859-1"?>
|
|
<!DOCTYPE article PUBLIC "-//FreeBSD//DTD DocBook XML V5.0-Based Extension//EN"
|
|
"http://www.FreeBSD.org/XML/share/xml/freebsd50.dtd">
|
|
<!--
|
|
The FreeBSD Documentation Project
|
|
The FreeBSD French Documentation Project
|
|
Original revision: 39444
|
|
-->
|
|
<article xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:lang="fr">
|
|
<info><title>Construire des produits avec &os;</title>
|
|
|
|
|
|
<authorgroup>
|
|
<author><personname><firstname>Joseph</firstname><surname>Koshy</surname></personname><affiliation>
|
|
<orgname>Le Projet &os;</orgname>
|
|
<address><email>jkoshy@FreeBSD.org</email></address>
|
|
</affiliation></author>
|
|
</authorgroup>
|
|
|
|
<pubdate>$FreeBSD$</pubdate>
|
|
|
|
<legalnotice xml:id="trademarks" role="trademarks">
|
|
&tm-attrib.freebsd;
|
|
&tm-attrib.general;
|
|
</legalnotice>
|
|
|
|
<abstract>
|
|
<title>Résumé</title>
|
|
|
|
<para>Le projet &os; 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 &os; 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 &os; 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 &os; dans les appareils informatiques
|
|
et les logiciels. Il met en évidence les
|
|
caractéristiques de &os; 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 &os;.</para>
|
|
&trans.a.culot;
|
|
</abstract>
|
|
</info>
|
|
|
|
<sect1 xml:id="introduction">
|
|
<title>Introduction</title>
|
|
|
|
<para>&os; est reconnu aujourd'hui comme un système
|
|
d'exploitation hautes performances pour serveurs. Il est
|
|
déployé sur des millions de serveurs web et de
|
|
machines connectées à internet de part le monde.
|
|
Le code de &os; 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 &os; ont
|
|
également été utilisées dans des
|
|
produits commerciaux (voir <xref linkend="freebsd-intro"/>).</para>
|
|
|
|
<para>Dans cet article nous nous intéressons au <link xlink:href="&url.base;/">projet &os;</link> 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 &os; 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
|
|
&os; 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és 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éliorer 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
|
|
intéressés par la compréhension de la
|
|
dynamique des projets open-source.</simpara>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<simpara>Les développeurs logiciels cherchant
|
|
à utiliser &os; et désirant contribuer au
|
|
projet en retour.</simpara>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>Objectifs de l'article</title>
|
|
|
|
<para>La lecture de cet article devrait vous apporter:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<simpara>Une compréhension des buts du Projet &os;
|
|
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 &os;.</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 &os;.</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
|
|
&os;, 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 &os;. Les
|
|
pièges les plus courants rencontrés par les
|
|
sociétés travaillant avec les projets
|
|
basés sur le volontariat comme &os; sont
|
|
également présentés.</simpara>
|
|
</listitem>
|
|
|
|
<listitem>
|
|
<simpara><xref linkend="conclusion"/> conclut.</simpara>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 xml:id="freebsd-intro">
|
|
<title>&os; en tant que brique constitutive</title>
|
|
|
|
<para>&os; représente une excellente base sur laquelle
|
|
construire des produits:</para>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<simpara>Le source code de &os; 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 &os; 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 &os;, 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 fonctionnalités de
|
|
&os; 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 &os; 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 &os;</title>
|
|
|
|
<simpara>Voici quelques utilisations que des
|
|
sociétés ont faites de &os;:</simpara>
|
|
|
|
<itemizedlist>
|
|
<listitem>
|
|
<simpara>Comme source de code testé pour des
|
|
bibliothèques 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 &os; 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 &os; en
|
|
amont, ainsi que des tests effectués sur le
|
|
système de base.</simpara>
|
|
|
|
<simpara>&os; 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, fonctionnant sur un
|
|
<quote>serveur lame</quote>
|
|
séparé.</simpara>
|
|
|
|
<simpara>&os; 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. &os; 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 &os; (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 <link xlink:href="http://www.rtems.com/">RTEMS</link> et <link xlink:href="http://ecos.sourceware.org/">eCOS</link>.</simpara>
|
|
|
|
<simpara>Il existe une pléthore d'environnements de
|
|
développement très complets dans le
|
|
catalogue des &os.numports; applications portées et
|
|
empaquetées pour &os;.</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 &os; 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 &os; 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 xml:id="freebsd-technologies">
|
|
<title>Technologies</title>
|
|
|
|
<para>Le projet &os; 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 &os; 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>&os; 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 &os; 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 &os;.</simpara>
|
|
</listitem>
|
|
</itemizedlist>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>Structure organisationnelle</title>
|
|
|
|
<para>La structure organisationnelle de &os; n'est pas
|
|
hiérarchique.</para>
|
|
|
|
<para>Il existe essentiellement deux types de contributeurs
|
|
à &os;, les utilisateurs de &os;, 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
|
|
à &os; 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 &os;</title>
|
|
<mediaobject>
|
|
<imageobject>
|
|
<imagedata fileref="freebsd-organization"/>
|
|
</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 &os;. Il est exigé de la part des
|
|
<foreignphrase>committers</foreignphrase> qu'ils prennent la
|
|
responsabilité des changements qu'ils introduisent dans
|
|
le code. Le <link xlink:href="&url.articles.committers-guide;">Guide du Committer
|
|
&os;</link> <citation>ComGuide</citation> documente les
|
|
règles et responsabilités des
|
|
<foreignphrase>committers</foreignphrase>.</para>
|
|
|
|
<para>Le modèle de projet de &os; est examiné en
|
|
détails dans <citation>Nik2005</citation>.</para>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>Les processus de développement des versions
|
|
de &os;</title>
|
|
|
|
<para>Les processus de développement des versions de
|
|
&os; 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 &os; 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 &os;. Seuls les correctifs de bogues pour les
|
|
problèmes critiques sont autorisés sur les
|
|
branches -RELEASE.</simpara>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<figure xml:id="fig-freebsd-branches">
|
|
<title>Les branches &os;</title>
|
|
<mediaobject>
|
|
<imageobject>
|
|
<imagedata fileref="freebsd-branches"/>
|
|
</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 <link xlink:href="&url.articles.committers-guide;/archs.html">
|
|
architectures supportées</link> est incluse dans la
|
|
documentation &os;.</para>
|
|
|
|
<para>L'équipe en charge des versions publie une <link xlink:href="&url.base;/releng/">feuille de route</link> pour les
|
|
futures versions de &os; sur la page web du projet. Les dates
|
|
qui sont mentionnées sur la feuille de route ne sont
|
|
pas des dates butoirs: les versions de &os; sont
|
|
délivrées lorsque son code et sa documentation
|
|
sont prêts.</para>
|
|
|
|
<para>Les processus de développement des versions de &os;
|
|
sont décrits dans
|
|
<citation>RelEngDoc</citation>.</para>
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 xml:id="freebsd-collaboration">
|
|
<title>Collaborer avec &os;</title>
|
|
|
|
<para>Les projets Open-source tels que &os; 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>&os; 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 &os; sont
|
|
<citation>Hub1994</citation>:</simpara>
|
|
|
|
<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>&os; bénéficie d'une culture ouverte et
|
|
transparente. Quasiment toutes les discussions au sein du
|
|
projet se font par courrier électronique, sur les
|
|
<link xlink:href="&a.mailman.listinfo;">listes publiques</link>
|
|
qui sont aussi archivées pour la
|
|
postérité. Les règles et pratiques du
|
|
projet sont <link xlink:href="&url.base;/internal/policies.html">
|
|
documentées</link> et maintenues en utilisant un
|
|
système de gestion de versions. Participer au projet
|
|
est ouvert à tous.</simpara>
|
|
</listitem>
|
|
</itemizedlist>
|
|
|
|
<sect2 xml:id="freebsd-org">
|
|
<title>Comprendre la culture &os;</title>
|
|
|
|
<para>Afin de pouvoir travailler de manière efficace avec
|
|
le projet &os;, 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 à &os; 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 &os;
|
|
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 &os; 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 <link xlink:href="http://cvsweb.freebsd.org/"> dépôt
|
|
des sources</link> de &os; contient l'historique du
|
|
projet depuis sa création, et il existe des
|
|
<link xlink:href="http://www.mckusick.com/csrg/">CDROMs</link> 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 &os; commence par <quote>une
|
|
ébauche de consensus et en faisant tourner du
|
|
code</quote> <citation>Carp1996</citation>.</para>
|
|
|
|
<figure xml:id="fig-change-log">
|
|
<title>Un example de rapport de modification</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>Les canaux de communication</title>
|
|
|
|
<para>Les contributeurs &os; sont répartis dans le
|
|
monde entier. Le courrier électronique (et dans une
|
|
moindre mesure, l'IRC) est le moyen de communication
|
|
prépondérant au sein du projet.</para>
|
|
</formalpara>
|
|
</sect2>
|
|
|
|
<sect2>
|
|
<title>Les meilleures pratiques pour collaborer avec le projet
|
|
&os;</title>
|
|
|
|
<para>Nous nous intéressons maintenant à quelques
|
|
bonnes pratiques utiles pour tirer profit au maximum de
|
|
l'utilisation de &os; 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 &os;. Par
|
|
example:</para>
|
|
|
|
<formalpara>
|
|
<title>Suivre les changements dans le code source de
|
|
&os;</title>
|
|
|
|
<para>Le projet rend la copie de son dépôt
|
|
CVS aisée grâce à l'utilisation de
|
|
<link xlink:href="&url.articles.cvsup-advanced;"><!--
|
|
--><application>CVSup</application></link>. 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
|
|
&os; 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 &os; sont <link xlink:href="http://cvsweb.freebsd.org/">disponibles sur
|
|
Internet</link>.</para>
|
|
|
|
<figure xml: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
|
|
surveiller les développements de &os;, 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
|
|
&os; que vous utilisez, remplissez un <link xlink:href="&url.base;/send-pr.html">rapport de
|
|
bogue</link>. Cette étape permet de faire en
|
|
sorte que vous n'ayez pas à corriger le
|
|
même bogue la prochaine fois que vous
|
|
récupérerez les sources en amont.</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 &os;. Ces branches de
|
|
développement sont officiellement
|
|
supportées par les équipes en charge des
|
|
versions et les équipes sécurité de
|
|
&os; 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 butoirs
|
|
rapprochées, il est recommandé d'embaucher
|
|
ou de s'attacher les services d'un développeur ou
|
|
d'une firme qui a de l'expérience avec &os;. La
|
|
&a.jobs; est un canal de communication utile si vous
|
|
êtes à la recherche de talents dans le
|
|
domaine. Le projet &os; maintient une <link xlink:href="&url.base;/commercial/consult_bycat.html"> liste
|
|
des consultants et des firmes de consulting</link>
|
|
assurant des travaux liés à &os;. Le
|
|
<link xlink:href="http://www.bsdcertification.org/">Groupe de
|
|
Certification &os;</link> 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 <link xlink:href="http://lists.&os;.org/mailman/listinfo"> listes de
|
|
diffusion du projet</link>. 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 &os;, mais
|
|
le faire permet à la fois de vous aider vous mais
|
|
aussi le projet.</simpara>
|
|
|
|
<simpara>Faire valoir auprès de la
|
|
communauté &os; que votre société
|
|
utilise &os; améliore vos chances de pouvoir
|
|
attirer des personnes talentueuses. Une longue liste de
|
|
personnes habilitées à faire du support
|
|
sur &os; 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 &os;</term>
|
|
|
|
<listitem>
|
|
<simpara>Parfois la manière la plus directe pour
|
|
qu'une fonctionnalité dont on a besoin soit
|
|
incluse dans &os; 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 &os; peuvent bénéficier
|
|
d'avantages au niveau des impôts. Le projet a un
|
|
<link xlink:href="&url.base;/donations/">interlocuteur
|
|
dédié</link> pour assister les donateurs.
|
|
Le projet maintien également une page web sur
|
|
laquelle les développeurs <link xlink:href="&url.base;/donations/wantlist.html">recensent leurs
|
|
besoins</link>.</simpara>
|
|
|
|
<simpara>Le projet &os; met un point d'honneur à
|
|
<link xlink:href="&url.articles.contributors;">remercier</link> tous
|
|
les donnateurs sur son site web.</simpara>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</sect2>
|
|
</sect1>
|
|
|
|
<sect1 xml:id="conclusion">
|
|
<title>Conclusion</title>
|
|
|
|
<para>Les objectifs du projet &os; sont de créer et
|
|
proposer gratuitement le code source d'un système
|
|
d'exploitation de grande qualité. En travaillant avec le
|
|
projet &os; 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 &os; 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><link xlink:href="http://www.ietf.org/rfc/rfc1958.txt">The
|
|
Architectural Principles of the Internet</link></citetitle>
|
|
<author><personname><firstname>B.</firstname><surname>Carpenter</surname></personname><affiliation>
|
|
<orgname>The Internet Architecture Board</orgname>
|
|
</affiliation></author>
|
|
<copyright>
|
|
<year>1996</year>
|
|
</copyright>
|
|
</biblioentry>
|
|
<biblioentry xreflabel="Com2004">
|
|
<abbrev>Com2004</abbrev>
|
|
<citetitle><link xlink:href="http://csdl.computer.org/comp/mags/so/2004/01/s1028.pdf">How
|
|
is Open-Source Affecting Software
|
|
Development?</link></citetitle>
|
|
<authorgroup>
|
|
<author><personname><firstname>Diomidis</firstname><surname>Spinellis</surname></personname></author>
|
|
<author><personname><firstname>Clemens</firstname><surname>Szyperski</surname></personname></author>
|
|
</authorgroup>
|
|
<citetitle>IEEE Computer</citetitle>
|
|
<copyright>
|
|
<year>Jan/Feb 2004</year>
|
|
</copyright>
|
|
<publisher>
|
|
<publishername>IEEE Computer Society</publishername>
|
|
</publisher>
|
|
</biblioentry>
|
|
<biblioentry>
|
|
<abbrev>ComGuide</abbrev>
|
|
<citetitle><link xlink:href="&url.articles.committers-guide;">Committer's
|
|
Guide</link></citetitle>
|
|
<authorgroup>
|
|
<author><orgname>The &os; Project</orgname></author>
|
|
</authorgroup>
|
|
<copyright>
|
|
<year>2005</year>
|
|
</copyright>
|
|
</biblioentry>
|
|
<biblioentry>
|
|
<abbrev>Cov2005</abbrev>
|
|
<citetitle><link xlink:href="http://www.coverity.com/news/nf_news_06_27_05_story_9.html">Coverity
|
|
study on kernel security holes in Linux and &os;</link></citetitle>
|
|
<authorgroup>
|
|
<author><orgname>Coverity Inc.</orgname></author>
|
|
</authorgroup>
|
|
<copyright>
|
|
<year>2005</year>
|
|
</copyright>
|
|
</biblioentry>
|
|
<biblioentry>
|
|
<abbrev>GoldGab2005</abbrev> <citetitle><link xlink:href="http://dreamsongs.com/IHE/IHE.html">Innovation Happens
|
|
Elsewhere: Open Source as Business Strategy</link></citetitle>
|
|
<authorgroup>
|
|
<author><personname><firstname>Ron</firstname><surname>Goldman</surname></personname></author>
|
|
<author><personname><firstname>Richard</firstname><surname>Gabriel</surname></personname></author>
|
|
</authorgroup>
|
|
<copyright>
|
|
<year>2005</year>
|
|
</copyright>
|
|
<biblioid class="isbn">ISBN 1558608893</biblioid>
|
|
<publisher>
|
|
<publishername>Morgan-Kaufmann</publishername>
|
|
</publisher>
|
|
</biblioentry>
|
|
<biblioentry xreflabel="Hub1994">
|
|
<!-- XXX Get the date of this article right -->
|
|
<abbrev>Hub1994</abbrev>
|
|
<citetitle><link xlink:href="&url.articles.contributing;">Contributing
|
|
to the &os; Project</link></citetitle>
|
|
<author><personname><firstname>Jordan</firstname><surname>Hubbard</surname></personname></author>
|
|
<copyright>
|
|
<year>1994—2005</year>
|
|
</copyright>
|
|
<publisher>
|
|
<publishername>The &os; Project</publishername>
|
|
</publisher>
|
|
</biblioentry>
|
|
<biblioentry>
|
|
<abbrev>McKu1999</abbrev>
|
|
<citetitle><link xlink:href="http://www.usenix.org/publications/library/proceedings/usenix99/mckusick.html">Soft
|
|
Updates: A Technique for Eliminating Most Synchronous Writes
|
|
in the Fast Filesystem</link></citetitle>
|
|
<authorgroup>
|
|
<author><personname><firstname>Kirk</firstname><surname>McKusick</surname></personname></author>
|
|
<author><personname><firstname>Gregory</firstname><surname>Ganger</surname></personname></author>
|
|
</authorgroup>
|
|
<confgroup>
|
|
<conftitle>USENIX Annual Technical Conference</conftitle>
|
|
</confgroup>
|
|
<copyright>
|
|
<year>1999</year>
|
|
</copyright>
|
|
</biblioentry>
|
|
<biblioentry>
|
|
<abbrev>McKu1999-1</abbrev>
|
|
<citetitle><link xlink:href="http://www.oreilly.com/catalog/opensources/book/kirkmck.html">Twenty Years of Berkeley Unix: From AT&T-Owned to
|
|
Freely Redistributable</link></citetitle>
|
|
<authorgroup>
|
|
<author><personname><firstname>Marshall Kirk</firstname><surname>McKusick</surname></personname></author>
|
|
</authorgroup>
|
|
<citetitle><link xlink:href="http://www.oreilly.com/catalog/opensources/book/toc.html">Open
|
|
Sources: Voices from the Open Source
|
|
Revolution</link></citetitle>
|
|
<biblioid class="isbn">ISBN 1-56592-582-3</biblioid>
|
|
<publisher>
|
|
<publishername>O'Reilly Inc.</publishername>
|
|
</publisher>
|
|
<copyright>
|
|
<year>1993</year>
|
|
</copyright>
|
|
</biblioentry>
|
|
<biblioentry>
|
|
<abbrev>Mon2005</abbrev>
|
|
<citetitle><link xlink:href="&url.articles.bsdl-gpl;/article.html">Why you should
|
|
use a BSD style license for your Open Source
|
|
Project</link></citetitle>
|
|
<author><personname><firstname>Bruce</firstname><surname>Montague</surname></personname></author>
|
|
<publisher>
|
|
<publishername>The &os; Project</publishername>
|
|
</publisher>
|
|
<copyright>
|
|
<year>2005</year>
|
|
</copyright>
|
|
</biblioentry>
|
|
<biblioentry xreflabel="Nik2005">
|
|
<abbrev>Nik2005</abbrev>
|
|
<citetitle><link xlink:href="&url.books.dev-model;/book.html">A
|
|
project model for the &os; Project</link></citetitle>
|
|
<author><personname><firstname>Niklas</firstname><surname>Saers</surname></personname></author>
|
|
<copyright>
|
|
<year>2005</year>
|
|
</copyright>
|
|
<publisher>
|
|
<publishername>The &os; Project</publishername>
|
|
</publisher>
|
|
</biblioentry>
|
|
<biblioentry xreflabel="Nor1993">
|
|
<abbrev>Nor1993</abbrev>
|
|
<citetitle><link xlink:href="http://www.norvig.com/luv-slides.ps">Tutorial
|
|
on Good Lisp Programming Style</link></citetitle>
|
|
<authorgroup>
|
|
<author><personname><firstname>Peter</firstname><surname>Norvig</surname></personname></author>
|
|
<author><personname><firstname>Kent</firstname><surname>Pitman</surname></personname></author>
|
|
</authorgroup>
|
|
<copyright>
|
|
<year>1993</year>
|
|
</copyright>
|
|
</biblioentry>
|
|
<biblioentry>
|
|
<abbrev>Nor2001</abbrev>
|
|
<citetitle><link xlink:href="http://www.norvig.com/21-days.html">Teach
|
|
Yourself Programming in Ten Years</link></citetitle>
|
|
<author><personname><firstname>Peter</firstname><surname>Norvig</surname></personname></author>
|
|
<copyright>
|
|
<year>2001</year>
|
|
</copyright>
|
|
</biblioentry>
|
|
<biblioentry>
|
|
<abbrev>Ray2004</abbrev>
|
|
<citetitle><link xlink:href="http://www.catb.org/~esr/faqs/smart-questions.html">How
|
|
to ask questions the smart way</link></citetitle>
|
|
<authorgroup>
|
|
<author><personname><firstname>Eric Steven</firstname><surname>Raymond</surname></personname></author>
|
|
</authorgroup>
|
|
<copyright>
|
|
<year>2004</year>
|
|
</copyright>
|
|
</biblioentry>
|
|
<biblioentry>
|
|
<abbrev>RelEngDoc</abbrev>
|
|
<citetitle><link xlink:href="&url.articles.releng;">&os; Release
|
|
Engineering</link></citetitle>
|
|
<author><personname><firstname>Murray</firstname><surname>Stokely</surname></personname></author>
|
|
<copyright>
|
|
<year>2001</year>
|
|
</copyright>
|
|
<publisher>
|
|
<publishername>The &os; Project</publishername>
|
|
</publisher>
|
|
</biblioentry>
|
|
</bibliography>
|
|
</article>
|