Retour d'expérience sur la
conduite d'un projet libre

Olivier Berger, TELECOM & Management
SudParis - Département INF
<ol...
<hype mode=quot;onquot;>




 Le libre
c'est bon.

 Mangez-en !
              O. Berger   2/9
Dans le
libre, on
  se fait
vite plein
 d'amis !
       O. Berger   3/9
Mettez votre
 logiciel sous
      GPL
succès assuré !
      O. Berger   4/9
Les failles de
  sécu sont
  corrigées
 super vite !
patch#45678
      O. Berger   5/9
Les
contributeurs
  travaillent
gratuitement
 vite et bien
      O. Berger   6/9
La solution à
    tous les
 problèmes de
développement
       ...
      O. Berger   7/9
Après
 l'outsourcing
       le
CrowdSourcing
 </hype>   O. Berger   8/9
Foutaise ?
    O. Berger   9/9
Plus sérieusement...




Page 10 / 90   Dpt. INF    O. Berger
Présentation personnelle
                Ingénieur de Recherche au département INF à
                 TELECOM & Managemen...
Sondage rapide

                Déjà eu des cours sur le sujet ?
                Logiciel libre ?
                Linux...
Objectif de cette conférence

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




                Introduction générale

                   Collaboration dans
                   l'écosystème l...
Introduction générale sur le libre

 Principes
 Géopolitique   de l'Industrie logicielle
 Historique
« Sociologie » d'...
Définition du logiciel libre
               «   La liberté d'exécuter le programme, pour tous
                 les usages...
Terminologie

                Libre  ~= OpenSource
                Liberté !
                Coût ?
                Au...
Libre vs. non-libre

                En  théorie, identification facile :
                 droit d'utilisation : OK - NOK...
Logiciel libre




Page 19 / 90   Dpt. INF         O. Berger
Logiciel non-libre (Propriétaire)




Page 20 / 90   Dpt. INF        O. Berger
Exemples de logiciels libres

                GNU/Linux,   FreeBSD, OpenBSD
                Apache
                Perl...
Annuaires

                Freshmeat  http://freshmeat.net/ (43000 projets)
                FSF/Unesco : http://director...
Le libre est partout

                Internet: Apache, Bind, etc.
                Serveurs (Samba, MySQL, etc.)
       ...
 Introduction
                Principes
                Géopolitique   de l'Industrie logicielle
                Histo...
Software Wars




Page 25 / 90   Dpt. INF        O. Berger
Bataille immense

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




