SlideShare une entreprise Scribd logo
Logiciels libres
Olivier Berger,
TELECOM & Management SudParis -
Département INF
<olivier.berger@it-sudparis.eu>

TELECOM SudParis
CSC4522 / DSI - 2009/06/17
<hype mode="pipo">




 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
Le
logiciel libre

</hype>   O. Berger   8/9
Foutaise ?
    O. Berger   9/9
Plus sérieusement...




Page 10 / 93   Dpt. INF    O. Berger
Présentation personnelle
                Ingénieur  de Recherche au département INF à
                 TELECOM & Management SudParis (B 303)
                Projets de R&D sur le logiciel libre (CALIBRE,
                 PFTCR, COCLICO, ...)
                Adepte et « évangéliste du libre » de longue
                 date, mais en « congé sabbatique »
                Contributeur à la distribution Debian
                Recherche : plate-formes de développement
                 collaboratif de logiciels (forges) :
                 • Projet Helios (GTLL de System@tic)
                Google est mon ami, mais au cas où :
                http://www-public.it-sudparis.eu/~berger_o/
                http://www-public.it-sudparis.eu/~berger_o/weblog/

Page 11 / 93    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 ?
                SourceForge ?
                Bugzilla ?

Page 12 / 93    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
                Quelques pistes permettant d'intégrer le libre
                 dans les projets industriels




Page 13 / 93    Dpt. INF          O. Berger
Contenu




                Introduction générale




Page 14 / 93   Dpt. INF   O. Berger
Introduction générale sur le libre

 Principes
 Historique
 Aspects   juridiques
 Aspects économiques
 Projets / Communautés
 Evaluation outils libres
 Guidelines




 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 / 93    Dpt. INF           O. Berger
Terminologie

                Logiciel      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 / 93    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 / 93    Dpt. INF           O. Berger
Logiciel libre




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




Page 20 / 93   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 / 93    Dpt. INF          O. Berger
Le libre est partout

                Internet: Apache, Bind, etc.
                Serveurs (Samba, MySQL, etc.)
                Groupware, CMS, ERP, ETL, etc.
                Appliances, embarqué, grand public
                 • Nokia 8x0
                 • Freebox, Easybox, routeurs, etc.
                 • Téléphones (Google Android, etc.)
                 • GPS, ...
                Impots
                Poste de travail des gendarmes
                ...

Page 22 / 93    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 23 / 93    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 24 / 93    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.)
  • OpenStreetmap, Wikipedia
  • Création artistique : creative commons (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
 Hadopi
 ...




  Dpt. INF
 Principes
                Historique
                Aspects   juridiques
                Aspects économiques
                Projets / Communautés
                Evaluation outils libres
                Guidelines




Page 27 / 93    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 (> 83/84)
                  Noyau Linux créé par Linus Torvalds (> 91)
                  Distributions GNU/Linux ( > 95)
                  Création de l'APRIL (96)
                  IBM entre en jeu (2001)
                  Sun rachète StarOffice et création de OpenOffice.org
                   (2002)
                  Ubuntu, Firefix 1.0 (2004)
                  OpenOffice.org 2.0 (2005)
                  Google sponsorise
                  Java sous GPL (2007)
                  Android...
Page 28 / 93       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 29 / 93    Dpt. INF              O. Berger
Qu'est-ce que le logiciel libre ?




                   Juridique/ Licences
                   Organisationnel / Communautés
                   Economique / Modèles d'affaires


                          Pas un seul modèle !




Page 30 / 93   Dpt. INF         O. Berger
 Principes
                Historique
                Aspects   juridiques
                Aspects économiques
                Projets / Communautés
                Evaluation outils libres
                Guidelines




Page 31 / 93    Dpt. INF          O. Berger
Protection vs. Contrôle

                Comment    bien exercer un contrôle ?
                Le Copyright contrôle 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 32 / 93    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 33 / 93    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 34 / 93    Dpt. INF           O. Berger
Licences libres




Page 35 / 93   Dpt. INF          O. Berger
Catégories de licences libres

                Deux   grandes catégories :
                 • Façon « domaine public » (BSD, X11)
                 • Façon « Copyleftées »
                Copyleftées (GPL, LGPL):
                 • Liberté de changer le logiciel
                 • Impossibilité de changer la licence sur oeuvres
                    dérivées
                Un même logiciel + plusieurs licenses =
                 segmentation des « marchés » (dual license)
                Modèles économiques des éditeurs de logiciels
                 libres

Page 36 / 93    Dpt. INF           O. Berger
Points clés

                Question   d'oeuvres dérivées
                Edition de liens, etc.
                Pas questions modèle éco, mais seulement
                 copyright
                Compatibilité des licences
                Éviter la prolifération des licences
                Qui est titulaire des droits ?
                SAAS, Cloud computing ? (Affero GPL)




Page 37 / 93    Dpt. INF         O. Berger
 Principes
                Historique
                Aspects   juridiques
                Aspects économiques
                Projets / Communautés
                Evaluation outils libres
                Guidelines




Page 38 / 93    Dpt. INF          O. Berger
Économie du logiciel

                Non  rivalité
                Valeur augmente quand on s'en sert (effets de
                 réseau)
                Monopôles
                Création d'un « bien commun »
                Faciliter la réutilisation
                Mutualisation de l'investissement
                Logiciel libre == gratuit (une fois qu'il a été
                 payé)




