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

olberger
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)
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 / 74     Agadir GNU/Linux days 2008   O. Berger
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
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
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
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




 Agadir GNU/Linux days 2008
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
 Introduction
                Principes
                Géopolitique                de l'Industrie logicielle
                Historique




Page 10 / 74    Agadir GNU/Linux days 2008       O. Berger
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 é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
« 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 :
                 • 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
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
 Introduction
                Principes
                Géopolitique                de l'Industrie logicielle
                Historique




Page 16 / 74    Agadir GNU/Linux days 2008       O. Berger
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
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
Qui sont les développeurs
                             de logiciels libres ?




Page 19 / 74   Agadir GNU/Linux days 2008   O. Berger
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
Le libre est global




Page 21 / 74   Agadir GNU/Linux days 2008   O. Berger
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
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
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 (technique et relations humaines)
 Travail
 Apprendre
 Construire une réputation
 ...




 Agadir GNU/Linux days 2008
Avec quel mode d'organisation ?




Agadir GNU/Linux days 2008
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
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
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
Amélioration de la visualisation




                  Reshaped with Girvan-Newman algorithm (source
                  [Robles])
Page 30 / 74   Agadir GNU/Linux days 2008   O. Berger
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ègles ?




 Agadir GNU/Linux days 2008
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
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
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
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
Processus de production




Agadir GNU/Linux days 2008
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
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
Agadir GNU/Linux days 2008
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
Exemple : « repackaging »




Agadir GNU/Linux days 2008
Repackager i810switch




Page 47 / 74                http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=374638#15
               Agadir GNU/Linux days 2008   O. Berger
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
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@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
Bug Sympa dans Debian




Page 51 / 74   Agadir GNU/Linux days 2008   O. Berger
                                                        J+5
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
                                                        J+6
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
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 » publiques : hébergement
  • SourceForge
  • Savannah
  • ...
 Installation forge « privée » :
  • Gforge,
  • LibreSource,
  • PicoForge
  • Trac

 Agadir GNU/Linux days 2008
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
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
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
Architecture de PicoForge



SSH                    phpGoupWare       Sympa

 CVS                    picoForgeAPI    openLDAP
                        Pico Modules
 SVN                                     MySQL

Mantis
                        Pico Backend   Apache2  + 
TWiki                                     dav




Agadir GNU/Linux days 2008
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 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
Conduite de projets informatiques
                            basés sur du libre




Page 67 / 74   Agadir GNU/Linux days 2008   O. Berger
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
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
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
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
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
Choukran
                   Merci de votre attention

               Merci aux organisateurs de m'avoir invité.



Page 73 / 74      Agadir GNU/Linux days 2008   O. Berger
À 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
1 of 74

Recommended

Retour d'expérience sur la conduite d'un projet libre by
Retour d'expérience sur la conduite d'un projet libreRetour d'expérience sur la conduite d'un projet libre
Retour d'expérience sur la conduite d'un projet libreolberger
3.3K views90 slides
Comingout openensa 1 by
Comingout openensa 1Comingout openensa 1
Comingout openensa 1openensa
408 views29 slides
Iran Habitation Troglodytes by
Iran Habitation TroglodytesIran Habitation Troglodytes
Iran Habitation TroglodytesSylvain Dufour
571 views20 slides
Marrakech agadirvf by
Marrakech agadirvfMarrakech agadirvf
Marrakech agadirvfTwilight Eagle
2.4K views46 slides
Les aides internationales de développement de l’innovation et la recherche e... by
Les  aides internationales de développement de l’innovation et la recherche e...Les  aides internationales de développement de l’innovation et la recherche e...
Les aides internationales de développement de l’innovation et la recherche e...Ilyas Azzioui
832 views55 slides
Rénovation du Palais Omnisports de Paris Bercy by
Rénovation du Palais Omnisports de Paris BercyRénovation du Palais Omnisports de Paris Bercy
Rénovation du Palais Omnisports de Paris BercyDécideurs en Région
1.6K views19 slides

