Réflexions autour des Plate-formes pour le développement collaboratif des logiciels libres « forges » logicielles Olivier Berger, TELECOM & Management SudParis (ex. GET/INT) - Département INF <[email protected]> Vendredi 9 mai 2008 4 ème GNU/Linux days (ENSALinux) Agadir (Maroc)
74
Embed
Plate-formes pour le développement collaboratif des logiciels libres
Réflexions autour des plate-formes pour le développement collaboratif des logiciels libres (« forges » logicielles) - 4ème GNU/Linux days Agadir (Maroc)
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Réflexions autour des
Plate-formes pour ledéveloppement collaboratifdes logiciels libres« forges » logicielles
Bonheur de compléter ma connaissance du pays à Agadir :-)
O. BergerPage 6 / 74 Agadir GNU/Linux days 2008
Objectif de cette conférence
Donner une idée des enjeux liés à la collaboration dans les projets libres
Rappel quelques fondamentaux du modèle libre
« Démythifier » un modèle loin d'être magique
Donner un aperçu (très rapide) des outils Inciter à s'engager dans le développement des
logiciels libres, et à contribuer autant que possible
Agadir GNU/Linux days 2008
Contenu
Introduction générale
Agadir GNU/Linux days 2008
Introduction générale sur le libre
PrincipesGéopolitique de l'Industrie logicielleHistorique
O. BergerPage 9 / 74 Agadir GNU/Linux days 2008
Définition du logiciel libre
« La liberté d'exécuter le programme, pour tous les usages (liberté 0).
La liberté d'étudier le fonctionnement du programme, et de l'adapter à vos besoins (liberté 1). Pour ceci l'accès au code source est une condition requise.
La liberté de redistribuer des copies, donc d'aider votre voisin, (liberté 2).
La liberté d'améliorer le programme et de publier vos améliorations, pour en faire profiter toute la communauté (liberté 3). Pour ceci l'accès au code source est une condition requise. »
Définition de la Free Software Foundation (FSF)
O. BergerPage 10 / 74 Agadir GNU/Linux days 2008
IntroductionPrincipesGéopolitique de l'Industrie logicielleHistorique
O. BergerPage 11 / 74 Agadir GNU/Linux days 2008
Software Wars
O. BergerPage 12 / 74 Agadir GNU/Linux days 2008
Immense élan vers le libre
Réduire les coûts (commoditisation)Effets de réseaux pour établir des standardsMutualiser la R&D« Co-opétition » :
• coopération• compétition
Prendre position dans le libre pour maîtriser son évolution
Modèles économiques ?
O. BergerPage 13 / 74 Agadir GNU/Linux days 2008
« Commoditisation » du logiciel
O. BergerPage 14 / 74 Agadir GNU/Linux days 2008
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: "Counting potatoes" par Gonzalez-Barahona et al)
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 communsMouvement « 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/
IntroductionPrincipesGéopolitique de l'Industrie logicielleHistorique
O. BergerPage 17 / 74 Agadir GNU/Linux days 2008
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 sponsoriseJava sous GPLAndroid, OpenMoko...
O. BergerPage 18 / 74 Agadir GNU/Linux days 2008
Aujourd'hui incontournable
20/25 ans plus tardLa partie est en voie d'être gagnée (?)
Mais au fait, comment ça marche !?!
Soutenabilité du modèle ?
O. BergerPage 19 / 74 Agadir GNU/Linux days 2008
Qui sont les développeurs de logiciels libres ?
O. BergerPage 20 / 74 Agadir GNU/Linux days 2008
Qui participe au développement ?
Bénévoles• Parfois très isolés (lonesome coder)• Parfois de façon organisée (Apache, GNU
project, etc.)Entreprises
• De plus en plus !Pas un seul profil d'activités :
• Utilisation, tests, rapports de bugs • Support communautaire (forums, listes, etc.) • Ecrire du code• Vendre du libre• etc.
O. BergerPage 21 / 74 Agadir GNU/Linux days 2008
Le libre est global
O. BergerPage 22 / 74 Agadir GNU/Linux days 2008
Où vivent ces développeurs ?
Par pays (SourceForge) :
Rang Pays Developpeurs1. United States 4256202. Germany 958003. United Kingdom 607684. Canada 491095. France 445876. China 36517... ... ...
(source : Gregorio Robles and Jesús M. González Barahona - 2006)
O. BergerPage 23 / 74 Agadir GNU/Linux days 2008
Où vivent ces développeurs ? (2)
Par continent :
Continent DéveloppeursAfrica 12 560Asia 127 275EU 401 845Europe 466 792North America 485 679Oceania 46 422South America 36 330
(source : Gregorio Robles and Jesús M. González Barahona – 2006)
Agadir GNU/Linux days 2008
Pourquoi développent-ils des logiciels libres ?
Agadir GNU/Linux days 2008
Motivations
Nombreuses et diversesBeaucoup d'études sociologiquesBesoin (résoudre un problème)Plaisir (technique et relations humaines)TravailApprendreConstruire une réputation ...
Agadir GNU/Linux days 2008
Avec quel mode d'organisation ?
O. BergerPage 27 / 74 Agadir GNU/Linux days 2008
Comment le libre est-il développé ?
Initialement, caricature :• old-style traditional model : Cathedral • new unexpected style : Bazaar"The Cathedral and the Bazaar" (Eric Raymond)
Aujourd'hui analyses plus précisesPas qu'un seul modèleEvolution dans la vie du projet
En ligneMais importance de rencontres physiques
O. BergerPage 28 / 74 Agadir GNU/Linux days 2008
Communautés, résaux sociaux
Linux 1.0 (1994)Developers linked by common authorship to same filessource [Robles]
O. BergerPage 29 / 74 Agadir GNU/Linux days 2008
Bon sang, mais c'est le bazar !
Classical analysis of Apache modules feb. 2004 (source [Robles])
O. BergerPage 30 / 74 Agadir GNU/Linux days 2008
Amélioration de la visualisation
Reshaped with Girvan-Newman algorithm (source [Robles])
O. BergerPage 31 / 74 Agadir GNU/Linux days 2008
Apache 01/01/1999
O. BergerPage 32 / 74 Agadir GNU/Linux days 2008
Apache 01/01/2000
O. BergerPage 33 / 74 Agadir GNU/Linux days 2008
Apache 01/09/2000
O. BergerPage 34 / 74 Agadir GNU/Linux days 2008
Apache 01/01/2002
O. BergerPage 35 / 74 Agadir GNU/Linux days 2008
Apache 01/02/2004
Agadir GNU/Linux days 2008
Logiciel libre vs. projet libre
Logiciel libre : 4 libertés = licence libre
Projet ouvert : communauté, règles ?
O. BergerPage 37 / 74 Agadir GNU/Linux days 2008
Pas que la licence à condidérer
Communauté• développement• utilisatrice
PersonnesActeurs économiquesBut, objectifs partagés ?Méthodologie (explicite ?)Qualités propres du code
O. BergerPage 38 / 74 Agadir GNU/Linux days 2008
Règles de vie en communauté
Bénévoles (motivations)ProfessionnelsContractualisation ?RoadmapStratégie de stabilisation de versionsSystème d'Assurance QualitéLeadership
O. BergerPage 39 / 74 Agadir GNU/Linux days 2008
Enjeux sociaux plus que techniques
Comprendre les règles du jeu Identifier les éléments influentsMotiver des bénévolesFaire accepter ses contributions Impact sur les décisionsProuver son implicationSe faire (re-)connaîtreAnticiper les alea
Fondamental : confiance
O. BergerPage 40 / 74 Agadir GNU/Linux days 2008
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ésDe nombreux mode d'organisation socialeComme dans la « vie réelle » c'est souvent plus
subtil que ce qu'on en dit dans les présentations ou les publicités !
Se comprendre (anglais, ...)
Agadir GNU/Linux days 2008
Processus de production
Agadir GNU/Linux days 2008
Du producteur au consommateur
Code source dans l'éditeur du programmeurGestionnaire de versions partagéTarball (archives) à télécharger
Paquetages dans un miroir (binaire)
Paquetages installés sur l'ordinateur de l'utilisateur
Bugs dans les binaires installés ;-)
O. BergerPage 43 / 74 Agadir GNU/Linux days 2008
Rapide panorama d'un écosystème
Développeursamont
(“upstream”)
OpenSuse
DebianDebian
RedHatRedHat
distributions
versions
versions
versions
bugs
bugs
bugs
Utilisateurs
SSIIÉditeurs
packages
bugs
Agadir GNU/Linux days 2008
Agadir GNU/Linux days 2008
Quels outils
Plate-forme de collaboration
Systèmes d'assurance qualité
Fabrication de paquetagesSuivi des bugsTests automatisés
Repackager i810switch (suite)$ apt-get source i810switchLecture des listes de paquets... FaitConstruction de l'arbre des dépendances Lecture des informations d'état... FaitNé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 0917A9E4gpg: Can't check signature: public key not founddpkg-source : extraction de i810switch dans i810switch-0.6.5dpkg-source : extraction de i810switch_0.6.5.orig.tar.gzdpkg-source : mise en place de ./i810switch_0.6.5-3.diff.gz
$ dpkg-buildpackage -rfakerootdpkg-buildpackage: source package i810switchdpkg-buildpackage: source version 0.6.5-4dpkg-buildpackage: source changed by Thomas Perl <[email protected]>dpkg-buildpackage: host architecture i386 fakeroot debian/rules cleandh_testdirdh_testroot
...
dpkg-deb : construction du paquet « i810switch » dans « ../i810switch_0.6.5-4_i386.deb ».
Agadir GNU/Linux days 2008
Facile, mais pas immédiat
O. BergerPage 50 / 74 Agadir GNU/Linux days 2008
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 :
Conduite de projets informatiques basés sur du libre
O. BergerPage 68 / 74 Agadir GNU/Linux days 2008
Conduite de projetAnalyse des besoins
Spécification
Architecture
Conception détaillée
Codage
Tests
Déploiement
?
O. BergerPage 69 / 74 Agadir GNU/Linux days 2008
Maintien en condition opérationnelle
Réactivité pour les mises à jour
Stabilisation coûteuse• Mises à jour de sécurité permanentes• Répétition des mises à jour
Automatisation souhaitable• Diminuer la taille du code spécifique
O. BergerPage 70 / 74 Agadir GNU/Linux days 2008
Reverser au projet
Rendre générique les éléments spécifiquesMaintenus à l'extérieurAméliorés à l'extérieurPas besoin de les repackager
Plus facile à dire qu'à faire
O. BergerPage 71 / 74 Agadir GNU/Linux days 2008
Contribuer : une nécessité
Cercle vertueux des contributionsQuasi-obligation du fait des licencesExternalisation de la maintenanceSe faire plaisir et apprendre en vraie grandeurSe faire connaître et reconnaître Influer sur le pilotage d'un projet
O. BergerPage 72 / 74 Agadir GNU/Linux days 2008
ConclusionTrop rapide, et loin de l'exhaustivité
Le libre est un changement extrèmement positifPlein d'oportunités
Pas un seul modèle : mais quelques bonnes pratiques à adopter
Importance (relative) des outils : forges
Contribuer est nécessaire pour la survie du modèle, mais aussi concrètement dans les effets utiles aux projets locaux.
O. BergerPage 73 / 74 Agadir GNU/Linux days 2008
ChoukranMerci de votre attention
Merci aux organisateurs de m'avoir invité.
O. BergerPage 74 / 74 Agadir GNU/Linux days 2008
À propos de cette conférence
Conférence « compensée carbone »• Suis venu en avion depuis Paris (retour)• Ai rejeté env. 1083 kgEqCO2
• Ai fait un don pour soutenir les projets d'http://actioncarbone.org/ (reboisement, etc.)