Page 39 / 93    Dpt. INF          O. Berger
Software Wars




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




Page 42 / 93   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%
                 • x 2 tous les 2 ans
                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: "Counting potatoes" par Gonzalez-Barahona et al)
                Cf.http://ohloh.net pour d'autres chiffres
                 (Méthodologie discutable)
Page 43 / 93     Dpt. INF               O. Berger
ROI utilisateurs

                Profusion  d'études
                Libre != gratuit ... heureusement ;-)
                Économie gestion des licenses
                Transfert de coût entre licences et formation
                Paradoxes


                Aufinal coût des licences souvent marginal
                dans les coûts d'un projet




Page 44 / 93    Dpt. INF          O. Berger
Modèles d'affaires pour fournisseurs

                Service
               « Valeur ajoutée » couches hautes
                Editeur
                Double licence


                Marché    en croissance

                Positions   stratégies industrielles

                Linagora    (fondée par ancien INT Management)


Page 45 / 93    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 46 / 93    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 47 / 93      Dpt. INF                 O. Berger
Le libre est global




Page 48 / 93   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 49 / 93     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 50 / 93     Dpt. INF              O. Berger
 Principes
                Historique
                Aspects   juridiques
                Aspects économiques
                Projets / Communautés
                Evaluation outils libres
                Guidelines




Page 51 / 93    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
                    - FusionForge, ...
                Structure  projets (caricature)
                 • old-style traditional model : Cathedral
                 • new unexpected style : Bazaar
                 "The Cathedral and the Bazaar" (Eric Raymond)
                Projet == réseau social


Page 52 / 93    Dpt. INF                 O. Berger
Communautés, résaux sociaux

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




Page 53 / 93   Dpt. INF     O. Berger
Bon sang, mais c'est le bazar !




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




                  Reshaped with Girvan-Newman algorithm (source
                  [Robles])
Page 55 / 93   Dpt. INF          O. Berger
Apache 01/01/1999




Page 56 / 93   Dpt. INF      O. Berger
Apache 01/01/2000




Page 57 / 93   Dpt. INF      O. Berger
Apache 01/09/2000




Page 58 / 93   Dpt. INF      O. Berger
Apache 01/01/2002




Page 59 / 93   Dpt. INF      O. Berger
Apache 01/02/2004




Page 60 / 93   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
                Méritocratie
                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 !
                Communiquer pour construire la confiance

Page 61 / 93    Dpt. INF          O. Berger
« HOWTO » projets
                           basés sur le libre




Page 62 / 93   Dpt. INF          O. Berger
 Principes
                Historique
                Aspects   juridiques
                Aspects économiques
                Projets / Communautés
                Evaluation outils libres
                Guidelines




Page 63 / 93    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 64 / 93    Dpt. INF               O. Berger
Annuaires

                Freshmeat   http://freshmeat.net/ (> 39000
                 projets)
                FSF/Unesco : http://directory.fsf.org/ (> 5800
                 projets)
                Framasoft : http://framasoft.net/ (> 1400)
                Ohloh : http://ohloh.net/ (> 300 000 projets ??)




Page 65 / 93    Dpt. INF           O. Berger
Sélection d'un produit

                Facilité à tester
                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
                 (distributions)
                Éléments de dépendance sur des tiers non-
                 contractualisés




Page 66 / 93    Dpt. INF           O. Berger
Nombreuses qualités

                Qualités   génériques ... déjà connues

                Qualités particulières d'un logiciel libre
                => à é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 67 / 93    Dpt. INF                O. Berger