More Related Content

Viewers also liked

Roma Poesia Y Musica Slideshow by
Roma Poesia Y Musica   SlideshowRoma Poesia Y Musica   Slideshow
Roma Poesia Y Musica Slideshowric26
566 views34 slides
M♥ns > Rénovation Urbaine de la rue de Nimy by
M♥ns > Rénovation Urbaine de la rue de NimyM♥ns > Rénovation Urbaine de la rue de Nimy
M♥ns > Rénovation Urbaine de la rue de NimyEurovilles EV
2.1K views27 slides
Les actions du Rotarty club Agadir vallée du souss by
Les actions du Rotarty club Agadir vallée du soussLes actions du Rotarty club Agadir vallée du souss
Les actions du Rotarty club Agadir vallée du soussFatima Oumellouk
713 views103 slides
Chemetov - logement - Gagarine -12juin2008 by
Chemetov - logement - Gagarine -12juin2008Chemetov - logement - Gagarine -12juin2008
Chemetov - logement - Gagarine -12juin2008Association Villes Internet
697 views17 slides
France en villes 2et3 by
France en villes 2et3France en villes 2et3
France en villes 2et3MmeKochert
17.6K views15 slides
Mémoire by
MémoireMémoire
MémoireSumeyra Bombay Wala
703 views46 slides

Viewers also liked(20)

Roma Poesia Y Musica Slideshow by ric26
Roma Poesia Y Musica   SlideshowRoma Poesia Y Musica   Slideshow
Roma Poesia Y Musica Slideshow
ric26566 views
M♥ns > Rénovation Urbaine de la rue de Nimy by Eurovilles EV
M♥ns > Rénovation Urbaine de la rue de NimyM♥ns > Rénovation Urbaine de la rue de Nimy
M♥ns > Rénovation Urbaine de la rue de Nimy
Eurovilles EV2.1K views
Les actions du Rotarty club Agadir vallée du souss by Fatima Oumellouk
Les actions du Rotarty club Agadir vallée du soussLes actions du Rotarty club Agadir vallée du souss
Les actions du Rotarty club Agadir vallée du souss
Fatima Oumellouk713 views
France en villes 2et3 by MmeKochert
France en villes 2et3France en villes 2et3
France en villes 2et3
MmeKochert17.6K views
L'elements diagnostic-sur-le-renouvellement-urbain-marc kaszynski- by Christophe Duvalle
L'elements diagnostic-sur-le-renouvellement-urbain-marc kaszynski-L'elements diagnostic-sur-le-renouvellement-urbain-marc kaszynski-
L'elements diagnostic-sur-le-renouvellement-urbain-marc kaszynski-
Christophe Duvalle2.3K views
Concertation Quartier Bon Air by lafontaine
Concertation  Quartier Bon AirConcertation  Quartier Bon Air
Concertation Quartier Bon Air
lafontaine3.2K views
Croissance urbaine by Salam Alaikom
Croissance urbaineCroissance urbaine
Croissance urbaine
Salam Alaikom15.2K views
la fermentation lactique-chlef- by gordeau
la fermentation lactique-chlef-la fermentation lactique-chlef-
la fermentation lactique-chlef-
gordeau13.8K views
Projet urbain 01 by Sami Sahli
Projet urbain 01Projet urbain 01
Projet urbain 01
Sami Sahli8K views
Le Pilotage De La Rénovation Urbaine à Fort De France by lafontaine
Le Pilotage De La Rénovation Urbaine à Fort De FranceLe Pilotage De La Rénovation Urbaine à Fort De France
Le Pilotage De La Rénovation Urbaine à Fort De France
lafontaine6.1K views
Projet urbain 02 by Sami Sahli
Projet urbain 02Projet urbain 02
Projet urbain 02
Sami Sahli6.7K views
Intervention urbaine by Sami Sahli
Intervention urbaineIntervention urbaine
Intervention urbaine
Sami Sahli28.6K views
Projet urbain 03 by Sami Sahli
Projet urbain 03Projet urbain 03
Projet urbain 03
Sami Sahli14.5K views
Tutorial La PoesíA by rhcintron
Tutorial La PoesíA Tutorial La PoesíA
Tutorial La PoesíA
rhcintron17.1K views
Projet urbain 05 by Sami Sahli
Projet urbain 05Projet urbain 05
Projet urbain 05
Sami Sahli11.4K views

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

