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

olberger
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 »
<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 & 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
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
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
Contenu




                Introduction générale

                   Collaboration dans
                   l'écosystème libre


Page 14 / 90   Dpt. INF    O. Berger
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
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
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
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
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,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
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
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
 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
Software Wars




Page 25 / 90   Dpt. INF        O. Berger
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
« Commoditisation » du logiciel




Page 27 / 90   Dpt. INF       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 28 / 90     Dpt. INF              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 29 / 90    Dpt. INF             O. Berger
« 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
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
Résistances

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




  Dpt. INF
 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
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
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
 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
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 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
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
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
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
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
Bon sang, mais c'est le bazar !




Classical analysis of Apache modules feb. 2004 (source [Robles])
Page 43 / 90   Dpt. INF          O. Berger
Amélioration de la visualisation




                  Reshaped with Girvan-Newman algorithm (source
                  [Robles])
Page 44 / 90   Dpt. INF          O. Berger
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
                Historique
               « Sociologie » d'une communauté
                Considérations juridiques
                Choix de logiciels libres / OpenSource




Page 50 / 90    Dpt. INF            O. Berger
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
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
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
Licences libres




Page 54 / 90   Dpt. INF          O. Berger
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
 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
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
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
Introduction générale

                   Collaboration dans
                   l'écosystème libre


Page 59 / 90   Dpt. INF    O. Berger
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
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
Architecture de PicoForge



SSH        phpGoupWare        Sympa

 CVS       picoForgeAPI      openLDAP
           Pico Modules
 SVN                          MySQL

Mantis
           Pico Backend     Apache2  + 
TWiki                          dav




Dpt. INF
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é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
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
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



                           Architecture



                                  Conception détaillée



                                                 Codage


                                                          Tests




                                                                            ?
                                                              Déploiement


Page 68 / 90    Dpt. INF                    O. Berger
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
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
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
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
Repackager i810switch




Page 73 / 90              http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=374638#15
               Dpt. INF                 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 74 / 90        Dpt. INF                           O. Berger
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
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
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
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
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
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
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
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
                                               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 85 / 90       Dpt. INF                          O. Berger
Page 86 / 90   Dpt. INF   O. Berger
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
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
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
Merci de votre attention




Page 90 / 90   Dpt. INF    O. Berger
1 of 90

Recommended

Plate-formes pour le développement collaboratif des logiciels libres by
Plate-formes pour le développement collaboratif des logiciels libresPlate-formes pour le développement collaboratif des logiciels libres
Plate-formes pour le développement collaboratif des logiciels libresolberger
973 views74 slides
Plateforme Pour Le DéVeloppement Collaboratif Des Logiciels Libres by
Plateforme Pour Le DéVeloppement Collaboratif Des Logiciels LibresPlateforme Pour Le DéVeloppement Collaboratif Des Logiciels Libres
Plateforme Pour Le DéVeloppement Collaboratif Des Logiciels LibresFdiwa
2.7K views74 slides
Logiciellibre by
LogiciellibreLogiciellibre
Logiciellibrem4rylin
799 views29 slides
Bases legales del sistema educativo by
Bases legales del sistema educativoBases legales del sistema educativo
Bases legales del sistema educativotamaraperalta
24.4K views7 slides
Introduction aux logiciels libres by
Introduction aux logiciels libresIntroduction aux logiciels libres
Introduction aux logiciels libresolberger
696 views93 slides
Introduction aux logiciels libres by
Introduction aux logiciels libresIntroduction aux logiciels libres
Introduction aux logiciels libresolberger
2.1K views87 slides

More Related Content

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

Présentation Logiciels Libres et Open Source - Philosophie et Concepts.pdf by
Présentation Logiciels Libres et Open Source - Philosophie et Concepts.pdfPrésentation Logiciels Libres et Open Source - Philosophie et Concepts.pdf
Présentation Logiciels Libres et Open Source - Philosophie et Concepts.pdfLaurent Destailleur
48 views30 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
libre en fête 2009 by
libre en fête 2009libre en fête 2009
libre en fête 2009m4rylin
545 views26 slides
Forges : état de l'art by
Forges : état de l'artForges : état de l'art
Forges : état de l'artNyco
861 views12 slides
Logiciels libres by
Logiciels libresLogiciels libres
Logiciels libresj_lipaz
824 views29 slides
Khaled Ben Driss 28 Fev 2007 V1.0.4 by
Khaled Ben Driss 28 Fev 2007 V1.0.4Khaled Ben Driss 28 Fev 2007 V1.0.4
Khaled Ben Driss 28 Fev 2007 V1.0.4Khaled Ben Driss
899 views30 slides

Similar to Retour d'expérience sur la conduite d'un projet libre(20)