Méthode QSOS (http://www.qsos.org/)




Page 68 / 93   Dpt. INF         O. Berger
Fiche QSOS




Page 69 / 93   Dpt. INF     O. Berger
Analyse des besoins
                               Conduite de projet

                  Spécification



                           Architecture



                               Conception détaillée



                                               Codage


                                                        Tests




                                                                          ?
                                                            Déploiement


Page 70 / 93    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 71 / 93    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 72 / 93    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

                Participer     aux projets externes ASAP




Page 73 / 93    Dpt. INF                 O. Berger
Compétences pour le développement

                Rendre   générique ce qui peut l'être
                 (bibliothèques, sous-projets)
                Méthodologie d'intégration (versions dérivées,
                 customisations)
                Support de certains matériels (distributions
                 supportées)
                Virtualisation (Xen, etc.)
                Savoir packager (exemple : Debian)
                Traditionnels : doc, specs, tests, etc.
                Animation de communauté




Page 74 / 93    Dpt. INF          O. Berger
Repackager i810switch




Page 75 / 93              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 "http://bugs.debian.org/cgi-bin/bugreport.cgi?
       msg=15;filename=i810switch_macbook_support.patch;att=1;bug=374638"

       $ 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 76 / 93        Dpt. INF                           O. Berger
Comment bien intégrer un projet libre

                Guides   nouveaux contributeurs
                Être de bonne volonté (commencer petit pour
                 se faire connaître)
                Pas magique (le diable est dans les détails)
                Identifier la roadmap
                Stratégie de stabilisation de versions
                Système d'Assurance Qualité
                Identifier les acteurs clé
                Rencontres physiques
                Canaux temps réel (IRC, etc.)



Page 77 / 93    Dpt. INF         O. Berger
Spécificités du projet

                Pas   que la licence
                Communauté
                 • développement
                 • utilisatrice
                Personnes, rôles
                Acteurs économiques
                But, objectifs
                Méthodologie




Page 78 / 93    Dpt. INF        O. Berger
Règles de vie en communauté

                Bénévoles  (motivations)
                Professionnels
                Contractualisation ?
                Confiance
                Leadership
                Barrières à l'entrée
                Humour, culture et autres folklores




Page 79 / 93    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 80 / 93    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 81 / 93    Dpt. INF          O. Berger
C'est l'histoire d'un bug
         *   From: Olivier Berger < olivier.berger@int-edu.eu>
         *   To: " Sympa-dev@cru.fr" < 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("Missing required parameter(s) : $reject");
     }

     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("Missing required parameter(s) : $reject");
     }
     instead of unless ?


Page 82 / 93          Dpt. INF                          O. Berger
Bug Sympa dans Debian




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




Page 85 / 93   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 86 / 93       Dpt. INF                          O. Berger
Page 87 / 93   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
                 dans le bugtracker du projet




Page 88 / 93     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
                Aspects contractuels (reversement
                 communautaire, publication)
                Respecter des licenses
                Respecter copyright


Page 89 / 93    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 90 / 93    Dpt. INF                O. Berger
 Merci  à:
  • Jean-Christophe Becquet / APITUX
  • Roberto Di Cosmo / Paris 7 – PPS
  • Gregorio Robles
 Aller plus loin :
   •   http://www.apitux.org/index.php?2009/05/25/199-cours-logiciel-libre-standards-ouverts-et-interoperabilite
   •   http://loli.fsa.ulaval.ca/index.php?id=9
   •   http://dpt-info.univ-littoral.fr/mediawiki/index.php/I2L:Accueil
   •   http://www.dicosmo.org/CourseNotes/LogicielLibre/




Page 91 / 93        Dpt. INF                           O. Berger
Conditions d'utilisation

                Thiswork is Copyright 2009 by Institut
                TELECOM and Olivier Berger, published under
                a Creative Commons ShareAlike license




Page 92 / 93    Dpt. INF        O. Berger
Merci de votre attention



                          http://www-public.it-sudparis.eu/~berger_o/weblog/

Page 93 / 93   Dpt. INF        O. Berger

Contenu connexe

ODP
Logiciellibre
PDF
20131210 - Gouvernance et conformité open source : à la recherche d'une quali...
PDF
Logiciels libres
PPTX
L’open source dans la dynamique du libre accès & de la science ouverte
ODP
Logiciels licences libres synthèse-v1.1
ODP
Les licences libres - Algeria 2.0
PDF
La valorisation des logiciels libres en entreprise
ODP
logiciel libre
Logiciellibre
20131210 - Gouvernance et conformité open source : à la recherche d'une quali...
Logiciels libres
L’open source dans la dynamique du libre accès & de la science ouverte
Logiciels licences libres synthèse-v1.1
Les licences libres - Algeria 2.0
La valorisation des logiciels libres en entreprise
logiciel libre