Forges : état de l'art by
Forges : état de l'artForges : état de l'art
Forges : état de l'artNyco
861 views12 slides
Introduction aux logiciels libres by
Introduction aux logiciels libresIntroduction aux logiciels libres
Introduction aux logiciels libresolberger
2.1K views87 slides
Graphotec granit opensource by
Graphotec granit opensourceGraphotec granit opensource
Graphotec granit opensourcepjoulaud
1.2K views19 slides
Séminaire Linagora : poste de travail Libre, décembre 2009 by
Séminaire Linagora : poste de travail Libre, décembre 2009Séminaire Linagora : poste de travail Libre, décembre 2009
Séminaire Linagora : poste de travail Libre, décembre 2009LINAGORA
1.1K views60 slides
Logiciels Libres, quelles opportunités pour nos entreprises? by
Logiciels Libres, quelles opportunités pour nos entreprises?Logiciels Libres, quelles opportunités pour nos entreprises?
Logiciels Libres, quelles opportunités pour nos entreprises?Fdiwa
1.8K views22 slides
Introduction aux logiciels libres by
Introduction aux logiciels libresIntroduction aux logiciels libres
Introduction aux logiciels libresolberger
696 views93 slides

Similar to Plate-formes pour le développement collaboratif des logiciels libres(20)

Forges : état de l'art by Nyco
Forges : état de l'artForges : état de l'art
Forges : état de l'art
Nyco861 views
Introduction aux logiciels libres by olberger
Introduction aux logiciels libresIntroduction aux logiciels libres
Introduction aux logiciels libres
olberger2.1K views
Graphotec granit opensource by pjoulaud
Graphotec granit opensourceGraphotec granit opensource
Graphotec granit opensource
pjoulaud1.2K views
Séminaire Linagora : poste de travail Libre, décembre 2009 by LINAGORA
Séminaire Linagora : poste de travail Libre, décembre 2009Séminaire Linagora : poste de travail Libre, décembre 2009
Séminaire Linagora : poste de travail Libre, décembre 2009
LINAGORA1.1K views
Logiciels Libres, quelles opportunités pour nos entreprises? by Fdiwa
Logiciels Libres, quelles opportunités pour nos entreprises?Logiciels Libres, quelles opportunités pour nos entreprises?
Logiciels Libres, quelles opportunités pour nos entreprises?
Fdiwa1.8K views
Introduction aux logiciels libres by olberger
Introduction aux logiciels libresIntroduction aux logiciels libres
Introduction aux logiciels libres
olberger696 views
Développement et gestion de Logiciel Libre et Ouvert (LLO) by geomsp
Développement et gestion  de Logiciel Libre et Ouvert (LLO)Développement et gestion  de Logiciel Libre et Ouvert (LLO)
Développement et gestion de Logiciel Libre et Ouvert (LLO)
geomsp9.4K views
La valorisation des logiciels libres en entreprise by Robert Viseur
La valorisation des logiciels libres en entrepriseLa valorisation des logiciels libres en entreprise
La valorisation des logiciels libres en entreprise
Robert Viseur774 views
La valorisation des logiciels libres en entreprise by Robert Viseur
La valorisation des logiciels libres en entrepriseLa valorisation des logiciels libres en entreprise
La valorisation des logiciels libres en entreprise
Robert Viseur1.3K views
Introduction à Linux et aux logiciels libres by Bruno Cornec
Introduction à Linux et aux logiciels libresIntroduction à Linux et aux logiciels libres
Introduction à Linux et aux logiciels libres
Bruno Cornec124 views
Scikit Learn: Développement communautaire by Gael Varoquaux
Scikit Learn: Développement communautaireScikit Learn: Développement communautaire
Scikit Learn: Développement communautaire
Gael Varoquaux1.1K views
Comment le logiciel libre commence à s'imposer en France conférence erp2008 by Paris, France
Comment le logiciel libre commence à s'imposer en France conférence erp2008Comment le logiciel libre commence à s'imposer en France conférence erp2008
Comment le logiciel libre commence à s'imposer en France conférence erp2008
Paris, France514 views
Forum français de l'OGC - Sageo 2009 by Nicolas Klein
Forum français de l'OGC - Sageo 2009Forum français de l'OGC - Sageo 2009
Forum français de l'OGC - Sageo 2009
Nicolas Klein908 views
Le logiciel libre est-il soluble dans l'économie marchande? by Aref Jdey
Le logiciel libre est-il soluble dans l'économie marchande?Le logiciel libre est-il soluble dans l'économie marchande?
Le logiciel libre est-il soluble dans l'économie marchande?
Aref Jdey507 views
Le logiciel libre est-il soluble dans l'économie marchande? by Aref Jdey
Le logiciel libre est-il soluble dans l'économie marchande?Le logiciel libre est-il soluble dans l'économie marchande?
Le logiciel libre est-il soluble dans l'économie marchande?
Aref Jdey532 views
Présentation séminaire novembre 2011 - Drupal 7 / Drupal commerce by LINAGORA
Présentation séminaire novembre 2011 - Drupal 7 / Drupal commercePrésentation séminaire novembre 2011 - Drupal 7 / Drupal commerce
Présentation séminaire novembre 2011 - Drupal 7 / Drupal commerce
LINAGORA1.9K views