Page 27 / 90   Dpt. INF       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...
« Mouvement » Open Source ?

                Approche    orientée vers le marché (créé en
                 réaction au mo...
Impact global dans la société

 Impact    sur tous les aspects de la production et
  de la diffusion du savoir, et plus l...
Résistances

 Copyright   / droit d'auteur
 Brevets
 DRM
 FUD
 ...




  Dpt. INF
 Introduction
                Principes
                Géopolitique   de l'Industrie logicielle
                Histo...
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


   ...
 Introduction
                Principes
                Géopolitique   de l'Industrie logicielle
                Histo...
Le libre est global




Page 37 / 90   Dpt. INF         O. Berger
Qui participe

                Bénévoles
                 • Parfois très isolés
                 • Parfois de façon organ...
Où sont ces développeurs ?

               Par pays (SourceForge) :

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

               Par continent :

                  Continent            Développeurs
      ...
Comment le libre est-il développé ?

                Outilsde travail collaboratif :
                • Internet, CVS, Sub...
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 43 / 90   Dpt. I...
Amélioration de la visualisation




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




Page 45 / 90   Dpt. INF      O. Berger
Apache 01/01/2000




Page 46 / 90   Dpt. INF      O. Berger
Apache 01/09/2000




Page 47 / 90   Dpt. INF      O. Berger
Apache 01/01/2002




Page 48 / 90   Dpt. INF      O. Berger
Apache 01/02/2004




Page 49 / 90   Dpt. INF      O. Berger
 Introduction
                Principes
                Géopolitique   de l'Industrie logicielle
                Histo...
Protection vs. Controle

                Comment    bien exercer un controle ?
                Le Copyright controle si
...
Droit d'auteur, licences

                Droit d'auteur :
                 • Prérogatives de l'auteur, faibles
         ...
Brevets sur les logiciels

                Le  droit d'auteur/copyright ne controle pas si
                 un programme ...
Licences libres




Page 54 / 90   Dpt. INF          O. Berger
Catégories de licences libres

                Deux   grandes catégories :
                 • Façon « domaine public » (B...
 Introduction
                Principes
                Géopolitique   de l'Industrie logicielle
                Histo...
Qualités

                Prépare    l'avenir
                Sécurité
                Adaptabilité
                In...
Prendre part à une nouvelle communauté

                Rencontrer  des hommes (et des femmes), pas
                 seul...
Introduction générale

                   Collaboration dans
                   l'écosystème libre


Page 59 / 90   Dpt. I...
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 l...
Architecture de PicoForge



SSH        phpGoupWare        Sympa

 CVS       picoForgeAPI      openLDAP
           Pico Mo...
Problématiques spécifiques aux
                   projets basés sur le libre




Page 63 / 90    Dpt. INF    O. Berger
Sélection d'un produit

                Simplicité  et réactivité
                Ne pas confondre vitesse et précipitat...
diminution du risque de clients
                                                ●


               Nombreuses qualités    ...
Méthode QSOS http://www.qsos.org/




Page 66 / 90   Dpt. INF         O. Berger
Fiche QSOS




Page 67 / 90   Dpt. INF     O. Berger
Conduite de projet
       Analyse des besoins



                  Spécification



                           Architectur...
Maintien en condition opérationnelle

                Réactivitépour les mises à jour
                Diminuer l'adhéren...
Stabilisation impossible

                Mises à jour de sécurité permanentes
                Répétition des mises à jo...
Reverser au projet

                Rendre générique les éléments spécifiques
                Maintenus à l'extérieur
  ...
Compétences pour le développement

                Rendre   générique ce qui peut l'être
                Méthodologie d'...
Repackager i810switch




Page 73 / 90              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...
Connaître un projet libre

                Comment   s'y prendre pour collaborer
                Etre de bonne volonté
 ...
Pas que la licence

                Communauté
                 • développement
                 • utilisatrice
         ...
Rapide panorama d'un écosystème



                                      Debian
                                       Deb...
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...
Contribuer : une nécessité

                Cercle  vertueux des contributions
                Quasi-obligation du fait ...
C'est l'histoire d'un bug
         *   From: Olivier Berger < olivier.berger@int-edu.eu>
         *   To: quot; Sympa-dev@...
Bug Sympa dans Debian




Page 82 / 90   Dpt. INF     O. Berger
                                        J+5
Page 83 / 90   Dpt. INF   O. Berger
                                      J+6
Committed upstream (branch in SVN)




Page 84 / 90   Dpt. INF      O. Berger
                                            ...
Migration vers Debian




                                                                             J+7
    Accepted sy...
Page 86 / 90   Dpt. INF   O. Berger
Comment bien contribuer

                Iln'y a pas besoin de savoir coder
                Assurer une veille régulière...
Comment bien contribuer (suite)

                Accepter    des usages sociaux différents
                Communiquer a...
Conclusion

                Loin      de l'exhaustivité

                Le libre est un changement extrèmement positif
...
Merci de votre attention




Page 90 / 90   Dpt. INF    O. Berger
Prochain SlideShare
Chargement dans…5
×

Retour d'expérience sur la conduite d'un projet libre

5 403 vues

Publié le

Publié dans : Business
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
5 403
Sur SlideShare
0
Issues des intégrations
0
Intégrations
51
Actions
Partages
0
Téléchargements
34
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Retour d'expérience sur la conduite d'un projet libre

  1. 1. Retour d'expérience sur la conduite d'un projet libre Olivier Berger, TELECOM & Management SudParis - Département INF <olivier.berger@it-sudparis.eu> TELECOM Bretagne filière de 3ème année « Systèmes logiciels et réseaux »
  2. 2. <hype mode=quot;onquot;> Le libre c'est bon. Mangez-en ! O. Berger 2/9
  3. 3. Dans le libre, on se fait vite plein d'amis ! O. Berger 3/9
  4. 4. Mettez votre logiciel sous GPL succès assuré ! O. Berger 4/9
  5. 5. Les failles de sécu sont corrigées super vite ! patch#45678 O. Berger 5/9
  6. 6. Les contributeurs travaillent gratuitement vite et bien O. Berger 6/9
  7. 7. La solution à tous les problèmes de développement ... O. Berger 7/9
  8. 8. Après l'outsourcing le CrowdSourcing </hype> O. Berger 8/9
  9. 9. Foutaise ? O. Berger 9/9
  10. 10. Plus sérieusement... Page 10 / 90 Dpt. INF O. Berger
  11. 11. Présentation personnelle  Ingénieur de Recherche au département INF à TELECOM & Management SudParis (ex GET/INT)  Projets de recherche sur le logiciel libre (FP6 IST CALIBRE, PFTCR et Contrib2.0)  Adepte et « évangéliste du libre » de longue date, mais en « congé sabbatique »  Wannabe développeur de la distribution Debian  Recherche : plate-formes de développement collaboratif de logiciels (forges) :  Co-développeur de la plate-forme PicoForge http://www.picoforge.org/ http://www-inf.it-sudparis.eu/~olberger/ http://www-public.it-sudparis.eu/~berger_o/weblog/ Page 11 / 90 Dpt. INF O. Berger
  12. 12. Sondage rapide  Déjà eu des cours sur le sujet ?  Logiciel libre ?  Linux ?  GNU ?  FSF ?  APRIL, AFUL, etc. ?  Firefox ?  Ubuntu ?  Creative Commons ? Page 12 / 90 Dpt. INF O. Berger
  13. 13. Objectif de cette conférence  Donner une idée des enjeux liés à la collaboration dans les projets libres  Rappel des fondamentaux du modèle libre  Démythifier un modèle loin d'être magique Page 13 / 90 Dpt. INF O. Berger
  14. 14. Contenu Introduction générale Collaboration dans l'écosystème libre Page 14 / 90 Dpt. INF O. Berger
  15. 15. Introduction générale sur le libre  Principes  Géopolitique de l'Industrie logicielle  Historique « Sociologie » d'une communauté  Considérations juridiques  Choix de logiciels libres / OpenSource Dpt. INF
  16. 16. 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 16 / 90 Dpt. INF O. Berger
  17. 17. Terminologie  Libre ~= OpenSource  Liberté !  Coût ?  Autres : • freeware, domaine public, shareware, shared source, etc.  Libre = ouvert ?  Ne pas se fier aux déclarations : vérifier les licences Page 17 / 90 Dpt. INF O. Berger
  18. 18. Libre vs. non-libre  En théorie, identification facile : droit d'utilisation : OK - NOK droit d'étudier : OK - NOK droit de modifier : OK - NOK droit de diffuser copies (modifiées) : OK - NOK  En pratique, parfois complexe (jargon licences)  Demander aux experts • Free Software Foundation (http://www.fsf.org/), • OpenSource initiative (http://www.opensource.org/). Page 18 / 90 Dpt. INF O. Berger
  19. 19. Logiciel libre Page 19 / 90 Dpt. INF O. Berger
  20. 20. Logiciel non-libre (Propriétaire) Page 20 / 90 Dpt. INF O. Berger
  21. 21. Exemples de logiciels libres  GNU/Linux, FreeBSD, OpenBSD  Apache  Perl,PHP, Python  Java (récent)  Eclipse  GNOME, KDE, etc.  Jonas, MySQL, PostgreSQL  Asterisk  Videolan  Firefox, OpenOffice, Thunderbird  etc. Page 21 / 90 Dpt. INF O. Berger
  22. 22. Annuaires  Freshmeat http://freshmeat.net/ (43000 projets)  FSF/Unesco : http://directory.fsf.org/ (5400 projets)  Framasoft  Plume (Promouvoir les Logiciels Utiles Maîtrisés et Economiques dans l'Enseignement Supérieur et la Recherche) : http://www.projet-plume.org/ Page 22 / 90 Dpt. INF O. Berger
  23. 23. Le libre est partout  Internet: Apache, Bind, etc.  Serveurs (Samba, MySQL, etc.)  Groupware, CMS, etc.  Appliances, embarqué, grand public • Nokia 8x0 • Freebox, Easybox, etc. • Téléphones, bientôt (Google Android, etc.)  Impots  Poste de travail des gendarmes  PC préinstallés gOs, Zonbu, Ubuntu  ... Page 23 / 90 Dpt. INF O. Berger
  24. 24.  Introduction  Principes  Géopolitique de l'Industrie logicielle  Historique « Sociologie » d'une communauté  Considérations juridiques  Choix de logiciels libres / OpenSource Page 24 / 90 Dpt. INF O. Berger
  25. 25. Software Wars Page 25 / 90 Dpt. INF O. Berger
  26. 26. Bataille immense  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 26 / 90 Dpt. INF O. Berger
  27. 27. « Commoditisation » du logiciel Page 27 / 90 Dpt. INF O. Berger
  28. 28. 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 28 / 90 Dpt. INF O. Berger
  29. 29. 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 29 / 90 Dpt. INF O. Berger
  30. 30. « Mouvement » Open Source ?  Approche orientée vers le marché (créé en réaction au mouvement du libre)  Bénéfices pratiques  Coûts (ambiguïté free)  « Mouvement » • Open Source Initiative (http://www.opensource.org) • La plupart des industriels de l'informatique, les SS2I, etc. Page 30 / 90 Dpt. INF O. Berger
  31. 31. Impact global dans la société  Impact sur tous les aspects de la production et de la diffusion du savoir, et plus largement tous les artefacts immatériels : • Publications et données scientifiques (open archives, etc.) • Création artistique (CC) • Entertainment - gratuité ? • Débat public, démocracie, régulation de l'utilisation des ressources, etc.  Nouveau paradigme : Commons (Lessig)  Des biens publics aux biens communs ? Dpt. INF
  32. 32. Résistances  Copyright / droit d'auteur  Brevets  DRM  FUD  ... Dpt. INF
  33. 33.  Introduction  Principes  Géopolitique de l'Industrie logicielle  Historique « Sociologie » d'une communauté  Considérations juridiques  Choix de logiciels libres / OpenSource Page 33 / 90 Dpt. INF O. Berger
  34. 34. 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... Page 34 / 90 Dpt. INF O. Berger
  35. 35. Aujourd'hui incontournable  20/25ans plus tard  La partie est en voie d'être gagnée  Mais au fait, comment ça marche !?! Page 35 / 90 Dpt. INF O. Berger
  36. 36.  Introduction  Principes  Géopolitique de l'Industrie logicielle  Historique « Sociologie » d'une communauté  Considérations juridiques  Choix de logiciels libres / OpenSource Page 36 / 90 Dpt. INF O. Berger
  37. 37. Le libre est global Page 37 / 90 Dpt. INF O. Berger
  38. 38. Qui participe  Bénévoles • Parfois très isolés • Parfois de façon organisée (Apache, GNU project, etc.)  Compagnies  Pas un seul profil d'activités : • Utilisation, tests, rapports de bugs • Support communautaire (forums, listes, etc.) • Code • Vendre du libre • etc. Page 38 / 90 Dpt. INF O. Berger
  39. 39. Où sont 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 39 / 90 Dpt. INF O. Berger
  40. 40. Où sont 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 40 / 90 Dpt. INF O. Berger
  41. 41. Comment le libre est-il développé ?  Outilsde travail collaboratif : • Internet, CVS, SubVersion, mailing-lists, chat IRC • « Forges » publiques (ou privées) : - SourceForge - Savannah - ...  Structure projets (caricature) • old-style traditional model : Cathedral • new unexpected style : Bazaar quot;The Cathedral and the Bazaarquot; (Eric Raymond) Page 41 / 90 Dpt. INF O. Berger
  42. 42. Communautés, résaux sociaux Linux 1.0 (1994) Developers linked by common authorship to same files source [Robles] Page 42 / 90 Dpt. INF O. Berger
  43. 43. Bon sang, mais c'est le bazar ! Classical analysis of Apache modules feb. 2004 (source [Robles]) Page 43 / 90 Dpt. INF O. Berger
  44. 44. Amélioration de la visualisation Reshaped with Girvan-Newman algorithm (source [Robles]) Page 44 / 90 Dpt. INF O. Berger
  45. 45. Apache 01/01/1999 Page 45 / 90 Dpt. INF O. Berger
  46. 46. Apache 01/01/2000 Page 46 / 90 Dpt. INF O. Berger
  47. 47. Apache 01/09/2000 Page 47 / 90 Dpt. INF O. Berger
  48. 48. Apache 01/01/2002 Page 48 / 90 Dpt. INF O. Berger
  49. 49. Apache 01/02/2004 Page 49 / 90 Dpt. INF O. Berger
  50. 50.  Introduction  Principes  Géopolitique de l'Industrie logicielle  Historique « Sociologie » d'une communauté  Considérations juridiques  Choix de logiciels libres / OpenSource Page 50 / 90 Dpt. INF O. Berger
  51. 51. Protection vs. Controle  Comment bien exercer un controle ?  Le Copyright controle si • Utiliser • On peut copier pour donner ou vendre • (essayer de) Modifier • Toute autre chose non prévue dans un contrat de licence  Le libre rééquilibre la donne en faveur des tiers, utilisateurs, concurrents Page 51 / 90 Dpt. INF O. Berger
  52. 52. Droit d'auteur, licences  Droit d'auteur : • Prérogatives de l'auteur, faibles • Conditions d'exploitation (employeur ?), fortes  Attaché à : • au fichier source, d'abord • œuvres dérivées (y compris exécutable)  Régime par défaut : restrictions des droits  Licence libres établissent des exceptions  Œuvres composites : compliqué  Mixibilité des licences ? Page 52 / 90 Dpt. INF O. Berger
  53. 53. Brevets sur les logiciels  Le droit d'auteur/copyright ne controle pas si un programme similaire peut être écrit par un tiers  Le brevet protège une idée  Au départ destiné à protéger l'intérêt général  Dérive  Controverse législative en Europe Page 53 / 90 Dpt. INF O. Berger
  54. 54. Licences libres Page 54 / 90 Dpt. INF O. Berger
  55. 55. Catégories de licences libres  Deux grandes catégories : • Façon « domaine public » (BSD, X11) • Façon « Copyleftées » (e.g. GPL, LGPL)  Copyleftées : • Liberté de changer le logiciel • Impossibilité de changer la licence  Un même logiciel : plusieurs licenses = segmentation des « marchés »  Modèles économiques des éditeurs de logiciels libres Page 55 / 90 Dpt. INF O. Berger
  56. 56.  Introduction  Principes  Géopolitique de l'Industrie logicielle  Historique « Sociologie » d'une communauté  Considérations juridiques  Choix de logiciels libres / OpenSource Page 56 / 90 Dpt. INF O. Berger
  57. 57. Qualités  Prépare l'avenir  Sécurité  Adaptabilité  Indépendance  Faiblecoût  Portabilité  ...  Encore faut-il vérifier ?  Qui fait vraiment ce travail ? Page 57 / 90 Dpt. INF O. Berger
  58. 58. 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 ! Page 58 / 90 Dpt. INF O. Berger
  59. 59. Introduction générale Collaboration dans l'écosystème libre Page 59 / 90 Dpt. INF O. Berger
  60. 60. 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 Dpt. INF
  61. 61. Plate-forme « Forge »  Assemblage logiciels libres  Contruire une « forge » pour développement collaboratif de logiciels • Projets = espaces de travail sur Net • Mailing-lists • Wikis • Repositories CVS/SVN • ...  Packaging Debian pour installation aisée Dpt. INF
  62. 62. Architecture de PicoForge SSH phpGoupWare Sympa CVS picoForgeAPI openLDAP Pico Modules SVN MySQL Mantis Pico Backend Apache2  +  TWiki dav Dpt. INF
  63. 63. Problématiques spécifiques aux projets basés sur le libre Page 63 / 90 Dpt. INF O. Berger
  64. 64. Sélection d'un produit  Simplicité et réactivité  Ne pas confondre vitesse et précipitation  Sous-traiter ce qui peut l'être  Identifier les éléments critiques et monter en compétence  Préférer les solutions déjà packagées Page 64 / 90 Dpt. INF O. Berger
  65. 65. diminution du risque de clients ● Nombreuses qualités captifs par une concurrence accrue, ● partage de connaissance entre tous les acteurs,  Qualités génériques ... respectconnues portabilité, ● déjà des standards, ● réversibilité sur les tâches sous-  Qualités particulières d'un logiciel libre traitées, etc. => à évaluer • sa licence • sa communauté • son code (sa doc, son langage, etc.)  Méthodes d'évaluation (QSOS, OpenBRR, ...) http://fr.wikipedia.org/wiki/Méthode_d'évaluation_de_logiciels_libres Page 65 / 90 Dpt. INF O. Berger
  66. 66. Méthode QSOS http://www.qsos.org/ Page 66 / 90 Dpt. INF O. Berger
  67. 67. Fiche QSOS Page 67 / 90 Dpt. INF O. Berger
  68. 68. Conduite de projet Analyse des besoins Spécification Architecture Conception détaillée Codage Tests ? Déploiement Page 68 / 90 Dpt. INF O. Berger
  69. 69. Maintien en condition opérationnelle  Réactivitépour les mises à jour  Diminuer l'adhérence dans les composants spécifiques Page 69 / 90 Dpt. INF O. Berger
  70. 70. Stabilisation impossible  Mises à jour de sécurité permanentes  Répétition des mises à jour  Automatisation souhaitable  Diminuer la taille du code spécifique Page 70 / 90 Dpt. INF O. Berger
  71. 71. 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 71 / 90 Dpt. INF O. Berger
  72. 72. Compétences pour le développement  Rendre générique ce qui peut l'être  Méthodologie d'intégration  Support de certains matériels (distributions supportées)  Virtualisation (Xen, etc.)  Savoir packager (exemple : Debian) Page 72 / 90 Dpt. INF O. Berger
  73. 73. Repackager i810switch Page 73 / 90 http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=374638#15 Dpt. INF O. Berger
  74. 74. 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 74 / 90 Dpt. INF O. Berger
  75. 75. Connaître un projet libre  Comment s'y prendre pour collaborer  Etre de bonne volonté  Pas magique  Ne pas être naïf Page 75 / 90 Dpt. INF O. Berger
  76. 76. Pas que la licence  Communauté • développement • utilisatrice  Personnes  Acteurs économiques  But, objectifs  Méthodologie  Qualités propres du code Page 76 / 90 Dpt. INF O. Berger
  77. 77. 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 77 / 90 Dpt. INF O. Berger
  78. 78. 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 78 / 90 Dpt. INF O. Berger
  79. 79. 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 Page 79 / 90 Dpt. INF O. Berger
  80. 80. 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 80 / 90 Dpt. INF O. Berger
  81. 81. 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 81 / 90 Dpt. INF O. Berger
  82. 82. Bug Sympa dans Debian Page 82 / 90 Dpt. INF O. Berger J+5
  83. 83. Page 83 / 90 Dpt. INF O. Berger J+6
  84. 84. Committed upstream (branch in SVN) Page 84 / 90 Dpt. INF O. Berger J+6
  85. 85. 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 85 / 90 Dpt. INF O. Berger
  86. 86. Page 86 / 90 Dpt. INF O. Berger
  87. 87. Comment bien contribuer  Iln'y a pas besoin de savoir coder  Assurer une veille régulière  Beaucoup d'effort même pour des choses simples  Minimum légal : faire vivre la base de bugs Page 87 / 90 Dpt. INF O. Berger
  88. 88. Comment bien contribuer (suite)  Accepter des usages sociaux différents  Communiquer avant tout  Jouer le jeu selon les règles  Eviter l' « abandonware » non déclaré  Contribuer un nouveau module au bon endroit  Investir dans une forge pour un nouveau logiciel Page 88 / 90 Dpt. INF O. Berger
  89. 89. Conclusion  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 générales  Contribuer est nécessaire pour la survie du modèle, mais aussi concrètement dans les effets utiles aux projets locaux. Page 89 / 90 Dpt. INF O. Berger
  90. 90. Merci de votre attention Page 90 / 90 Dpt. INF O. Berger

×