Tendances (17)

ODP
Code d'Armor : Open Source, mode d'emploi
ODP
Logiciels libres - Concepts et intérêts pour les chercheurs
 
PDF
Premiere présentation / First talk (20070108)
ODP
Quizz culture libre (1)
PDF
Gnu/Linux et Logiciel Libre
PDF
- Protection du logiciel - **François Pelligrini**
PDF
Logiciel libre vs open source
ODP
Logiciel libre, principe et définitions
PDF
Introduction aux logiciels libres
PDF
Logiciels libres/Open source dans le ESR, Science Ouverte, Évaluation de la r...
PDF
Cartographie des marchés Open Source belges et français
ODP
libre en fête 2009
PDF
Introduction à l'Open Hardware
PPTX
Les logiciels libres
PDF
Diffusion des developpements informatiques
PDF
La valorisation de logiciels de recherche au sein de l'Inria? / Transfert ma...
PDF
Open Wide : les licences libres.
Code d'Armor : Open Source, mode d'emploi
Logiciels libres - Concepts et intérêts pour les chercheurs
 
Premiere présentation / First talk (20070108)
Quizz culture libre (1)
Gnu/Linux et Logiciel Libre
- Protection du logiciel - **François Pelligrini**
Logiciel libre vs open source
Logiciel libre, principe et définitions
Introduction aux logiciels libres
Logiciels libres/Open source dans le ESR, Science Ouverte, Évaluation de la r...
Cartographie des marchés Open Source belges et français
libre en fête 2009
Introduction à l'Open Hardware
Les logiciels libres
Diffusion des developpements informatiques
La valorisation de logiciels de recherche au sein de l'Inria? / Transfert ma...
Open Wide : les licences libres.
Publicité

En vedette (7)

PDF
"Génération Y en entreprise : le choc des générations n'aura pas lieu"
PDF
Presentation forges logicielles à mathrice
PDF
Présentation 2010
PDF
Veille sur Internet : Surveillez vos concurrents et votre e-réputation - CCI ...
PDF
OSLC (Open Services for Lifecycle Collaboration): standard ouvert pour l’int...
PDF
" Intelligence collective : condition de l'Intelligence Stratégique"
PDF
Guidepratiquedutravailcollaboratif1 111003085004-phpapp01
"Génération Y en entreprise : le choc des générations n'aura pas lieu"
Presentation forges logicielles à mathrice
Présentation 2010
Veille sur Internet : Surveillez vos concurrents et votre e-réputation - CCI ...
OSLC (Open Services for Lifecycle Collaboration): standard ouvert pour l’int...
" Intelligence collective : condition de l'Intelligence Stratégique"
Guidepratiquedutravailcollaboratif1 111003085004-phpapp01
Publicité

Similaire à Introduction aux logiciels libres (20)

PDF
Présentation Logiciels Libres et Open Source - Philosophie et Concepts.pdf
PDF
Retour d'expérience sur la conduite d'un projet libre
PPTX
Conférence RMIT – 29 mars 2010 – « Economie et marché du logiciel libre en Fr...
PPT
inseme logiciel libre
PDF
La valorisation des logiciels libres en entreprise
ODP
Logiciels libres
PDF
Licences libres
ODP
Logiciels Libres: quel opportunités pour les marocains ?
PDF
Pl news letter_nov10
ODP
Logiciels libres en bibliothèque
PPT
Logiciels d'archives open source - Introduction
PDF
Numok - Le logiciel libre
PDF
Le_libre_conference_iutnc_oct_2014
ODP
Introduction aux concepts du logiciel libre et à la culture libre
PDF
Open Source Innovation - Origines et Expansion de l'Open X
PDF
Open Source Innovation - Origines et Expansion de l'Open X (obsolete)
PDF
Luc Fievet - Membre du conseil d'administration de l'APRIL, acteur de la prom...
PDF
Introduction aux logiciels libres et à Linux
PDF
Open the Source 2: cartographie du marché Open Source belge
PDF
Introduction à Linux et aux logiciels libres
Présentation Logiciels Libres et Open Source - Philosophie et Concepts.pdf
Retour d'expérience sur la conduite d'un projet libre
Conférence RMIT – 29 mars 2010 – « Economie et marché du logiciel libre en Fr...
inseme logiciel libre
La valorisation des logiciels libres en entreprise
Logiciels libres
Licences libres
Logiciels Libres: quel opportunités pour les marocains ?
Pl news letter_nov10
Logiciels libres en bibliothèque
Logiciels d'archives open source - Introduction
Numok - Le logiciel libre
Le_libre_conference_iutnc_oct_2014
Introduction aux concepts du logiciel libre et à la culture libre
Open Source Innovation - Origines et Expansion de l'Open X
Open Source Innovation - Origines et Expansion de l'Open X (obsolete)
Luc Fievet - Membre du conseil d'administration de l'APRIL, acteur de la prom...
Introduction aux logiciels libres et à Linux
Open the Source 2: cartographie du marché Open Source belge
Introduction à Linux et aux logiciels libres