More from olberger

Presentation distro recipes-2013 by
Presentation distro recipes-2013Presentation distro recipes-2013
Presentation distro recipes-2013olberger
1.7K views20 slides
An introduction to git by
An introduction to gitAn introduction to git
An introduction to gitolberger
2.2K views52 slides
Generating Linked Data descriptions of Debian packages in the Debian PTS by
Generating Linked Data descriptions of Debian packages in the Debian PTSGenerating Linked Data descriptions of Debian packages in the Debian PTS
Generating Linked Data descriptions of Debian packages in the Debian PTSolberger
1.6K views17 slides
Interoperability of FLOSS forges; lessons from the COCLICO project, implement... by
Interoperability of FLOSS forges; lessons from the COCLICO project, implement...Interoperability of FLOSS forges; lessons from the COCLICO project, implement...
Interoperability of FLOSS forges; lessons from the COCLICO project, implement...olberger
964 views30 slides
OSLC (Open Services for Lifecycle Collaboration): open standard for interoper... by
OSLC (Open Services for Lifecycle Collaboration): open standard for interoper...OSLC (Open Services for Lifecycle Collaboration): open standard for interoper...
OSLC (Open Services for Lifecycle Collaboration): open standard for interoper...olberger
6.4K views28 slides
Presentation forges logicielles à mathrice by
Presentation forges logicielles à mathricePresentation forges logicielles à mathrice
Presentation forges logicielles à mathriceolberger
1.1K views26 slides

More from olberger(18)

