Slideshare.net (beta)

 
Post to TwitterPost to Twitter
Post: 
Myspace Hi5 Friendster Xanga LiveJournal Facebook Blogger Tagged Typepad Freewebs BlackPlanet gigya icons

All comments

Add a comment on Slide 1

If you have a SlideShare account, login to comment; else you can comment as a guest


Showing 1-50 of 0 (more)

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

From olberger, 5 months ago

Réflexions autour des plate-formes pour le développement collabo more

422 views  |  0 comments  |  0 favorites  |  6 downloads  |  1 embed (Stats)
 

Categories

Add Category
 
 
 
 

Groups / Events

 

 
Embed
options

More Info

CC Attribution-ShareAlike LicenseCC Attribution-ShareAlike License
This slideshow is Public
Total Views: 422
on Slideshare: 413
from embeds: 9

Slideshow transcript

Slide 1: Réflexions autour des Plate-formes pour le développement collaboratif des logiciels libres « forges » logicielles Olivier Berger, TELECOM & Management SudParis (ex. GET/INT) - Département INF <olivier.berger@it­sudparis.eu> Vendredi 9 mai 2008 4ème GNU/Linux days (ENSALinux) Agadir (Maroc)

Slide 2: Le logiciel libre c'est super ! Page 2 / 74 Agadir GNU/Linux days 2008 O. Berger

Slide 3: Mais tant qu'il y a quelqu'un pour le développer ;-) Comment il est développé ? Page 3 / 74 Agadir GNU/Linux days 2008 O. Berger

Slide 4: Présentation personnelle  Ingénieur de Recherche au département INF à TELECOM & Management SudParis (ex GET/INT) à Evry (France)  Ancien V.P. d'APRIL (http://www.april.org/)  Récent contributeur de la distribution Debian  Recherche : • plate-formes de dév. collaboratif (forges) • Développeur PicoForge http://www.picoforge.org/ • Projets de recherche sur le logiciel libre (Commission Européenne FP6 IST CALIBRE)  Google est mon ami, mais plus de détails sur : • http://www-public.it-sudparis.eu/~berger_o/ • http://www-public.it-sudparis.eu/~berger_o/weblog/ Page 4 / 74 Agadir GNU/Linux days 2008 O. Berger

Slide 5: Plusieurs visites au Maroc  Plusieurs conférences à Casablanca  Plusieurs séjours en touriste ;-)  Bonheurde compléter ma connaissance du pays à Agadir :-) Page 5 / 74 Agadir GNU/Linux days 2008 O. Berger

Slide 6: Objectif de cette conférence  Donner une idée des enjeux liés à la collaboration dans les projets libres  Rappel quelques fondamentaux du modèle libre  « Démythifier » un modèle loin d'être magique  Donner un aperçu (très rapide) des outils  Inciter à s'engager dans le développement des logiciels libres, et à contribuer autant que possible Page 6 / 74 Agadir GNU/Linux days 2008 O. Berger

Slide 7: Contenu Introduction générale Agadir GNU/Linux days 2008

Slide 8: Introduction générale sur le libre  Principes  Géopolitique de l'Industrie logicielle  Historique Agadir GNU/Linux days 2008

Slide 9: Définition du logiciel libre « La liberté d'exécuter le programme, pour tous les usages (liberté 0).  La liberté d'étudier le fonctionnement du programme, et de l'adapter à vos besoins (liberté 1). Pour ceci l'accès au code source est une condition requise.  La liberté de redistribuer des copies, donc d'aider votre voisin, (liberté 2).  La liberté d'améliorer le programme et de publier vos améliorations, pour en faire profiter toute la communauté (liberté 3). Pour ceci l'accès au code source est une condition requise. » Définition de la Free Software Foundation (FSF) Page 9 / 74 Agadir GNU/Linux days 2008 O. Berger

Slide 10:  Introduction  Principes  Géopolitique de l'Industrie logicielle  Historique Page 10 / 74 Agadir GNU/Linux days 2008 O. Berger

Slide 11: Software Wars Page 11 / 74 Agadir GNU/Linux days 2008 O. Berger

