<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>

  
  
  <title>hackers</title>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
</head>


<body>
<h1 style="color: rgb(204, 102, 0);">Le guide du Hacker(*)
OpenOffice.org</h1>

      
<p><i>(*) Un hacker est un passionn&eacute; d'informatique
tr&egrave;s savant, appel&eacute; parfois famili&egrave;rement 'geek',<br>

&agrave; ne pas confondre avec un 'cracker' qui lui est... Un pirate !</i></p>

      
<p class="c1" style="font-weight: bold;">Un petit
r&eacute;capitulatif pour les 'geeks'...</p>

      
<p>Sun Microsystems a publi&eacute; le code source de StarOffice
sous licence OpenSource le 13 Octobre 2000.</p>

      
<p>La combinaison des codes sources, du travail sur ceux-ci, des
informations, et de la supervision de tout ce que cela implique est
appel&eacute;e "le projet OpenOffice.org" et est centralis&eacute; sur
le site internationale&nbsp; www.openoffice.org.</p>

      
<p>Le fait que Sun ouvre les sources de StarOffice est bien plus
qu'un simple acte de licence. C'est aussi la reconnaissance d'un mode
de fonctionnement et la promesse d'un travail collaboratif fructueux
pour toute une communaut&eacute;, sinon pour tous les utilisateurs de
l'informatique d'aujourd'hui. Tout le monde est vivement
encourag&eacute; &agrave; participer au projet &agrave; sa juste
mesure (vous aussi, qui lisez ces lignes. Oui, vous... Ne vous
retournez pas, c'est bien &agrave; vous que nous parlons...). Vous
serez tous utiles : des simples id&eacute;es, suggestions, rapports de
bogues, &agrave; la r&eacute;alisation de code, certains deviendront
manager de commissions, et s'ils en sont capables, auront la
possibilit&eacute; de devenir des 'core' d&eacute;veloppeurs
respect&eacute;s par leurs pairs !</p>

      
<p class="c1" style="font-weight: bold;">La licence
employ&eacute;e offre un maximum de flexibilit&eacute; :</p>

      
<p>La LGPL pour les librairies et les APIs,
cette licence OpenSource connue et reconnue encourage les
r&eacute;parations de bogues et les am&eacute;liorations de code. En effet, la GPL ne permet pas l'int&eacute;gration de code
propri&eacute;taire, et la LGPL ne permet pas non plus
d'am&eacute;liorations si elles sont propri&eacute;taires.</p>

      
<p>Ceci veut dire par exemple que vous pouvez utiliser des
&eacute;l&eacute;ments OOo comme l'import/export DOC dans votre
produit propri&eacute;taire...</p>

      
<p>Vous pouvez m&ecirc;me, si vous le souhaitez vraiment, ne pas
rester compatible avec les standards &eacute;dict&eacute;s par la
communaut&eacute;, en observant simplement une de ces deux
r&egrave;gles simples : soit vous publiez vos nouvelles
sp&eacute;cifications dans un guide de r&eacute;f&eacute;rence (pour
permettre aux autres d'&ecirc;tre compatible avec vous), soit vous
publiez en OpenSource votre code (optique de la GPL).</p>

      
<p class="c1" style="font-weight: bold;">Avantages &agrave; court
terme</p>

      
<p>Avec votre participation, les rapports de bogues vont
permettre de rapides corrections des erreurs existantes dans le
programme. Nous sommes &eacute;galement garantis d'avoir toujours des
programmes [binaires] libres et gratuits, librement redistribuables,
ce qui augmentera le nombre des utilisateurs d'OpenOffice.org et le
potentiel de notre communaut&eacute;, donc sa capacit&eacute; de
production de logiciels fiables et libres, ce qui augmentera le nombre
des utilisateurs d'OpenOffice.org et le potentiel de notre
communaut&eacute;,{Boucle sans fin - STOP}... et ainsi de suite... ;-)</p>

      
      
<p class="c1" style="font-weight: bold;">Avantages &agrave; long
terme</p>

      
<p>Le projet OpenOffice.org peut devenir &agrave; long terme
fondamental. La communaut&eacute; a l'opportunit&eacute; d'un profond
impact sur les choix et m&eacute;thodes de cr&eacute;ation,
modification, distribution, partage des documents des suites
bureautiques et ainsi de conduire un v&eacute;ritable standard ouvert
pour tous les futurs documents produits par OpenOffice.org bien sur,
mais aussi par toutes les autres suites bureautiques... Oui, pas moins.</p>

      
<p>Le code deviendra plus modulaire avec le temps, comme on peut
le constater dans les projets OpenSource, et deviendra donc de ce
fait de plus en plus adaptable aux besoins divers. OpenOffice.org
deviendra peut-&ecirc;tre un client l&eacute;ger, ou le contraire...
Personne ne le sait encore, la communaut&eacute; travaille &agrave;
donner une direction. Vous pouvez faire partie de cette
communaut&eacute; et l'aider dans ses choix.</p>

      
<p class="c1" style="font-weight: bold;">Comment participer</p>

      
<p>Dans l'imm&eacute;diat, vous pouvez t&eacute;l&eacute;charger
les binaires d'OpenOffice.org sur www.OpenOffice.org et vous inscrire
au forum de discussion francophone. Ensuite, vous trouverez sur ce
site toutes les indications et les outils pour bien participer au
projet. Comprenez que vous pourrez donnez votre avis et obtenir de
l'aide sur le forum francophone, puis si vous d&eacute;sirez aller
plus loin et r&eacute;aliser des &eacute;l&eacute;ments du logiciel,
vous pourrez directement vous connecter au syst&egrave;me CVS du site
am&eacute;ricain OpenOffice.org. Dans tous les cas, vous trouverez ici les
derni&egrave;res nouvelles et des outils en fran&ccedil;ais.
Pour tous les aspects de traduction en fran&ccedil;ais, il est bien
s&ucirc;r &eacute;vident que vous trouverez ici tout ce qu'il vous
faudra.</p>

      
<p>Si vous participez &agrave; la r&eacute;alisation de code pour
OpenOffice.org, il vous faudra consentir &agrave; transf&eacute;rer
votre copyright &agrave; Sun Microsystems. Ceci ne veut pas dire que
Sun s'appropriera votre code, mais simplement qu'il faut
l&eacute;galement un copyright pour intervenir et d&eacute;fendre les
licences OpenSource utilis&eacute;es, et bien s&ucirc;r Sun est
actuellement le mieux plac&eacute; pour cela.</p>

      Les contributeurs &eacute;trangers &agrave; l'&eacute;quipe
OpenOffice.org actuelle et &agrave; Sun Microsystems sont
encourag&eacute;s &agrave; participer et suivant la tradition
OpenSource, le projet sera guid&eacute; comme une "m&eacute;ritocratie" avec &agrave; chacun
son libre-arbitre et son
volontariat. Au plus vous donnerez, au plus vous recevrez.
</body>
</html>