Presentation distro recipes-2013 by olberger
Presentation distro recipes-2013Presentation distro recipes-2013
Presentation distro recipes-2013
olberger1.7K views
An introduction to git by olberger
An introduction to gitAn introduction to git
An introduction to git
olberger2.2K views
Generating Linked Data descriptions of Debian packages in the Debian PTS by olberger
Generating Linked Data descriptions of Debian packages in the Debian PTSGenerating Linked Data descriptions of Debian packages in the Debian PTS
Generating Linked Data descriptions of Debian packages in the Debian PTS
olberger1.6K views
Interoperability of FLOSS forges; lessons from the COCLICO project, implement... by olberger
Interoperability of FLOSS forges; lessons from the COCLICO project, implement...Interoperability of FLOSS forges; lessons from the COCLICO project, implement...
Interoperability of FLOSS forges; lessons from the COCLICO project, implement...
olberger964 views
OSLC (Open Services for Lifecycle Collaboration): open standard for interoper... by olberger
OSLC (Open Services for Lifecycle Collaboration): open standard for interoper...OSLC (Open Services for Lifecycle Collaboration): open standard for interoper...
OSLC (Open Services for Lifecycle Collaboration): open standard for interoper...
olberger6.4K views
Presentation forges logicielles à mathrice by olberger
Presentation forges logicielles à mathricePresentation forges logicielles à mathrice
Presentation forges logicielles à mathrice
olberger1.1K views
Jailbreaking the Forges : project export/import efforts by olberger
Jailbreaking the Forges : project export/import effortsJailbreaking the Forges : project export/import efforts
Jailbreaking the Forges : project export/import efforts
olberger1.1K views
Bug tracking à grande échelle et interopérabilité des outils de développement... by olberger
Bug tracking à grande échelle et interopérabilité des outils de développement...Bug tracking à grande échelle et interopérabilité des outils de développement...
Bug tracking à grande échelle et interopérabilité des outils de développement...
olberger2.3K views
OSLC (Open Services for Lifecycle Collaboration): standard ouvert pour l’int... by olberger
OSLC (Open Services for Lifecycle Collaboration):  standard ouvert pour l’int...OSLC (Open Services for Lifecycle Collaboration):  standard ouvert pour l’int...
OSLC (Open Services for Lifecycle Collaboration): standard ouvert pour l’int...
olberger2K views
Presentation soc-fr-fossa by olberger
Presentation soc-fr-fossaPresentation soc-fr-fossa
Presentation soc-fr-fossa
olberger513 views
Bugs tracking at a large scale in the FLOSS ecosystem by olberger
Bugs tracking at a large scale in the FLOSS ecosystemBugs tracking at a large scale in the FLOSS ecosystem
Bugs tracking at a large scale in the FLOSS ecosystem
olberger2K views
Coclico project - Forges Interoperability (OWF 2010) by olberger
Coclico project - Forges Interoperability (OWF 2010)Coclico project - Forges Interoperability (OWF 2010)
Coclico project - Forges Interoperability (OWF 2010)
olberger1.6K views
Bugtracking on the Web 2.5 by olberger
Bugtracking on the Web 2.5Bugtracking on the Web 2.5
Bugtracking on the Web 2.5
olberger764 views
Weaving a Semantic Web across OSS repositories - a spotlight on bts-link, UDD... by olberger
Weaving a Semantic Web across OSS repositories - a spotlight on bts-link, UDD...Weaving a Semantic Web across OSS repositories - a spotlight on bts-link, UDD...
Weaving a Semantic Web across OSS repositories - a spotlight on bts-link, UDD...
olberger778 views
Introduction to bts-link by olberger
Introduction to bts-linkIntroduction to bts-link
Introduction to bts-link
olberger1.4K views
Visualizing contributions in a forge -Case study on PicoForge by olberger
Visualizing contributions in a forge -Case study on PicoForgeVisualizing contributions in a forge -Case study on PicoForge
Visualizing contributions in a forge -Case study on PicoForge
olberger587 views
Olpc France Presentation Sl2008 by olberger
Olpc France Presentation Sl2008Olpc France Presentation Sl2008
Olpc France Presentation Sl2008
olberger994 views
Collaboration avec des projets libres - enjeux, difficultés et bonnes pratiques by olberger
Collaboration avec des projets libres - enjeux, difficultés et bonnes pratiquesCollaboration avec des projets libres - enjeux, difficultés et bonnes pratiques
Collaboration avec des projets libres - enjeux, difficultés et bonnes pratiques
olberger672 views

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

  • 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. Le logiciel libre c'est super ! Page 2 / 74 Agadir GNU/Linux days 2008 O. Berger
  • 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. 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. 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. 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. Contenu Introduction générale Agadir GNU/Linux days 2008
  • 8. Introduction générale sur le libre  Principes  Géopolitique de l'Industrie logicielle  Historique Agadir GNU/Linux days 2008
  • 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.  Introduction  Principes  Géopolitique de l'Industrie logicielle  Historique Page 10 / 74 Agadir GNU/Linux days 2008 O. Berger
  • 11. Software Wars Page 11 / 74 Agadir GNU/Linux days 2008 O. Berger
  • 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. « Commoditisation » du logiciel Page 13 / 74 Agadir GNU/Linux days 2008 O. Berger
  • 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. 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.  Introduction  Principes  Géopolitique de l'Industrie logicielle  Historique Page 16 / 74 Agadir GNU/Linux days 2008 O. Berger
  • 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. 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. Qui sont les développeurs de logiciels libres ? Page 19 / 74 Agadir GNU/Linux days 2008 O. Berger
  • 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. Le libre est global Page 21 / 74 Agadir GNU/Linux days 2008 O. Berger
  • 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. 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. Pourquoi développent-ils des logiciels libres ? Agadir GNU/Linux days 2008
  • 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. Avec quel mode d'organisation ? Agadir GNU/Linux days 2008
  • 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. 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. 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. Amélioration de la visualisation Reshaped with Girvan-Newman algorithm (source [Robles]) Page 30 / 74 Agadir GNU/Linux days 2008 O. Berger
  • 31. Apache 01/01/1999 Page 31 / 74 Agadir GNU/Linux days 2008 O. Berger
  • 32. Apache 01/01/2000 Page 32 / 74 Agadir GNU/Linux days 2008 O. Berger
  • 33. Apache 01/09/2000 Page 33 / 74 Agadir GNU/Linux days 2008 O. Berger
  • 34. Apache 01/01/2002 Page 34 / 74 Agadir GNU/Linux days 2008 O. Berger
  • 35. Apache 01/02/2004 Page 35 / 74 Agadir GNU/Linux days 2008 O. Berger
  • 36. Logiciel libre vs. projet libre  Logiciel libre : 4 libertés = licence libre  Projet ouvert : communauté, règles ? Agadir GNU/Linux days 2008
  • 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. 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. 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. 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. Processus de production Agadir GNU/Linux days 2008
  • 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. 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
  • 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. Exemple : « repackaging » Agadir GNU/Linux days 2008
  • 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. 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. Facile, mais pas immédiat Agadir GNU/Linux days 2008
  • 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. Bug Sympa dans Debian Page 51 / 74 Agadir GNU/Linux days 2008 O. Berger J+5
  • 52. Page 52 / 74 Agadir GNU/Linux days 2008 O. Berger J+6
  • 53. Committed upstream (branch in SVN) Page 53 / 74 Agadir GNU/Linux days 2008 O. Berger J+6
  • 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. Page 55 / 74 Agadir GNU/Linux days 2008 O. Berger
  • 56. Contenu « Forges » logicielles Agadir GNU/Linux days 2008
  • 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. 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. 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. 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. 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. Portail interne projet Agadir GNU/Linux days 2008
  • 63. Gestionnaire de tickets (bugs) Page 63 / 74 Agadir GNU/Linux days 2008 O. Berger
  • 64. Wiki : base de connaissances Page 64 / 74 Agadir GNU/Linux days 2008
  • 65. Interface Web référentiel versions Page 65 / 74 Agadir GNU/Linux days 2008 O. Berger
  • 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. Conduite de projets informatiques basés sur du libre Page 67 / 74 Agadir GNU/Linux days 2008 O. Berger
  • 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. 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. 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. 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. 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. Choukran Merci de votre attention Merci aux organisateurs de m'avoir invité. Page 73 / 74 Agadir GNU/Linux days 2008 O. Berger
  • 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