Plus de olberger (17)

PDF
Presentation distro recipes-2013
PDF
An introduction to git
PDF
Generating Linked Data descriptions of Debian packages in the Debian PTS
PDF
Interoperability of FLOSS forges; lessons from the COCLICO project, implement...
PDF
OSLC (Open Services for Lifecycle Collaboration): open standard for interoper...
PDF
Jailbreaking the Forges : project export/import efforts
PDF
Bug tracking à grande échelle et interopérabilité des outils de développement...
PDF
Presentation soc-fr-fossa
PDF
Bugs tracking at a large scale in the FLOSS ecosystem
PDF
Coclico project - Forges Interoperability (OWF 2010)
PDF
Bugtracking on the Web 2.5
PDF
Weaving a Semantic Web across OSS repositories - a spotlight on bts-link, UDD...
PDF
Introduction to bts-link
PDF
Visualizing contributions in a forge -Case study on PicoForge
PDF
Plate-formes pour le développement collaboratif des logiciels libres
PDF
Olpc France Presentation Sl2008
PDF
Collaboration avec des projets libres - enjeux, difficultés et bonnes pratiques
Presentation distro recipes-2013
An introduction to git
Generating Linked Data descriptions of Debian packages in the Debian PTS
Interoperability of FLOSS forges; lessons from the COCLICO project, implement...
OSLC (Open Services for Lifecycle Collaboration): open standard for interoper...
Jailbreaking the Forges : project export/import efforts
Bug tracking à grande échelle et interopérabilité des outils de développement...
Presentation soc-fr-fossa
Bugs tracking at a large scale in the FLOSS ecosystem
Coclico project - Forges Interoperability (OWF 2010)
Bugtracking on the Web 2.5
Weaving a Semantic Web across OSS repositories - a spotlight on bts-link, UDD...
Introduction to bts-link
Visualizing contributions in a forge -Case study on PicoForge
Plate-formes pour le développement collaboratif des logiciels libres
Olpc France Presentation Sl2008
Collaboration avec des projets libres - enjeux, difficultés et bonnes pratiques

