Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
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
Upcoming SlideShare
Loading in …5
×

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

5,666 views

Published on

Published in: Business
  • Be the first to comment

  • Be the first to like this

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

×