Slide 12: Immense élan vers le libre  Réduire les coûts (commoditisation)  Effets de réseaux pour établir des standards  Mutualiser la R&D  « Co-opétition » : • coopération • compétition  Prendre position dans le libre pour maîtriser son évolution  Modèles économiques ? Page 12 / 74 Agadir GNU/Linux days 2008 O. Berger

Slide 13: « Commoditisation » du logiciel Page 13 / 74 Agadir GNU/Linux days 2008 O. Berger

Slide 14: Valeur du libre ?  Exemple: Debian 2.2 GNU/Linux (2001)  Lignes de code source : • 55 201 526 • dont noyau Linux < 6%  Si applique métriques traditionnelles du développement en entreprise : • Effort estimé : 14 005 hommes x années • Délai estimé : 6,04 ans (équipe de 2 318 p.) • Coût développement : US$ 1 891 990 000 (Source: \"Counting potatoes\" par Gonzalez-Barahona et al)  Cf. http://ohloh.net pour d'autres chiffres Page 14 / 74 Agadir GNU/Linux days 2008 O. Berger

Slide 15: ValeurS : mouvement logiciel libre  Philosophie : Liberté, Egalité, Fraternité • Liberté : faire des copies, améliorer, distribuer • Égalité : mêmes droits pour tout le monde • Fraternité : Co-opération pour construire des biens communs  Mouvement « politique » • Éthique, philosophie, activisme politique • Richard M. Stallman et la FSF (Free Software Foundation : http://www.fsf.org) • APRIL, en france http://www.april.org/ Page 15 / 74 Agadir GNU/Linux days 2008 O. Berger

Slide 16:  Introduction  Principes  Géopolitique de l'Industrie logicielle  Historique Page 16 / 74 Agadir GNU/Linux days 2008 O. Berger

Slide 17: Chronologie  Au début était le code source (< 80) Unix, BSD (> 80)  GNU project & Free Software Foundation créés par Richard M. Stallman (> 84)  Noyau Linux créé par Linus Torvalds (> 91)  Distributions GNU/Linux ( > 95)  IBM entre en jeu (2001)  Sun rachète StarOffice et création de OpenOffice.org (2002)  Google sponsorise  Java sous GPL  Android, OpenMoko... Page 17 / 74 Agadir GNU/Linux days 2008 O. Berger

Slide 18: Aujourd'hui incontournable  20/25ans plus tard  La partie est en voie d'être gagnée (?)  Mais au fait, comment ça marche !?!  Soutenabilité du modèle ? Page 18 / 74 Agadir GNU/Linux days 2008 O. Berger

Slide 19: Qui sont les développeurs de logiciels libres ? Page 19 / 74 Agadir GNU/Linux days 2008 O. Berger

Slide 20: Qui participe au développement ?  Bénévoles • Parfois très isolés (lonesome coder) • Parfois de façon organisée (Apache, GNU project, etc.)  Entreprises • De plus en plus !  Pas un seul profil d'activités : • Utilisation, tests, rapports de bugs • Support communautaire (forums, listes, etc.) • Ecrire du code • Vendre du libre • etc. Page 20 / 74 Agadir GNU/Linux days 2008 O. Berger

Slide 21: Le libre est global Page 21 / 74 Agadir GNU/Linux days 2008 O. Berger

Slide 22: Où vivent ces développeurs ? Par pays (SourceForge) : Rang Pays Developpeurs 1. United States 425620 2. Germany 95800 3. United Kingdom 60768 4. Canada 49109 5. France 44587 6. China 36517 ... ... ... (source : Gregorio Robles and Jesús M. González Barahona - 2006) Page 22 / 74 Agadir GNU/Linux days 2008 O. Berger

Slide 23: Où vivent ces développeurs ? (2) Par continent : Continent Développeurs Africa 12 560 Asia 127 275 EU 401 845 Europe 466 792 North America 485 679 Oceania 46 422 South America 36 330 (source : Gregorio Robles and Jesús M. González Barahona – 2006) Page 23 / 74 Agadir GNU/Linux days 2008 O. Berger

Slide 24: Pourquoi développent-ils des logiciels libres ? Agadir GNU/Linux days 2008

Slide 25: Motivations  Nombreuses et diverses  Beaucoup d'études sociologiques  Besoin (résoudre un problème)  Plaisir (technique et relations humaines)  Travail  Apprendre  Construire une réputation  ... Agadir GNU/Linux days 2008

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

Slide 27: 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écises  Pas qu'un seul modèle  Evolution dans la vie du projet  En ligne  Mais importance de rencontres physiques Page 27 / 74 Agadir GNU/Linux days 2008 O. Berger

Slide 28: Communautés, résaux sociaux Linux 1.0 (1994) Developers linked by common authorship to same files source [Robles] Page 28 / 74 Agadir GNU/Linux days 2008 O. Berger

Slide 29: Bon sang, mais c'est le bazar ! Classical analysis of Apache modules feb. 2004 (source [Robles]) Page 29 / 74 Agadir GNU/Linux days 2008 O. Berger

Slide 30: Amélioration de la visualisation Reshaped with Girvan-Newman algorithm (source [Robles]) Page 30 / 74 Agadir GNU/Linux days 2008 O. Berger

Slide 31: Apache 01/01/1999 Page 31 / 74 Agadir GNU/Linux days 2008 O. Berger

Slide 32: Apache 01/01/2000 Page 32 / 74 Agadir GNU/Linux days 2008 O. Berger

Slide 33: Apache 01/09/2000 Page 33 / 74 Agadir GNU/Linux days 2008 O. Berger

Slide 34: Apache 01/01/2002 Page 34 / 74 Agadir GNU/Linux days 2008 O. Berger

Slide 35: Apache 01/02/2004 Page 35 / 74 Agadir GNU/Linux days 2008 O. Berger

Slide 36: Logiciel libre vs. projet libre  Logiciel libre : 4 libertés = licence libre  Projet ouvert : communauté, règles ? Agadir GNU/Linux days 2008

Slide 37: Pas que la licence à condidérer  Communauté • développement • utilisatrice  Personnes  Acteurs économiques  But, objectifs partagés ?  Méthodologie (explicite ?)  Qualités propres du code Page 37 / 74 Agadir GNU/Linux days 2008 O. Berger

Slide 38: Règles de vie en communauté  Bénévoles (motivations)  Professionnels  Contractualisation ?  Roadmap  Stratégie de stabilisation de versions  Système d'Assurance Qualité  Leadership Page 38 / 74 Agadir GNU/Linux days 2008 O. Berger

Slide 39: Enjeux sociaux plus que techniques  Comprendre les règles du jeu  Identifier les éléments influents  Motiver des bénévoles  Faire accepter ses contributions  Impact sur les décisions  Prouver son implication  Se faire (re-)connaître  Anticiper les alea  Fondamental : confiance Page 39 / 74 Agadir GNU/Linux days 2008 O. Berger

Slide 40: Prendre part à une nouvelle communauté  Rencontrer des hommes (et des femmes), pas seulement des compagnies ou des services marketing  Construire un projet où différents modèles peuvent cohabiter  Apprendre les règles des communautés  De nombreux mode d'organisation sociale  Comme dans la « vie réelle » c'est souvent plus subtil que ce qu'on en dit dans les présentations ou les publicités !  Se comprendre (anglais, ...) Page 40 / 74 Agadir GNU/Linux days 2008 O. Berger

Slide 41: Processus de production Agadir GNU/Linux days 2008

Slide 42: Du producteur au consommateur  Code source dans l'éditeur du programmeur  Gestionnaire de versions partagé  Tarball (archives) à télécharger  Paquetages dans un miroir (binaire)  Paquetages installés sur l'ordinateur de l'utilisateur  Bugs dans les binaires installés ;-) Agadir GNU/Linux days 2008

Slide 43: Rapide panorama d'un écosystème Debian Debian s rs ion ve gs packages bu Développeurs versions Utilisateurs amont RedHat RedHat bugs (“upstream”) bugs ve rsi bu ons gs OpenSuse Éditeurs SSII distributions Page 43 / 74 Agadir GNU/Linux days 2008 O. Berger

Slide 44: Agadir GNU/Linux days 2008

Slide 45: Quels outils  Plate-forme de collaboration  Systèmes d'assurance qualité  Fabrication de paquetages  Suivi des bugs  Tests automatisés  Synchronisation ??  Agents humains + robots Agadir GNU/Linux days 2008

Slide 46: Exemple : « repackaging » Agadir GNU/Linux days 2008

Slide 47: Repackager i810switch Page 47 / 74 http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=374638#15 Agadir GNU/Linux days 2008 O. Berger

Slide 48: Repackager i810switch (suite) $ apt-get source i810switch Lecture des listes de paquets... Fait Construction de l'arbre des dépendances Lecture des informations d'état... Fait Nécessité de prendre 32,3ko dans les sources. Réception de : 1 http://ftp.fr.debian.org testing/main i810switch 0.6.5-3 (dsc) [593B] Réception de : 2 http://ftp.fr.debian.org testing/main i810switch 0.6.5-3 (tar) [24,3kB] Réception de : 3 http://ftp.fr.debian.org testing/main i810switch 0.6.5-3 (diff) [7376B] 32,3ko réceptionnés en 0s (271ko/s) gpg: Signature made ven 22 déc 2006 00:06:16 CET using DSA key ID 0917A9E4 gpg: Can't check signature: public key not found dpkg-source : extraction de i810switch dans i810switch-0.6.5 dpkg-source : extraction de i810switch_0.6.5.orig.tar.gz dpkg-source : mise en place de ./i810switch_0.6.5-3.diff.gz $ cd i810switch-0.6.5/ $ wget \"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 48 / 74 Agadir GNU/Linux days 2008 O. Berger

Slide 49: Facile, mais pas immédiat Agadir GNU/Linux days 2008

Slide 50: 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 50 / 74 Agadir GNU/Linux days 2008 O. Berger

Slide 51: Bug Sympa dans Debian Page 51 / 74 Agadir GNU/Linux days 2008 O. Berger J+5

Slide 52: Page 52 / 74 Agadir GNU/Linux days 2008 O. Berger J+6

Slide 53: Committed upstream (branch in SVN) Page 53 / 74 Agadir GNU/Linux days 2008 O. Berger J+6

Slide 54: Migration vers Debian J+7 Accepted sympa 5.3.3-5 (source i386) Date: Fri, 26 Oct 2007 11:56:09 +0200 Source: sympa Binary: sympa Architecture: source i386 Version: 5.3.3-5 Distribution: unstable Urgency: low Maintainer: Stefan Hornburg (Racke) <racke@linuxia.de> Changed-By: Stefan Hornburg (Racke) <racke@linuxia.de> Description: sympa - Modern mailing list manager Closes: 443802 444188 444304 447721 447945 Changes: sympa (5.3.3-5) unstable; urgency=low . * fix createList not invoked from authenticateAndRun on SOAP server (Closes: #444188) J+35 Page 54 / 74 Agadir GNU/Linux days 2008 O. Berger

Slide 55: Page 55 / 74 Agadir GNU/Linux days 2008 O. Berger

Slide 56: Contenu « Forges » logicielles Agadir GNU/Linux days 2008

Slide 57: Plate-forme « intégrée »  Outils de travail collaboratif : • CVS, SubVersion, mailing-lists, IRC  Services « Forges » publiques : hébergement • SourceForge • Savannah • ...  Installation forge « privée » : • Gforge, • LibreSource, • PicoForge • Trac Agadir GNU/Linux days 2008

Slide 58: Intérêt des forges  Héberger • le code • la vie d'une communauté • ce qui complète le code (bugs, doc, etc.)  Point d'entrée unique, référentiel unique  Travail « distribué » (géographiquement)  Travail asynchrone  Contraintes : accès internet solide Agadir GNU/Linux days 2008

Slide 59: Retour d'expérience : projet PicoForge  Projet « logiciel libre » développé • Initialement à l'ENST Bretagne (2001 >) • Puis à l'INT  Développement peu ouvert  Utilisé principalement à l'Institut TELECOM (ex. GET)  Connaître les mécanismes du libre en les pratiquant  Projet déployé en interne en se basant sur l'intégration de composants externes  Problématique de la maintenabilité : nécessité de contribution Agadir GNU/Linux days 2008

Slide 60: Plate-forme « Forge »  Assemblage logiciels libres  Contruire une « forge » pour développement collaboratif de logiciels • Projets = espaces de travail sur Net (phpGroupware) • Mailing-lists (Sympa) • Wikis (TWiki) • Repositories CVS/SVN • Bugtracker (à venir) • ...  Packaging Debian pour installation aisée Agadir GNU/Linux days 2008

Slide 61: Architecture de PicoForge SSH phpGoupWare Sympa CVS picoForgeAPI openLDAP Pico Modules SVN MySQL Mantis Pico Backend Apache2  +  TWiki dav Agadir GNU/Linux days 2008

Slide 62: Portail interne projet Agadir GNU/Linux days 2008

Slide 63: Gestionnaire de tickets (bugs) Page 63 / 74 Agadir GNU/Linux days 2008 O. Berger

Slide 64: Wiki : base de connaissances Page 64 / 74 Agadir GNU/Linux days 2008

Slide 65: Interface Web référentiel versions Page 65 / 74 Agadir GNU/Linux days 2008 O. Berger

Slide 66: Forges de nouvelle génération  Infrastructuredécentralisée (P2P)  Structure de projets modulable  Supervisation des processus  Intégration continue  Automatisation  Projet HELIOS (pôle de compétitivité System@tic, financement public) – début en 09/2008 Page 66 / 74 Agadir GNU/Linux days 2008 O. Berger

Slide 67: Conduite de projets informatiques basés sur du libre Page 67 / 74 Agadir GNU/Linux days 2008 O. Berger

Slide 68: Conduite de projet Analyse des besoins Spécification Architecture Conception détaillée Codage Tests ? Déploiement Page 68 / 74 Agadir GNU/Linux days 2008 O. Berger

Slide 69: Maintien en condition opérationnelle  Réactivité pour les mises à jour  Stabilisationcoûteuse • Mises à jour de sécurité permanentes • Répétition des mises à jour  Automatisation souhaitable • Diminuer la taille du code spécifique Page 69 / 74 Agadir GNU/Linux days 2008 O. Berger

Slide 70: Reverser au projet  Rendre générique les éléments spécifiques  Maintenus à l'extérieur  Améliorés à l'extérieur  Pas besoin de les repackager  Plus facile à dire qu'à faire Page 70 / 74 Agadir GNU/Linux days 2008 O. Berger

Slide 71: Contribuer : une nécessité  Cercle vertueux des contributions  Quasi-obligation du fait des licences  Externalisation de la maintenance  Se faire plaisir et apprendre en vraie grandeur  Se faire connaître et reconnaître  Influer sur le pilotage d'un projet Page 71 / 74 Agadir GNU/Linux days 2008 O. Berger

Slide 72: Conclusion  Trop rapide, et loin de l'exhaustivité  Le libre est un changement extrèmement positif  Plein d'oportunités  Pas un seul modèle : mais quelques bonnes pratiques à adopter  Importance (relative) des outils : forges  Contribuer est nécessaire pour la survie du modèle, mais aussi concrètement dans les effets utiles aux projets locaux. Page 72 / 74 Agadir GNU/Linux days 2008 O. Berger

Slide 73: Choukran Merci de votre attention Merci aux organisateurs de m'avoir invité. Page 73 / 74 Agadir GNU/Linux days 2008 O. Berger

Slide 74: À propos de cette conférence  Conférence « compensée carbone » • Suis venu en avion depuis Paris (retour) • Ai rejeté env. 1083 kgEqCO2 • Ai fait un don pour soutenir les projets d' http://actioncarbone.org/ (reboisement, etc.)  Suppport Copyright 2008 : Olivier BERGER / Institut TELECOM Sous licence Creatice Commons (sharealike) Page 74 / 74 Agadir GNU/Linux days 2008 O. Berger