Réflexions autour des

      Plate-formes pour le
      développement collaboratif
      des logiciels libres
      « forg...
Le logiciel libre c'est
                     super !




Page 2 / 74    Agadir GNU/Linux days 2008   O. Berger
Mais tant qu'il y a quelqu'un
                 pour le développer ;-)

              Comment il est développé ?



Page 3 ...
Présentation personnelle
               Ingénieur  de Recherche au département INF à
                TELECOM & Management...
Plusieurs visites au Maroc

               Plusieurs         conférences à Casablanca

               Plusieurs         ...
Objectif de cette conférence

               Donner une idée des enjeux liés à la
               collaboration dans les p...
Contenu




             Introduction générale




Agadir GNU/Linux days 2008
Introduction générale sur le libre

 Principes
 Géopolitique                de l'Industrie logicielle
 Historique




 ...
Définition du logiciel libre
              «   La liberté d'exécuter le programme, pour tous
                les usages (...
 Introduction
                Principes
                Géopolitique                de l'Industrie logicielle
         ...
Software Wars




Page 11 / 74   Agadir GNU/Linux days 2008   O. Berger
Immense élan vers le libre

                Réduire  les coûts (commoditisation)
                Effets de réseaux pour ...
« Commoditisation » du logiciel




Page 13 / 74   Agadir GNU/Linux days 2008   O. Berger
Valeur du libre ?

                Exemple:   Debian 2.2 GNU/Linux (2001)
                Lignes de code source :
      ...
ValeurS : mouvement logiciel libre

                Philosophie    : Liberté, Egalité, Fraternité
                 • Libe...
 Introduction
                Principes
                Géopolitique                de l'Industrie logicielle
         ...
Chronologie

                Au  début était le code source (< 80) Unix, BSD
                 (> 80)
                GNU...
Aujourd'hui incontournable

                20/25ans plus tard
                La partie est en voie d'être gagnée (?)

...
Qui sont les développeurs
                             de logiciels libres ?




Page 19 / 74   Agadir GNU/Linux days 2008...
Qui participe au développement ?

                Bénévoles
                 • Parfois très isolés (lonesome coder)
     ...
Le libre est global




Page 21 / 74   Agadir GNU/Linux days 2008   O. Berger
Où vivent ces développeurs ?

               Par pays (SourceForge) :

               Rang       Pays                     ...
Où vivent ces développeurs ? (2)

               Par continent :

                  Continent                   Développeu...
Pourquoi développent-ils
                 des logiciels libres ?




Agadir GNU/Linux days 2008
Motivations

 Nombreuses    et diverses
 Beaucoup d'études sociologiques
 Besoin (résoudre un problème)
 Plaisir (tech...
Avec quel mode d'organisation ?




Agadir GNU/Linux days 2008
Comment le libre est-il développé ?

                Initialement,  caricature :
                 • old-style traditional...
Communautés, résaux sociaux

Linux 1.0
(1994)
Developers linked by
common authorship to
same files
source [Robles]




Pag...
Bon sang, mais c'est le bazar !




Classical analysis of Apache modules feb. 2004 (source [Robles])
Page 29 / 74   Agadir...
Amélioration de la visualisation




                  Reshaped with Girvan-Newman algorithm (source
                  [Ro...
Apache 01/01/1999




Page 31 / 74   Agadir GNU/Linux days 2008   O. Berger
Apache 01/01/2000




Page 32 / 74   Agadir GNU/Linux days 2008   O. Berger
Apache 01/09/2000




Page 33 / 74   Agadir GNU/Linux days 2008   O. Berger
Apache 01/01/2002




Page 34 / 74   Agadir GNU/Linux days 2008   O. Berger
Apache 01/02/2004




Page 35 / 74   Agadir GNU/Linux days 2008   O. Berger
Logiciel libre vs. projet libre

 Logiciel       libre : 4 libertés = licence libre

 Projet     ouvert : communauté, rè...
Pas que la licence à condidérer

                Communauté
                 • développement
                 • utilisatr...
Règles de vie en communauté

                Bénévoles  (motivations)
                Professionnels
                Co...
Enjeux sociaux plus que techniques

                Comprendre     les règles du jeu
                Identifier les élém...
Prendre part à une nouvelle communauté

                Rencontrer  des hommes (et des femmes), pas
                 seul...
Processus de production




Agadir GNU/Linux days 2008
Du producteur au consommateur

 Code source dans l'éditeur du programmeur
 Gestionnaire de versions partagé
 Tarball (a...
Rapide panorama d'un écosystème



                                           Debian
                                     ...
Agadir GNU/Linux days 2008
Quels outils

 Plate-forme           de collaboration

 Systèmes          d'assurance qualité

 Fabrication de paquetag...
Exemple : « repackaging »




Agadir GNU/Linux days 2008
Repackager i810switch




Page 47 / 74                http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=374638#15
         ...
Repackager i810switch (suite)
       $ apt-get source i810switch
       Lecture des listes de paquets... Fait
       Const...
Facile, mais pas immédiat




Agadir GNU/Linux days 2008
C'est l'histoire d'un bug
         *   From: Olivier Berger < olivier.berger@int-edu.eu>
         *   To: quot; Sympa-dev@...
Bug Sympa dans Debian




Page 51 / 74   Agadir GNU/Linux days 2008   O. Berger
                                          ...
Page 52 / 74   Agadir GNU/Linux days 2008   O. Berger
                                                        J+6
Committed upstream (branch in SVN)




Page 53 / 74   Agadir GNU/Linux days 2008   O. Berger
                             ...
Migration vers Debian




                                                                             J+7
    Accepted sy...
Page 55 / 74   Agadir GNU/Linux days 2008   O. Berger
Contenu




          « Forges » logicielles




Agadir GNU/Linux days 2008
Plate-forme « intégrée »

 Outils de travail collaboratif :
  • CVS, SubVersion, mailing-lists, IRC
 Services « Forges »...
Intérêt des forges

 Héberger
  • le code
  • la vie d'une communauté
  • ce qui complète le code (bugs, doc, etc.)
 Poi...
Retour d'expérience : projet PicoForge

 Projet   « logiciel libre » développé
  • Initialement à l'ENST Bretagne (2001 >...
Plate-forme « Forge »

 Assemblage     logiciels libres
 Contruire une « forge » pour développement
  collaboratif de lo...
Architecture de PicoForge



SSH                    phpGoupWare       Sympa

 CVS                    picoForgeAPI    openL...
Portail interne projet




Agadir GNU/Linux days 2008
Gestionnaire de tickets (bugs)




Page 63 / 74   Agadir GNU/Linux days 2008   O. Berger
Wiki : base de connaissances




Page 64 / 74   Agadir GNU/Linux days 2008
Interface Web référentiel versions




Page 65 / 74   Agadir GNU/Linux days 2008   O. Berger
Forges de nouvelle génération

                Infrastructuredécentralisée (P2P)
                Structure de projets mo...
Conduite de projets informatiques
                            basés sur du libre




Page 67 / 74   Agadir GNU/Linux days ...
Conduite de projet
       Analyse des besoins



                  Spécification



                            Architectu...
Maintien en condition opérationnelle

                Réactivité         pour les mises à jour

                Stabilis...
Reverser au projet

                Rendre générique les éléments spécifiques
                Maintenus à l'extérieur
  ...
Contribuer : une nécessité

                Cercle  vertueux des contributions
                Quasi-obligation du fait ...
Conclusion
                Trop     rapide, et loin de l'exhaustivité

                Le libre est un changement extrèm...
Choukran
                   Merci de votre attention

               Merci aux organisateurs de m'avoir invité.



Page 73...
À propos de cette conférence

                Conférence   « compensée carbone »
                • Suis venu en avion dep...
Upcoming SlideShare
Loading in …5
×

Plate-formes pour le développement collaboratif des logiciels libres

2,149 views
2,075 views

Published on

Réflexions autour des plate-formes pour le développement collaboratif des logiciels libres (« forges » logicielles) - 4ème GNU/Linux days Agadir (Maroc)

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,149
On SlideShare
0
From Embeds
0
Number of Embeds
28
Actions
Shares
0
Downloads
27
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Plate-formes pour le développement collaboratif des logiciels libres

  1. 1. Réflexions autour des Plate-formes pour le développement collaboratif des logiciels libres « forges » logicielles Olivier Berger, TELECOM & Management SudParis (ex. GET/INT) - Département INF <olivier.berger@it­sudparis.eu> Vendredi 9 mai 2008 4ème GNU/Linux days (ENSALinux) Agadir (Maroc)
  2. 2. Le logiciel libre c'est super ! Page 2 / 74 Agadir GNU/Linux days 2008 O. Berger
  3. 3. Mais tant qu'il y a quelqu'un pour le développer ;-) Comment il est développé ? Page 3 / 74 Agadir GNU/Linux days 2008 O. Berger
  4. 4. Présentation personnelle  Ingénieur de Recherche au département INF à TELECOM & Management SudParis (ex GET/INT) à Evry (France)  Ancien V.P. d'APRIL (http://www.april.org/)  Récent contributeur de la distribution Debian  Recherche : • plate-formes de dév. collaboratif (forges) • Développeur PicoForge http://www.picoforge.org/ • Projets de recherche sur le logiciel libre (Commission Européenne FP6 IST CALIBRE)  Google est mon ami, mais plus de détails sur : • http://www-public.it-sudparis.eu/~berger_o/ • http://www-public.it-sudparis.eu/~berger_o/weblog/ Page 4 / 74 Agadir GNU/Linux days 2008 O. Berger
  5. 5. Plusieurs visites au Maroc  Plusieurs conférences à Casablanca  Plusieurs séjours en touriste ;-)  Bonheurde compléter ma connaissance du pays à Agadir :-) Page 5 / 74 Agadir GNU/Linux days 2008 O. Berger
  6. 6. Objectif de cette conférence  Donner une idée des enjeux liés à la collaboration dans les projets libres  Rappel quelques fondamentaux du modèle libre  « Démythifier » un modèle loin d'être magique  Donner un aperçu (très rapide) des outils  Inciter à s'engager dans le développement des logiciels libres, et à contribuer autant que possible Page 6 / 74 Agadir GNU/Linux days 2008 O. Berger
  7. 7. Contenu Introduction générale Agadir GNU/Linux days 2008
  8. 8. Introduction générale sur le libre  Principes  Géopolitique de l'Industrie logicielle  Historique Agadir GNU/Linux days 2008
  9. 9. Définition du logiciel libre « La liberté d'exécuter le programme, pour tous les usages (liberté 0).  La liberté d'étudier le fonctionnement du programme, et de l'adapter à vos besoins (liberté 1). Pour ceci l'accès au code source est une condition requise.  La liberté de redistribuer des copies, donc d'aider votre voisin, (liberté 2).  La liberté d'améliorer le programme et de publier vos améliorations, pour en faire profiter toute la communauté (liberté 3). Pour ceci l'accès au code source est une condition requise. » Définition de la Free Software Foundation (FSF) Page 9 / 74 Agadir GNU/Linux days 2008 O. Berger
  10. 10.  Introduction  Principes  Géopolitique de l'Industrie logicielle  Historique Page 10 / 74 Agadir GNU/Linux days 2008 O. Berger
  11. 11. Software Wars Page 11 / 74 Agadir GNU/Linux days 2008 O. Berger
  12. 12. Immense élan vers le libre  Réduire les coûts (commoditisation)  Effets de réseaux pour établir des standards  Mutualiser la R&D  « Co-opétition » : • coopération • compétition  Prendre position dans le libre pour maîtriser son évolution  Modèles économiques ? Page 12 / 74 Agadir GNU/Linux days 2008 O. Berger
  13. 13. « Commoditisation » du logiciel Page 13 / 74 Agadir GNU/Linux days 2008 O. Berger
  14. 14. Valeur du libre ?  Exemple: Debian 2.2 GNU/Linux (2001)  Lignes de code source : • 55 201 526 • dont noyau Linux < 6%  Si applique métriques traditionnelles du développement en entreprise : • Effort estimé : 14 005 hommes x années • Délai estimé : 6,04 ans (équipe de 2 318 p.) • Coût développement : US$ 1 891 990 000 (Source: quot;Counting potatoesquot; par Gonzalez-Barahona et al)  Cf. http://ohloh.net pour d'autres chiffres Page 14 / 74 Agadir GNU/Linux days 2008 O. Berger
  15. 15. ValeurS : mouvement logiciel libre  Philosophie : Liberté, Egalité, Fraternité • Liberté : faire des copies, améliorer, distribuer • Égalité : mêmes droits pour tout le monde • Fraternité : Co-opération pour construire des biens communs  Mouvement « politique » • Éthique, philosophie, activisme politique • Richard M. Stallman et la FSF (Free Software Foundation : http://www.fsf.org) • APRIL, en france http://www.april.org/ Page 15 / 74 Agadir GNU/Linux days 2008 O. Berger
  16. 16.  Introduction  Principes  Géopolitique de l'Industrie logicielle  Historique Page 16 / 74 Agadir GNU/Linux days 2008 O. Berger
  17. 17. Chronologie  Au début était le code source (< 80) Unix, BSD (> 80)  GNU project & Free Software Foundation créés par Richard M. Stallman (> 84)  Noyau Linux créé par Linus Torvalds (> 91)  Distributions GNU/Linux ( > 95)  IBM entre en jeu (2001)  Sun rachète StarOffice et création de OpenOffice.org (2002)  Google sponsorise  Java sous GPL  Android, OpenMoko... Page 17 / 74 Agadir GNU/Linux days 2008 O. Berger
  18. 18. Aujourd'hui incontournable  20/25ans plus tard  La partie est en voie d'être gagnée (?)  Mais au fait, comment ça marche !?!  Soutenabilité du modèle ? Page 18 / 74 Agadir GNU/Linux days 2008 O. Berger
  19. 19. Qui sont les développeurs de logiciels libres ? Page 19 / 74 Agadir GNU/Linux days 2008 O. Berger
  20. 20. Qui participe au développement ?  Bénévoles • Parfois très isolés (lonesome coder) • Parfois de façon organisée (Apache, GNU project, etc.)  Entreprises • De plus en plus !  Pas un seul profil d'activités : • Utilisation, tests, rapports de bugs • Support communautaire (forums, listes, etc.) • Ecrire du code • Vendre du libre • etc. Page 20 / 74 Agadir GNU/Linux days 2008 O. Berger
  21. 21. Le libre est global Page 21 / 74 Agadir GNU/Linux days 2008 O. Berger
  22. 22. Où vivent ces développeurs ? Par pays (SourceForge) : Rang Pays Developpeurs 1. United States 425620 2. Germany 95800 3. United Kingdom 60768 4. Canada 49109 5. France 44587 6. China 36517 ... ... ... (source : Gregorio Robles and Jesús M. González Barahona - 2006) Page 22 / 74 Agadir GNU/Linux days 2008 O. Berger
  23. 23. Où vivent ces développeurs ? (2) Par continent : Continent Développeurs Africa 12 560 Asia 127 275 EU 401 845 Europe 466 792 North America 485 679 Oceania 46 422 South America 36 330 (source : Gregorio Robles and Jesús M. González Barahona – 2006) Page 23 / 74 Agadir GNU/Linux days 2008 O. Berger
  24. 24. Pourquoi développent-ils des logiciels libres ? Agadir GNU/Linux days 2008
  25. 25. Motivations  Nombreuses et diverses  Beaucoup d'études sociologiques  Besoin (résoudre un problème)  Plaisir (technique et relations humaines)  Travail  Apprendre  Construire une réputation  ... Agadir GNU/Linux days 2008
  26. 26. Avec quel mode d'organisation ? Agadir GNU/Linux days 2008
  27. 27. Comment le libre est-il développé ?  Initialement, caricature : • old-style traditional model : Cathedral • new unexpected style : Bazaar quot;The Cathedral and the Bazaarquot; (Eric Raymond)  Aujourd'hui analyses plus précises  Pas qu'un seul modèle  Evolution dans la vie du projet  En ligne  Mais importance de rencontres physiques Page 27 / 74 Agadir GNU/Linux days 2008 O. Berger
  28. 28. Communautés, résaux sociaux Linux 1.0 (1994) Developers linked by common authorship to same files source [Robles] Page 28 / 74 Agadir GNU/Linux days 2008 O. Berger
  29. 29. Bon sang, mais c'est le bazar ! Classical analysis of Apache modules feb. 2004 (source [Robles]) Page 29 / 74 Agadir GNU/Linux days 2008 O. Berger
  30. 30. Amélioration de la visualisation Reshaped with Girvan-Newman algorithm (source [Robles]) Page 30 / 74 Agadir GNU/Linux days 2008 O. Berger
  31. 31. Apache 01/01/1999 Page 31 / 74 Agadir GNU/Linux days 2008 O. Berger
  32. 32. Apache 01/01/2000 Page 32 / 74 Agadir GNU/Linux days 2008 O. Berger
  33. 33. Apache 01/09/2000 Page 33 / 74 Agadir GNU/Linux days 2008 O. Berger
  34. 34. Apache 01/01/2002 Page 34 / 74 Agadir GNU/Linux days 2008 O. Berger
  35. 35. Apache 01/02/2004 Page 35 / 74 Agadir GNU/Linux days 2008 O. Berger
  36. 36. Logiciel libre vs. projet libre  Logiciel libre : 4 libertés = licence libre  Projet ouvert : communauté, règles ? Agadir GNU/Linux days 2008
  37. 37. Pas que la licence à condidérer  Communauté • développement • utilisatrice  Personnes  Acteurs économiques  But, objectifs partagés ?  Méthodologie (explicite ?)  Qualités propres du code Page 37 / 74 Agadir GNU/Linux days 2008 O. Berger
  38. 38. Règles de vie en communauté  Bénévoles (motivations)  Professionnels  Contractualisation ?  Roadmap  Stratégie de stabilisation de versions  Système d'Assurance Qualité  Leadership Page 38 / 74 Agadir GNU/Linux days 2008 O. Berger
  39. 39. Enjeux sociaux plus que techniques  Comprendre les règles du jeu  Identifier les éléments influents  Motiver des bénévoles  Faire accepter ses contributions  Impact sur les décisions  Prouver son implication  Se faire (re-)connaître  Anticiper les alea  Fondamental : confiance Page 39 / 74 Agadir GNU/Linux days 2008 O. Berger
  40. 40. Prendre part à une nouvelle communauté  Rencontrer des hommes (et des femmes), pas seulement des compagnies ou des services marketing  Construire un projet où différents modèles peuvent cohabiter  Apprendre les règles des communautés  De nombreux mode d'organisation sociale  Comme dans la « vie réelle » c'est souvent plus subtil que ce qu'on en dit dans les présentations ou les publicités !  Se comprendre (anglais, ...) Page 40 / 74 Agadir GNU/Linux days 2008 O. Berger
  41. 41. Processus de production Agadir GNU/Linux days 2008
  42. 42. Du producteur au consommateur  Code source dans l'éditeur du programmeur  Gestionnaire de versions partagé  Tarball (archives) à télécharger  Paquetages dans un miroir (binaire)  Paquetages installés sur l'ordinateur de l'utilisateur  Bugs dans les binaires installés ;-) Agadir GNU/Linux days 2008
  43. 43. Rapide panorama d'un écosystème Debian Debian s rs ion ve gs packages bu Développeurs versions Utilisateurs amont RedHat RedHat bugs (“upstream”) bugs ve rsi bu ons gs OpenSuse Éditeurs SSII distributions Page 43 / 74 Agadir GNU/Linux days 2008 O. Berger
  44. 44. Agadir GNU/Linux days 2008
  45. 45. Quels outils  Plate-forme de collaboration  Systèmes d'assurance qualité  Fabrication de paquetages  Suivi des bugs  Tests automatisés  Synchronisation ??  Agents humains + robots Agadir GNU/Linux days 2008
  46. 46. Exemple : « repackaging » Agadir GNU/Linux days 2008
  47. 47. Repackager i810switch Page 47 / 74 http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=374638#15 Agadir GNU/Linux days 2008 O. Berger
  48. 48. Repackager i810switch (suite) $ apt-get source i810switch Lecture des listes de paquets... Fait Construction de l'arbre des dépendances Lecture des informations d'état... Fait Nécessité de prendre 32,3ko dans les sources. Réception de : 1 http://ftp.fr.debian.org testing/main i810switch 0.6.5-3 (dsc) [593B] Réception de : 2 http://ftp.fr.debian.org testing/main i810switch 0.6.5-3 (tar) [24,3kB] Réception de : 3 http://ftp.fr.debian.org testing/main i810switch 0.6.5-3 (diff) [7376B] 32,3ko réceptionnés en 0s (271ko/s) gpg: Signature made ven 22 déc 2006 00:06:16 CET using DSA key ID 0917A9E4 gpg: Can't check signature: public key not found dpkg-source : extraction de i810switch dans i810switch-0.6.5 dpkg-source : extraction de i810switch_0.6.5.orig.tar.gz dpkg-source : mise en place de ./i810switch_0.6.5-3.diff.gz $ cd i810switch-0.6.5/ $ wget quot;http://bugs.debian.org/cgi-bin/bugreport.cgi? msg=15;filename=i810switch_macbook_support.patch;att=1;bug=374638quot; $ patch -p1 <i810switch_macbook_support.patch patching file debian/changelog patching file i810switch.c $ dpkg-buildpackage -rfakeroot dpkg-buildpackage: source package i810switch dpkg-buildpackage: source version 0.6.5-4 dpkg-buildpackage: source changed by Thomas Perl <thp@perli.net> dpkg-buildpackage: host architecture i386 fakeroot debian/rules clean dh_testdir dh_testroot ... dpkg-deb : construction du paquet « i810switch » dans « ../i810switch_0.6.5-4_i386.deb ». Page 48 / 74 Agadir GNU/Linux days 2008 O. Berger
  49. 49. Facile, mais pas immédiat Agadir GNU/Linux days 2008
  50. 50. C'est l'histoire d'un bug * From: Olivier Berger < olivier.berger@int-edu.eu> * To: quot; Sympa-dev@cru.frquot; < Sympa-dev@cru.fr> * Subject: [sympa-dev] Re: Re: authenticateAndRun for createList not working in SOAP server in 5.3.3 ? * Date: Fri, 21 Sep 2007 16:58:26 +0200 Le vendredi 21 septembre 2007 à 16:29 +0200, Olivier Berger a écrit : > > > > I'm using the soap client in Perl in which I did something like : > > $reponse = > > $soap->authenticateAndRun($user_email,$md5,'createList', ['essai5','essai5','picoforge_publicproject_members','List > > essai4 of project essai4','essai4']) > > &print_result($reponse); > > called with the listmaster user... > > Having a look at the createList() code in sympasoap.pm, I see : ... unless ($reject){ &Log::do_log('info', 'create_list %s@%s from %s refused, missing parameter(s) %s', $listname,$robot,$sender,$reject); die SOAP::Fault->faultcode('Server') ->faultstring('Missing parameter') ->faultdetail(quot;Missing required parameter(s) : $rejectquot;); } Wouldn't it be : *IF* ($reject){ &Log::do_log('info', 'create_list %s@%s from %s refused, missing parameter(s) %s', $listname,$robot,$sender,$reject); die SOAP::Fault->faultcode('Server') ->faultstring('Missing parameter') ->faultdetail(quot;Missing required parameter(s) : $rejectquot;); } instead of unless ? Page 50 / 74 Agadir GNU/Linux days 2008 O. Berger
  51. 51. Bug Sympa dans Debian Page 51 / 74 Agadir GNU/Linux days 2008 O. Berger J+5
  52. 52. Page 52 / 74 Agadir GNU/Linux days 2008 O. Berger J+6
  53. 53. Committed upstream (branch in SVN) Page 53 / 74 Agadir GNU/Linux days 2008 O. Berger J+6
  54. 54. Migration vers Debian J+7 Accepted sympa 5.3.3-5 (source i386) Date: Fri, 26 Oct 2007 11:56:09 +0200 Source: sympa Binary: sympa Architecture: source i386 Version: 5.3.3-5 Distribution: unstable Urgency: low Maintainer: Stefan Hornburg (Racke) <racke@linuxia.de> Changed-By: Stefan Hornburg (Racke) <racke@linuxia.de> Description: sympa - Modern mailing list manager Closes: 443802 444188 444304 447721 447945 Changes: sympa (5.3.3-5) unstable; urgency=low . * fix createList not invoked from authenticateAndRun on SOAP server (Closes: #444188) J+35 Page 54 / 74 Agadir GNU/Linux days 2008 O. Berger
  55. 55. Page 55 / 74 Agadir GNU/Linux days 2008 O. Berger
  56. 56. Contenu « Forges » logicielles Agadir GNU/Linux days 2008
  57. 57. Plate-forme « intégrée »  Outils de travail collaboratif : • CVS, SubVersion, mailing-lists, IRC  Services « Forges » publiques : hébergement • SourceForge • Savannah • ...  Installation forge « privée » : • Gforge, • LibreSource, • PicoForge • Trac Agadir GNU/Linux days 2008
  58. 58. Intérêt des forges  Héberger • le code • la vie d'une communauté • ce qui complète le code (bugs, doc, etc.)  Point d'entrée unique, référentiel unique  Travail « distribué » (géographiquement)  Travail asynchrone  Contraintes : accès internet solide Agadir GNU/Linux days 2008
  59. 59. Retour d'expérience : projet PicoForge  Projet « logiciel libre » développé • Initialement à l'ENST Bretagne (2001 >) • Puis à l'INT  Développement peu ouvert  Utilisé principalement à l'Institut TELECOM (ex. GET)  Connaître les mécanismes du libre en les pratiquant  Projet déployé en interne en se basant sur l'intégration de composants externes  Problématique de la maintenabilité : nécessité de contribution Agadir GNU/Linux days 2008
  60. 60. Plate-forme « Forge »  Assemblage logiciels libres  Contruire une « forge » pour développement collaboratif de logiciels • Projets = espaces de travail sur Net (phpGroupware) • Mailing-lists (Sympa) • Wikis (TWiki) • Repositories CVS/SVN • Bugtracker (à venir) • ...  Packaging Debian pour installation aisée Agadir GNU/Linux days 2008
  61. 61. Architecture de PicoForge SSH phpGoupWare Sympa CVS picoForgeAPI openLDAP Pico Modules SVN MySQL Mantis Pico Backend Apache2  +  TWiki dav Agadir GNU/Linux days 2008
  62. 62. Portail interne projet Agadir GNU/Linux days 2008
  63. 63. Gestionnaire de tickets (bugs) Page 63 / 74 Agadir GNU/Linux days 2008 O. Berger
  64. 64. Wiki : base de connaissances Page 64 / 74 Agadir GNU/Linux days 2008
  65. 65. Interface Web référentiel versions Page 65 / 74 Agadir GNU/Linux days 2008 O. Berger
  66. 66. Forges de nouvelle génération  Infrastructuredécentralisée (P2P)  Structure de projets modulable  Supervisation des processus  Intégration continue  Automatisation  Projet HELIOS (pôle de compétitivité System@tic, financement public) – début en 09/2008 Page 66 / 74 Agadir GNU/Linux days 2008 O. Berger
  67. 67. Conduite de projets informatiques basés sur du libre Page 67 / 74 Agadir GNU/Linux days 2008 O. Berger
  68. 68. Conduite de projet Analyse des besoins Spécification Architecture Conception détaillée Codage Tests ? Déploiement Page 68 / 74 Agadir GNU/Linux days 2008 O. Berger
  69. 69. Maintien en condition opérationnelle  Réactivité pour les mises à jour  Stabilisationcoûteuse • Mises à jour de sécurité permanentes • Répétition des mises à jour  Automatisation souhaitable • Diminuer la taille du code spécifique Page 69 / 74 Agadir GNU/Linux days 2008 O. Berger
  70. 70. Reverser au projet  Rendre générique les éléments spécifiques  Maintenus à l'extérieur  Améliorés à l'extérieur  Pas besoin de les repackager  Plus facile à dire qu'à faire Page 70 / 74 Agadir GNU/Linux days 2008 O. Berger
  71. 71. Contribuer : une nécessité  Cercle vertueux des contributions  Quasi-obligation du fait des licences  Externalisation de la maintenance  Se faire plaisir et apprendre en vraie grandeur  Se faire connaître et reconnaître  Influer sur le pilotage d'un projet Page 71 / 74 Agadir GNU/Linux days 2008 O. Berger
  72. 72. Conclusion  Trop rapide, et loin de l'exhaustivité  Le libre est un changement extrèmement positif  Plein d'oportunités  Pas un seul modèle : mais quelques bonnes pratiques à adopter  Importance (relative) des outils : forges  Contribuer est nécessaire pour la survie du modèle, mais aussi concrètement dans les effets utiles aux projets locaux. Page 72 / 74 Agadir GNU/Linux days 2008 O. Berger
  73. 73. Choukran Merci de votre attention Merci aux organisateurs de m'avoir invité. Page 73 / 74 Agadir GNU/Linux days 2008 O. Berger
  74. 74. À propos de cette conférence  Conférence « compensée carbone » • Suis venu en avion depuis Paris (retour) • Ai rejeté env. 1083 kgEqCO2 • Ai fait un don pour soutenir les projets d' http://actioncarbone.org/ (reboisement, etc.)  Suppport Copyright 2008 : Olivier BERGER / Institut TELECOM Sous licence Creatice Commons (sharealike) Page 74 / 74 Agadir GNU/Linux days 2008 O. Berger

×