Présentation Logiciels Libres et Open Source - Philosophie et Concepts.pdf by Laurent Destailleur
Présentation Logiciels Libres et Open Source - Philosophie et Concepts.pdfPrésentation Logiciels Libres et Open Source - Philosophie et Concepts.pdf
Présentation Logiciels Libres et Open Source - Philosophie et Concepts.pdf
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
libre en fête 2009 by m4rylin
libre en fête 2009libre en fête 2009
libre en fête 2009
m4rylin545 views
Forges : état de l'art by Nyco
Forges : état de l'artForges : état de l'art
Forges : état de l'art
Nyco861 views
Logiciels libres by j_lipaz
Logiciels libresLogiciels libres
Logiciels libres
j_lipaz824 views
Open the Source 2: cartographie du marché Open Source belge by Robert Viseur
Open the Source 2: cartographie du marché Open Source belgeOpen the Source 2: cartographie du marché Open Source belge
Open the Source 2: cartographie du marché Open Source belge
Robert Viseur828 views
Graphotec granit opensource by pjoulaud
Graphotec granit opensourceGraphotec granit opensource
Graphotec granit opensource
pjoulaud1.2K views
De l’open source à l’open cloud by Robert Viseur
De l’open source à l’open cloudDe l’open source à l’open cloud
De l’open source à l’open cloud
Robert Viseur1K views
Logiciels Libres, quelles opportunités pour nos entreprises ? by Ahmed Chergaoui
Logiciels Libres, quelles opportunités pour nos entreprises ?Logiciels Libres, quelles opportunités pour nos entreprises ?
Logiciels Libres, quelles opportunités pour nos entreprises ?
Ahmed Chergaoui754 views
Pl news letter_nov10 by robertpluss
Pl news letter_nov10Pl news letter_nov10
Pl news letter_nov10
robertpluss220 views
Cartographie des marchés Open Source belges et français by Robert Viseur
Cartographie des marchés Open Source belges et françaisCartographie des marchés Open Source belges et français
Cartographie des marchés Open Source belges et français
Robert Viseur1.1K views
Intégration Libre & Propriétaire : la Symbiose by Khaled Ben Driss
Intégration Libre & Propriétaire : la SymbioseIntégration Libre & Propriétaire : la Symbiose
Intégration Libre & Propriétaire : la Symbiose
Khaled Ben Driss602 views
Présentations séminaire OSSA - mai 2010 by LINAGORA
Présentations séminaire OSSA - mai 2010Présentations séminaire OSSA - mai 2010
Présentations séminaire OSSA - mai 2010
LINAGORA922 views
Comingout openensa 1 by openensa
Comingout openensa 1Comingout openensa 1
Comingout openensa 1
openensa408 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

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

  • 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. <hype mode=quot;onquot;> Le libre c'est bon. Mangez-en ! O. Berger 2/9
  • 3. Dans le libre, on se fait vite plein d'amis ! O. Berger 3/9
  • 4. Mettez votre logiciel sous GPL succès assuré ! O. Berger 4/9
  • 5. Les failles de sécu sont corrigées super vite ! patch#45678 O. Berger 5/9
  • 6. Les contributeurs travaillent gratuitement vite et bien O. Berger 6/9
  • 7. La solution à tous les problèmes de développement ... O. Berger 7/9
  • 8. Après l'outsourcing le CrowdSourcing </hype> O. Berger 8/9
  • 9. Foutaise ? O. Berger 9/9
  • 10. Plus sérieusement... Page 10 / 90 Dpt. INF O. Berger
  • 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. 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. 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. Contenu Introduction générale Collaboration dans l'écosystème libre Page 14 / 90 Dpt. INF O. Berger
  • 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. 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. 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. 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. Logiciel libre Page 19 / 90 Dpt. INF O. Berger
  • 20. Logiciel non-libre (Propriétaire) Page 20 / 90 Dpt. INF O. Berger
  • 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. 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. 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.  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. Software Wars Page 25 / 90 Dpt. INF O. Berger
  • 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. « Commoditisation » du logiciel Page 27 / 90 Dpt. INF O. Berger
  • 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. 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. « 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. 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. Résistances  Copyright / droit d'auteur  Brevets  DRM  FUD  ... Dpt. INF
  • 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. 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. 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.  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. Le libre est global Page 37 / 90 Dpt. INF O. Berger
  • 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. 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. 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. 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. 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. Bon sang, mais c'est le bazar ! Classical analysis of Apache modules feb. 2004 (source [Robles]) Page 43 / 90 Dpt. INF O. Berger
  • 44. Amélioration de la visualisation Reshaped with Girvan-Newman algorithm (source [Robles]) Page 44 / 90 Dpt. INF O. Berger
  • 45. Apache 01/01/1999 Page 45 / 90 Dpt. INF O. Berger
  • 46. Apache 01/01/2000 Page 46 / 90 Dpt. INF O. Berger
  • 47. Apache 01/09/2000 Page 47 / 90 Dpt. INF O. Berger
  • 48. Apache 01/01/2002 Page 48 / 90 Dpt. INF O. Berger
  • 49. Apache 01/02/2004 Page 49 / 90 Dpt. INF O. Berger
  • 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. 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. 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. 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. Licences libres Page 54 / 90 Dpt. INF O. Berger
  • 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.  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. 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. 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. Introduction générale Collaboration dans l'écosystème libre Page 59 / 90 Dpt. INF O. Berger
  • 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. 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. Architecture de PicoForge SSH phpGoupWare Sympa CVS picoForgeAPI openLDAP Pico Modules SVN MySQL Mantis Pico Backend Apache2  +  TWiki dav Dpt. INF
  • 63. Problématiques spécifiques aux projets basés sur le libre Page 63 / 90 Dpt. INF O. Berger
  • 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. 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. Méthode QSOS http://www.qsos.org/ Page 66 / 90 Dpt. INF O. Berger
  • 67. Fiche QSOS Page 67 / 90 Dpt. INF O. Berger
  • 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. 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. 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. 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. 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. Repackager i810switch Page 73 / 90 http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=374638#15 Dpt. INF O. Berger
  • 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. 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. 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. 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. 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. 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. 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. 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. Bug Sympa dans Debian Page 82 / 90 Dpt. INF O. Berger J+5
  • 83. Page 83 / 90 Dpt. INF O. Berger J+6
  • 84. Committed upstream (branch in SVN) Page 84 / 90 Dpt. INF O. Berger J+6
  • 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. Page 86 / 90 Dpt. INF O. Berger
  • 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. 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. 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. Merci de votre attention Page 90 / 90 Dpt. INF O. Berger