Introduction aux logiciels libres

  • 1. Logiciels libres Olivier Berger, TELECOM & Management SudParis - Département INF <[email protected]> TELECOM SudParis CSC4522 / DSI - 2009/06/17
  • 2. <hype mode="pipo"> 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
  • 9. Foutaise ? O. Berger 9/9
  • 10. Plus sérieusement... Page 10 / 93 Dpt. INF O. Berger
  • 11. Présentation personnelle  Ingénieur de Recherche au département INF à TELECOM & Management SudParis (B 303)  Projets de R&D sur le logiciel libre (CALIBRE, PFTCR, COCLICO, ...)  Adepte et « évangéliste du libre » de longue date, mais en « congé sabbatique »  Contributeur à la distribution Debian  Recherche : plate-formes de développement collaboratif de logiciels (forges) : • Projet Helios (GTLL de System@tic)  Google est mon ami, mais au cas où : http://www-public.it-sudparis.eu/~berger_o/ http://www-public.it-sudparis.eu/~berger_o/weblog/ Page 11 / 93 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 ?  SourceForge ?  Bugzilla ? Page 12 / 93 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  Quelques pistes permettant d'intégrer le libre dans les projets industriels Page 13 / 93 Dpt. INF O. Berger
  • 14. Contenu Introduction générale Page 14 / 93 Dpt. INF O. Berger
  • 15. Introduction générale sur le libre  Principes  Historique  Aspects juridiques  Aspects économiques  Projets / Communautés  Evaluation outils libres  Guidelines 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 / 93 Dpt. INF O. Berger
  • 17. Terminologie  Logiciel 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 / 93 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 / 93 Dpt. INF O. Berger
  • 19. Logiciel libre Page 19 / 93 Dpt. INF O. Berger
  • 20. Logiciel non-libre (Propriétaire) Page 20 / 93 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 / 93 Dpt. INF O. Berger
  • 22. Le libre est partout  Internet: Apache, Bind, etc.  Serveurs (Samba, MySQL, etc.)  Groupware, CMS, ERP, ETL, etc.  Appliances, embarqué, grand public • Nokia 8x0 • Freebox, Easybox, routeurs, etc. • Téléphones (Google Android, etc.) • GPS, ...  Impots  Poste de travail des gendarmes  ... Page 22 / 93 Dpt. INF O. Berger
  • 23. 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 23 / 93 Dpt. INF O. Berger
  • 24. « 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 24 / 93 Dpt. INF O. Berger
  • 25. 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.) • OpenStreetmap, Wikipedia • Création artistique : creative commons (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
  • 26. Résistances  Copyright / droit d'auteur  Brevets  DRM  FUD  Hadopi  ... Dpt. INF
  • 27.  Principes  Historique  Aspects juridiques  Aspects économiques  Projets / Communautés  Evaluation outils libres  Guidelines Page 27 / 93 Dpt. INF O. Berger
  • 28. Chronologie  Au début était le code source (< 80) Unix, BSD (> 80)  GNU project & Free Software Foundation créés par Richard M. Stallman (> 83/84)  Noyau Linux créé par Linus Torvalds (> 91)  Distributions GNU/Linux ( > 95)  Création de l'APRIL (96)  IBM entre en jeu (2001)  Sun rachète StarOffice et création de OpenOffice.org (2002)  Ubuntu, Firefix 1.0 (2004)  OpenOffice.org 2.0 (2005)  Google sponsorise  Java sous GPL (2007)  Android... Page 28 / 93 Dpt. INF O. Berger
  • 29. Aujourd'hui incontournable  20/25ans plus tard  La partie est en voie d'être gagnée  Mais au fait, comment ça marche !?! Page 29 / 93 Dpt. INF O. Berger
  • 30. Qu'est-ce que le logiciel libre ? Juridique/ Licences Organisationnel / Communautés Economique / Modèles d'affaires Pas un seul modèle ! Page 30 / 93 Dpt. INF O. Berger
  • 31.  Principes  Historique  Aspects juridiques  Aspects économiques  Projets / Communautés  Evaluation outils libres  Guidelines Page 31 / 93 Dpt. INF O. Berger
  • 32. Protection vs. Contrôle  Comment bien exercer un contrôle ?  Le Copyright contrôle 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 32 / 93 Dpt. INF O. Berger
  • 33. 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 33 / 93 Dpt. INF O. Berger
  • 34. 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 34 / 93 Dpt. INF O. Berger
  • 35. Licences libres Page 35 / 93 Dpt. INF O. Berger
  • 36. Catégories de licences libres  Deux grandes catégories : • Façon « domaine public » (BSD, X11) • Façon « Copyleftées »  Copyleftées (GPL, LGPL): • Liberté de changer le logiciel • Impossibilité de changer la licence sur oeuvres dérivées  Un même logiciel + plusieurs licenses = segmentation des « marchés » (dual license)  Modèles économiques des éditeurs de logiciels libres Page 36 / 93 Dpt. INF O. Berger
  • 37. Points clés  Question d'oeuvres dérivées  Edition de liens, etc.  Pas questions modèle éco, mais seulement copyright  Compatibilité des licences  Éviter la prolifération des licences  Qui est titulaire des droits ?  SAAS, Cloud computing ? (Affero GPL) Page 37 / 93 Dpt. INF O. Berger
  • 38.  Principes  Historique  Aspects juridiques  Aspects économiques  Projets / Communautés  Evaluation outils libres  Guidelines Page 38 / 93 Dpt. INF O. Berger
  • 39. Économie du logiciel  Non rivalité  Valeur augmente quand on s'en sert (effets de réseau)  Monopôles  Création d'un « bien commun »  Faciliter la réutilisation  Mutualisation de l'investissement  Logiciel libre == gratuit (une fois qu'il a été payé) Page 39 / 93 Dpt. INF O. Berger
  • 40. Software Wars Page 40 / 93 Dpt. INF O. Berger
  • 41. « 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 41 / 93 Dpt. INF O. Berger
  • 42. « Commoditisation » du logiciel Page 42 / 93 Dpt. INF O. Berger
  • 43. Valeur du libre ?  Exemple: Debian 2.2 GNU/Linux (2001)  Lignes de code source : • 55 201 526 • dont noyau Linux < 6% • x 2 tous les 2 ans  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: "Counting potatoes" par Gonzalez-Barahona et al)  Cf.http://ohloh.net pour d'autres chiffres (Méthodologie discutable) Page 43 / 93 Dpt. INF O. Berger
  • 44. ROI utilisateurs  Profusion d'études  Libre != gratuit ... heureusement ;-)  Économie gestion des licenses  Transfert de coût entre licences et formation  Paradoxes  Aufinal coût des licences souvent marginal dans les coûts d'un projet Page 44 / 93 Dpt. INF O. Berger
  • 45. Modèles d'affaires pour fournisseurs  Service « Valeur ajoutée » couches hautes  Editeur  Double licence  Marché en croissance  Positions stratégies industrielles  Linagora (fondée par ancien INT Management) Page 45 / 93 Dpt. INF O. Berger
  • 46. 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 46 / 93 Dpt. INF O. Berger
  • 47. 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 47 / 93 Dpt. INF O. Berger
  • 48. Le libre est global Page 48 / 93 Dpt. INF O. Berger
  • 49. 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 49 / 93 Dpt. INF O. Berger
  • 50. 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 50 / 93 Dpt. INF O. Berger
  • 51.  Principes  Historique  Aspects juridiques  Aspects économiques  Projets / Communautés  Evaluation outils libres  Guidelines Page 51 / 93 Dpt. INF O. Berger
  • 52. Comment le libre est-il développé ?  Outilsde travail collaboratif : • Internet, CVS, SubVersion, mailing-lists, chat IRC • « Forges » publiques (ou privées) : - SourceForge - FusionForge, ...  Structure projets (caricature) • old-style traditional model : Cathedral • new unexpected style : Bazaar "The Cathedral and the Bazaar" (Eric Raymond)  Projet == réseau social Page 52 / 93 Dpt. INF O. Berger
  • 53. Communautés, résaux sociaux Linux 1.0 (1994) Developers linked by common authorship to same files source [Robles] Page 53 / 93 Dpt. INF O. Berger
  • 54. Bon sang, mais c'est le bazar ! Classical analysis of Apache modules feb. 2004 (source [Robles]) Page 54 / 93 Dpt. INF O. Berger
  • 55. Amélioration de la visualisation Reshaped with Girvan-Newman algorithm (source [Robles]) Page 55 / 93 Dpt. INF O. Berger
  • 56. Apache 01/01/1999 Page 56 / 93 Dpt. INF O. Berger
  • 57. Apache 01/01/2000 Page 57 / 93 Dpt. INF O. Berger
  • 58. Apache 01/09/2000 Page 58 / 93 Dpt. INF O. Berger
  • 59. Apache 01/01/2002 Page 59 / 93 Dpt. INF O. Berger
  • 60. Apache 01/02/2004 Page 60 / 93 Dpt. INF O. Berger
  • 61. 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  Méritocratie  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 !  Communiquer pour construire la confiance Page 61 / 93 Dpt. INF O. Berger
  • 62. « HOWTO » projets basés sur le libre Page 62 / 93 Dpt. INF O. Berger
  • 63.  Principes  Historique  Aspects juridiques  Aspects économiques  Projets / Communautés  Evaluation outils libres  Guidelines Page 63 / 93 Dpt. INF O. Berger
  • 64. 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 64 / 93 Dpt. INF O. Berger
  • 65. Annuaires  Freshmeat http://freshmeat.net/ (> 39000 projets)  FSF/Unesco : http://directory.fsf.org/ (> 5800 projets)  Framasoft : http://framasoft.net/ (> 1400)  Ohloh : http://ohloh.net/ (> 300 000 projets ??) Page 65 / 93 Dpt. INF O. Berger
  • 66. Sélection d'un produit  Facilité à tester  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 (distributions)  Éléments de dépendance sur des tiers non- contractualisés Page 66 / 93 Dpt. INF O. Berger
  • 67. Nombreuses qualités  Qualités génériques ... déjà connues  Qualités particulières d'un logiciel libre => à é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 67 / 93 Dpt. INF O. Berger
  • 69. Fiche QSOS Page 69 / 93 Dpt. INF O. Berger
  • 70. Analyse des besoins Conduite de projet Spécification Architecture Conception détaillée Codage Tests ? Déploiement Page 70 / 93 Dpt. INF O. Berger
  • 71. Maintien en condition opérationnelle  Réactivitépour les mises à jour  Diminuer l'adhérence dans les composants spécifiques Page 71 / 93 Dpt. INF O. Berger
  • 72. Stabilisation impossible  Mises à jour de sécurité permanentes  Répétition des mises à jour  Automatisation souhaitable  Diminuer la taille du code spécifique Page 72 / 93 Dpt. INF O. Berger
  • 73. 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  Participer aux projets externes ASAP Page 73 / 93 Dpt. INF O. Berger
  • 74. Compétences pour le développement  Rendre générique ce qui peut l'être (bibliothèques, sous-projets)  Méthodologie d'intégration (versions dérivées, customisations)  Support de certains matériels (distributions supportées)  Virtualisation (Xen, etc.)  Savoir packager (exemple : Debian)  Traditionnels : doc, specs, tests, etc.  Animation de communauté Page 74 / 93 Dpt. INF O. Berger
  • 75. Repackager i810switch Page 75 / 93 http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=374638#15 Dpt. INF O. Berger
  • 76. 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 "http://bugs.debian.org/cgi-bin/bugreport.cgi? msg=15;filename=i810switch_macbook_support.patch;att=1;bug=374638" $ 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 <[email protected]> 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 76 / 93 Dpt. INF O. Berger
  • 77. Comment bien intégrer un projet libre  Guides nouveaux contributeurs  Être de bonne volonté (commencer petit pour se faire connaître)  Pas magique (le diable est dans les détails)  Identifier la roadmap  Stratégie de stabilisation de versions  Système d'Assurance Qualité  Identifier les acteurs clé  Rencontres physiques  Canaux temps réel (IRC, etc.) Page 77 / 93 Dpt. INF O. Berger
  • 78. Spécificités du projet  Pas que la licence  Communauté • développement • utilisatrice  Personnes, rôles  Acteurs économiques  But, objectifs  Méthodologie Page 78 / 93 Dpt. INF O. Berger
  • 79. Règles de vie en communauté  Bénévoles (motivations)  Professionnels  Contractualisation ?  Confiance  Leadership  Barrières à l'entrée  Humour, culture et autres folklores Page 79 / 93 Dpt. INF O. Berger
  • 80. 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 80 / 93 Dpt. INF O. Berger
  • 81. 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 81 / 93 Dpt. INF O. Berger
  • 82. C'est l'histoire d'un bug * From: Olivier Berger < [email protected]> * To: " [email protected]" < [email protected]> * 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("Missing required parameter(s) : $reject"); } 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("Missing required parameter(s) : $reject"); } instead of unless ? Page 82 / 93 Dpt. INF O. Berger
  • 83. Bug Sympa dans Debian Page 83 / 93 Dpt. INF O. Berger J+5
  • 84. Page 84 / 93 Dpt. INF O. Berger J+6
  • 85. Committed upstream (branch in SVN) Page 85 / 93 Dpt. INF O. Berger J+6
  • 86. 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) <[email protected]> Changed-By: Stefan Hornburg (Racke) <[email protected]> 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 86 / 93 Dpt. INF O. Berger
  • 87. Page 87 / 93 Dpt. INF O. Berger
  • 88. 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 dans le bugtracker du projet Page 88 / 93 Dpt. INF O. Berger
  • 89. 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  Aspects contractuels (reversement communautaire, publication)  Respecter des licenses  Respecter copyright Page 89 / 93 Dpt. INF O. Berger
  • 90. 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 90 / 93 Dpt. INF O. Berger
  • 91.  Merci à: • Jean-Christophe Becquet / APITUX • Roberto Di Cosmo / Paris 7 – PPS • Gregorio Robles  Aller plus loin : • http://www.apitux.org/index.php?2009/05/25/199-cours-logiciel-libre-standards-ouverts-et-interoperabilite • http://loli.fsa.ulaval.ca/index.php?id=9 • http://dpt-info.univ-littoral.fr/mediawiki/index.php/I2L:Accueil • http://www.dicosmo.org/CourseNotes/LogicielLibre/ Page 91 / 93 Dpt. INF O. Berger
  • 92. Conditions d'utilisation  Thiswork is Copyright 2009 by Institut TELECOM and Olivier Berger, published under a Creative Commons ShareAlike license Page 92 / 93 Dpt. INF O. Berger
  • 93. Merci de votre attention http://www-public.it-sudparis.eu/~berger_o/weblog/ Page 93 / 93 Dpt. INF O. Berger