Plateforme Pour Le DéVeloppement Collaboratif Des Logiciels Libres
Upcoming SlideShare
Loading in...5
×
 

Plateforme Pour Le DéVeloppement Collaboratif Des Logiciels Libres

on

  • 5,963 views

 

Statistics

Views

Total Views
5,963
Views on SlideShare
2,005
Embed Views
3,958

Actions

Likes
1
Downloads
18
Comments
0

13 Embeds 3,958

http://blog.asher256.com 3782
http://www.planet-libre.org 75
http://achraf.cherti.name 37
http://new.planet-libre.org 20
http://www.chergaoui.com 15
http://chergaoui.com 8
http://www.paperblog.fr 7
http://www.google.fr 6
https://www.google.fr 3
http://www.netvibes.com 2
http://webcache.googleusercontent.com 1
http://s8-eu.ixquick-proxy.com 1
https://www.google.co.ma 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Plateforme Pour Le DéVeloppement Collaboratif Des Logiciels Libres Plateforme Pour Le DéVeloppement Collaboratif Des Logiciels Libres Presentation Transcript

  • Réflexions autour des Plate-formes pour le développement collaboratif des logiciels libres « forges » logicielles Olivier Berger, TELECOM & Management SudParis (ex. GET/INT) - Département INF <olivier.berger@it­sudparis.eu> Vendredi 9 mai 2008 4ème GNU/Linux days (ENSALinux) Agadir (Maroc)
  • Le logiciel libre c'est super ! Page 2 / 74 Agadir GNU/Linux days 2008 O. Berger
  • Mais tant qu'il y a quelqu'un pour le développer ;-) Comment il est développé ? Page 3 / 74 Agadir GNU/Linux days 2008 O. Berger
  • Présentation personnelle  Ingénieur de Recherche au département INF à TELECOM & Management SudParis (ex GET/INT) à Evry (France)  Ancien V.P. d'APRIL (http://www.april.org/)  Récent contributeur de la distribution Debian  Recherche : • plate-formes de dév. collaboratif (forges) • Développeur PicoForge http://www.picoforge.org/ • Projets de recherche sur le logiciel libre (Commission Européenne FP6 IST CALIBRE)  Google est mon ami, mais plus de détails sur : • http://www-public.it-sudparis.eu/~berger_o/ • http://www-public.it-sudparis.eu/~berger_o/weblog/ Page 4 / 74 Agadir GNU/Linux days 2008 O. Berger
  • Plusieurs visites au Maroc  Plusieurs conférences à Casablanca  Plusieurs séjours en touriste ;-)  Bonheurde compléter ma connaissance du pays à Agadir :-) Page 5 / 74 Agadir GNU/Linux days 2008 O. Berger
  • Objectif de cette conférence  Donner une idée des enjeux liés à la collaboration dans les projets libres  Rappel quelques fondamentaux du modèle libre  « Démythifier » un modèle loin d'être magique  Donner un aperçu (très rapide) des outils  Inciter à s'engager dans le développement des logiciels libres, et à contribuer autant que possible Page 6 / 74 Agadir GNU/Linux days 2008 O. Berger
  • Contenu Introduction générale Agadir GNU/Linux days 2008
  • Introduction générale sur le libre  Principes  Géopolitique de l'Industrie logicielle  Historique Agadir GNU/Linux days 2008
  • Définition du logiciel libre « La liberté d'exécuter le programme, pour tous les usages (liberté 0).  La liberté d'étudier le fonctionnement du programme, et de l'adapter à vos besoins (liberté 1). Pour ceci l'accès au code source est une condition requise.  La liberté de redistribuer des copies, donc d'aider votre voisin, (liberté 2).  La liberté d'améliorer le programme et de publier vos améliorations, pour en faire profiter toute la communauté (liberté 3). Pour ceci l'accès au code source est une condition requise. » Définition de la Free Software Foundation (FSF) Page 9 / 74 Agadir GNU/Linux days 2008 O. Berger
  •  Introduction  Principes  Géopolitique de l'Industrie logicielle  Historique Page 10 / 74 Agadir GNU/Linux days 2008 O. Berger
  • Software Wars Page 11 / 74 Agadir GNU/Linux days 2008 O. Berger
  • Immense élan vers le libre  Réduire les coûts (commoditisation)  Effets de réseaux pour établir des standards  Mutualiser la R&D  « Co-opétition » : • coopération • compétition  Prendre position dans le libre pour maîtriser son évolution  Modèles économiques ? Page 12 / 74 Agadir GNU/Linux days 2008 O. Berger
  • « Commoditisation » du logiciel Page 13 / 74 Agadir GNU/Linux days 2008 O. Berger
  • Valeur du libre ?  Exemple: Debian 2.2 GNU/Linux (2001)  Lignes de code source : • 55 201 526 • dont noyau Linux < 6%  Si applique métriques traditionnelles du développement en entreprise : • Effort estimé : 14 005 hommes x années • Délai estimé : 6,04 ans (équipe de 2 318 p.) • Coût développement : US$ 1 891 990 000 (Source: quot;Counting potatoesquot; par Gonzalez-Barahona et al)  Cf. http://ohloh.net pour d'autres chiffres Page 14 / 74 Agadir GNU/Linux days 2008 O. Berger
  • ValeurS : mouvement logiciel libre  Philosophie : Liberté, Egalité, Fraternité • Liberté : faire des copies, améliorer, distribuer • Égalité : mêmes droits pour tout le monde • Fraternité : Co-opération pour construire des biens communs  Mouvement « politique » • Éthique, philosophie, activisme politique • Richard M. Stallman et la FSF (Free Software Foundation : http://www.fsf.org) • APRIL, en france http://www.april.org/ Page 15 / 74 Agadir GNU/Linux days 2008 O. Berger
  •  Introduction  Principes  Géopolitique de l'Industrie logicielle  Historique Page 16 / 74 Agadir GNU/Linux days 2008 O. Berger
  • Chronologie  Au début était le code source (< 80) Unix, BSD (> 80)  GNU project & Free Software Foundation créés par Richard M. Stallman (> 84)  Noyau Linux créé par Linus Torvalds (> 91)  Distributions GNU/Linux ( > 95)  IBM entre en jeu (2001)  Sun rachète StarOffice et création de OpenOffice.org (2002)  Google sponsorise  Java sous GPL  Android, OpenMoko... Page 17 / 74 Agadir GNU/Linux days 2008 O. Berger
  • Aujourd'hui incontournable  20/25ans plus tard  La partie est en voie d'être gagnée (?)  Mais au fait, comment ça marche !?!  Soutenabilité du modèle ? Page 18 / 74 Agadir GNU/Linux days 2008 O. Berger
  • Qui sont les développeurs de logiciels libres ? Page 19 / 74 Agadir GNU/Linux days 2008 O. Berger
  • Qui participe au développement ?  Bénévoles • Parfois très isolés (lonesome coder) • Parfois de façon organisée (Apache, GNU project, etc.)  Entreprises • De plus en plus !  Pas un seul profil d'activités : • Utilisation, tests, rapports de bugs • Support communautaire (forums, listes, etc.) • Ecrire du code • Vendre du libre • etc. Page 20 / 74 Agadir GNU/Linux days 2008 O. Berger
  • Le libre est global Page 21 / 74 Agadir GNU/Linux days 2008 O. Berger
  • Où vivent ces développeurs ? Par pays (SourceForge) : Rang Pays Developpeurs 1. United States 425620 2. Germany 95800 3. United Kingdom 60768 4. Canada 49109 5. France 44587 6. China 36517 ... ... ... (source : Gregorio Robles and Jesús M. González Barahona - 2006) Page 22 / 74 Agadir GNU/Linux days 2008 O. Berger
  • Où vivent ces développeurs ? (2) Par continent : Continent Développeurs Africa 12 560 Asia 127 275 EU 401 845 Europe 466 792 North America 485 679 Oceania 46 422 South America 36 330 (source : Gregorio Robles and Jesús M. González Barahona – 2006) Page 23 / 74 Agadir GNU/Linux days 2008 O. Berger
  • Pourquoi développent-ils des logiciels libres ? Agadir GNU/Linux days 2008
  • Motivations  Nombreuses et diverses  Beaucoup d'études sociologiques  Besoin (résoudre un problème)  Plaisir (technique et relations humaines)  Travail  Apprendre  Construire une réputation  ... Agadir GNU/Linux days 2008
  • Avec quel mode d'organisation ? Agadir GNU/Linux days 2008
  • Comment le libre est-il développé ?  Initialement, caricature : • old-style traditional model : Cathedral • new unexpected style : Bazaar quot;The Cathedral and the Bazaarquot; (Eric Raymond)  Aujourd'hui analyses plus précises  Pas qu'un seul modèle  Evolution dans la vie du projet  En ligne  Mais importance de rencontres physiques Page 27 / 74 Agadir GNU/Linux days 2008 O. Berger
  • Communautés, résaux sociaux Linux 1.0 (1994) Developers linked by common authorship to same files source [Robles] Page 28 / 74 Agadir GNU/Linux days 2008 O. Berger
  • Bon sang, mais c'est le bazar ! Classical analysis of Apache modules feb. 2004 (source [Robles]) Page 29 / 74 Agadir GNU/Linux days 2008 O. Berger
  • Amélioration de la visualisation Reshaped with Girvan-Newman algorithm (source [Robles]) Page 30 / 74 Agadir GNU/Linux days 2008 O. Berger
  • Apache 01/01/1999 Page 31 / 74 Agadir GNU/Linux days 2008 O. Berger
  • Apache 01/01/2000 Page 32 / 74 Agadir GNU/Linux days 2008 O. Berger
  • Apache 01/09/2000 Page 33 / 74 Agadir GNU/Linux days 2008 O. Berger
  • Apache 01/01/2002 Page 34 / 74 Agadir GNU/Linux days 2008 O. Berger
  • Apache 01/02/2004 Page 35 / 74 Agadir GNU/Linux days 2008 O. Berger
  • Logiciel libre vs. projet libre  Logiciel libre : 4 libertés = licence libre  Projet ouvert : communauté, règles ? Agadir GNU/Linux days 2008
  • Pas que la licence à condidérer  Communauté • développement • utilisatrice  Personnes  Acteurs économiques  But, objectifs partagés ?  Méthodologie (explicite ?)  Qualités propres du code Page 37 / 74 Agadir GNU/Linux days 2008 O. Berger
  • Règles de vie en communauté  Bénévoles (motivations)  Professionnels  Contractualisation ?  Roadmap  Stratégie de stabilisation de versions  Système d'Assurance Qualité  Leadership Page 38 / 74 Agadir GNU/Linux days 2008 O. Berger
  • Enjeux sociaux plus que techniques  Comprendre les règles du jeu  Identifier les éléments influents  Motiver des bénévoles  Faire accepter ses contributions  Impact sur les décisions  Prouver son implication  Se faire (re-)connaître  Anticiper les alea  Fondamental : confiance Page 39 / 74 Agadir GNU/Linux days 2008 O. Berger
  • Prendre part à une nouvelle communauté  Rencontrer des hommes (et des femmes), pas seulement des compagnies ou des services marketing  Construire un projet où différents modèles peuvent cohabiter  Apprendre les règles des communautés  De nombreux mode d'organisation sociale  Comme dans la « vie réelle » c'est souvent plus subtil que ce qu'on en dit dans les présentations ou les publicités !  Se comprendre (anglais, ...) Page 40 / 74 Agadir GNU/Linux days 2008 O. Berger
  • Processus de production Agadir GNU/Linux days 2008
  • Du producteur au consommateur  Code source dans l'éditeur du programmeur  Gestionnaire de versions partagé  Tarball (archives) à télécharger  Paquetages dans un miroir (binaire)  Paquetages installés sur l'ordinateur de l'utilisateur  Bugs dans les binaires installés ;-) Agadir GNU/Linux days 2008
  • Rapide panorama d'un écosystème Debian Debian s rs ion ve gs packages bu Développeurs versions Utilisateurs amont RedHat RedHat bugs (“upstream”) bugs ve rsi bu ons gs OpenSuse Éditeurs SSII distributions Page 43 / 74 Agadir GNU/Linux days 2008 O. Berger
  • Agadir GNU/Linux days 2008
  • Quels outils  Plate-forme de collaboration  Systèmes d'assurance qualité  Fabrication de paquetages  Suivi des bugs  Tests automatisés  Synchronisation ??  Agents humains + robots Agadir GNU/Linux days 2008
  • Exemple : « repackaging » Agadir GNU/Linux days 2008
  • Repackager i810switch Page 47 / 74 http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=374638#15 Agadir GNU/Linux days 2008 O. Berger
  • Repackager i810switch (suite) $ apt-get source i810switch Lecture des listes de paquets... Fait Construction de l'arbre des dépendances Lecture des informations d'état... Fait Nécessité de prendre 32,3ko dans les sources. Réception de : 1 http://ftp.fr.debian.org testing/main i810switch 0.6.5-3 (dsc) [593B] Réception de : 2 http://ftp.fr.debian.org testing/main i810switch 0.6.5-3 (tar) [24,3kB] Réception de : 3 http://ftp.fr.debian.org testing/main i810switch 0.6.5-3 (diff) [7376B] 32,3ko réceptionnés en 0s (271ko/s) gpg: Signature made ven 22 déc 2006 00:06:16 CET using DSA key ID 0917A9E4 gpg: Can't check signature: public key not found dpkg-source : extraction de i810switch dans i810switch-0.6.5 dpkg-source : extraction de i810switch_0.6.5.orig.tar.gz dpkg-source : mise en place de ./i810switch_0.6.5-3.diff.gz $ cd i810switch-0.6.5/ $ wget quot;http://bugs.debian.org/cgi-bin/bugreport.cgi? msg=15;filename=i810switch_macbook_support.patch;att=1;bug=374638quot; $ patch -p1 <i810switch_macbook_support.patch patching file debian/changelog patching file i810switch.c $ dpkg-buildpackage -rfakeroot dpkg-buildpackage: source package i810switch dpkg-buildpackage: source version 0.6.5-4 dpkg-buildpackage: source changed by Thomas Perl <thp@perli.net> dpkg-buildpackage: host architecture i386 fakeroot debian/rules clean dh_testdir dh_testroot ... dpkg-deb : construction du paquet « i810switch » dans « ../i810switch_0.6.5-4_i386.deb ». Page 48 / 74 Agadir GNU/Linux days 2008 O. Berger
  • Facile, mais pas immédiat Agadir GNU/Linux days 2008
  • C'est l'histoire d'un bug * From: Olivier Berger < olivier.berger@int-edu.eu> * To: quot; Sympa-dev@cru.frquot; < Sympa-dev@cru.fr> * Subject: [sympa-dev] Re: Re: authenticateAndRun for createList not working in SOAP server in 5.3.3 ? * Date: Fri, 21 Sep 2007 16:58:26 +0200 Le vendredi 21 septembre 2007 à 16:29 +0200, Olivier Berger a écrit : > > > > I'm using the soap client in Perl in which I did something like : > > $reponse = > > $soap->authenticateAndRun($user_email,$md5,'createList', ['essai5','essai5','picoforge_publicproject_members','List > > essai4 of project essai4','essai4']) > > &print_result($reponse); > > called with the listmaster user... > > Having a look at the createList() code in sympasoap.pm, I see : ... unless ($reject){ &Log::do_log('info', 'create_list %s@%s from %s refused, missing parameter(s) %s', $listname,$robot,$sender,$reject); die SOAP::Fault->faultcode('Server') ->faultstring('Missing parameter') ->faultdetail(quot;Missing required parameter(s) : $rejectquot;); } Wouldn't it be : *IF* ($reject){ &Log::do_log('info', 'create_list %s@%s from %s refused, missing parameter(s) %s', $listname,$robot,$sender,$reject); die SOAP::Fault->faultcode('Server') ->faultstring('Missing parameter') ->faultdetail(quot;Missing required parameter(s) : $rejectquot;); } instead of unless ? Page 50 / 74 Agadir GNU/Linux days 2008 O. Berger
  • Bug Sympa dans Debian Page 51 / 74 Agadir GNU/Linux days 2008 O. Berger J+5
  • Page 52 / 74 Agadir GNU/Linux days 2008 O. Berger J+6
  • Committed upstream (branch in SVN) Page 53 / 74 Agadir GNU/Linux days 2008 O. Berger J+6
  • Migration vers Debian J+7 Accepted sympa 5.3.3-5 (source i386) Date: Fri, 26 Oct 2007 11:56:09 +0200 Source: sympa Binary: sympa Architecture: source i386 Version: 5.3.3-5 Distribution: unstable Urgency: low Maintainer: Stefan Hornburg (Racke) <racke@linuxia.de> Changed-By: Stefan Hornburg (Racke) <racke@linuxia.de> Description: sympa - Modern mailing list manager Closes: 443802 444188 444304 447721 447945 Changes: sympa (5.3.3-5) unstable; urgency=low . * fix createList not invoked from authenticateAndRun on SOAP server (Closes: #444188) J+35 Page 54 / 74 Agadir GNU/Linux days 2008 O. Berger
  • Page 55 / 74 Agadir GNU/Linux days 2008 O. Berger
  • Contenu « Forges » logicielles Agadir GNU/Linux days 2008
  • Plate-forme « intégrée »  Outils de travail collaboratif : • CVS, SubVersion, mailing-lists, IRC  Services « Forges » publiques : hébergement • SourceForge • Savannah • ...  Installation forge « privée » : • Gforge, • LibreSource, • PicoForge • Trac Agadir GNU/Linux days 2008
  • Intérêt des forges  Héberger • le code • la vie d'une communauté • ce qui complète le code (bugs, doc, etc.)  Point d'entrée unique, référentiel unique  Travail « distribué » (géographiquement)  Travail asynchrone  Contraintes : accès internet solide Agadir GNU/Linux days 2008
  • Retour d'expérience : projet PicoForge  Projet « logiciel libre » développé • Initialement à l'ENST Bretagne (2001 >) • Puis à l'INT  Développement peu ouvert  Utilisé principalement à l'Institut TELECOM (ex. GET)  Connaître les mécanismes du libre en les pratiquant  Projet déployé en interne en se basant sur l'intégration de composants externes  Problématique de la maintenabilité : nécessité de contribution Agadir GNU/Linux days 2008
  • Plate-forme « Forge »  Assemblage logiciels libres  Contruire une « forge » pour développement collaboratif de logiciels • Projets = espaces de travail sur Net (phpGroupware) • Mailing-lists (Sympa) • Wikis (TWiki) • Repositories CVS/SVN • Bugtracker (à venir) • ...  Packaging Debian pour installation aisée Agadir GNU/Linux days 2008
  • Architecture de PicoForge SSH phpGoupWare Sympa CVS picoForgeAPI openLDAP Pico Modules SVN MySQL Mantis Pico Backend Apache2  +  TWiki dav Agadir GNU/Linux days 2008
  • Portail interne projet Agadir GNU/Linux days 2008
  • Gestionnaire de tickets (bugs) Page 63 / 74 Agadir GNU/Linux days 2008 O. Berger
  • Wiki : base de connaissances Page 64 / 74 Agadir GNU/Linux days 2008
  • Interface Web référentiel versions Page 65 / 74 Agadir GNU/Linux days 2008 O. Berger
  • Forges de nouvelle génération  Infrastructuredécentralisée (P2P)  Structure de projets modulable  Supervisation des processus  Intégration continue  Automatisation  Projet HELIOS (pôle de compétitivité System@tic, financement public) – début en 09/2008 Page 66 / 74 Agadir GNU/Linux days 2008 O. Berger
  • Conduite de projets informatiques basés sur du libre Page 67 / 74 Agadir GNU/Linux days 2008 O. Berger
  • Conduite de projet Analyse des besoins Spécification Architecture Conception détaillée Codage Tests ? Déploiement Page 68 / 74 Agadir GNU/Linux days 2008 O. Berger
  • Maintien en condition opérationnelle  Réactivité pour les mises à jour  Stabilisationcoûteuse • Mises à jour de sécurité permanentes • Répétition des mises à jour  Automatisation souhaitable • Diminuer la taille du code spécifique Page 69 / 74 Agadir GNU/Linux days 2008 O. Berger
  • Reverser au projet  Rendre générique les éléments spécifiques  Maintenus à l'extérieur  Améliorés à l'extérieur  Pas besoin de les repackager  Plus facile à dire qu'à faire Page 70 / 74 Agadir GNU/Linux days 2008 O. Berger
  • Contribuer : une nécessité  Cercle vertueux des contributions  Quasi-obligation du fait des licences  Externalisation de la maintenance  Se faire plaisir et apprendre en vraie grandeur  Se faire connaître et reconnaître  Influer sur le pilotage d'un projet Page 71 / 74 Agadir GNU/Linux days 2008 O. Berger
  • Conclusion  Trop rapide, et loin de l'exhaustivité  Le libre est un changement extrèmement positif  Plein d'oportunités  Pas un seul modèle : mais quelques bonnes pratiques à adopter  Importance (relative) des outils : forges  Contribuer est nécessaire pour la survie du modèle, mais aussi concrètement dans les effets utiles aux projets locaux. Page 72 / 74 Agadir GNU/Linux days 2008 O. Berger
  • Choukran Merci de votre attention Merci aux organisateurs de m'avoir invité. Page 73 / 74 Agadir GNU/Linux days 2008 O. Berger
  • À propos de cette conférence  Conférence « compensée carbone » • Suis venu en avion depuis Paris (retour) • Ai rejeté env. 1083 kgEqCO2 • Ai fait un don pour soutenir les projets d' http://actioncarbone.org/ (reboisement, etc.)  Suppport Copyright 2008 : Olivier BERGER / Institut TELECOM Sous licence Creatice Commons (sharealike) Page 74 / 74 Agadir GNU/Linux days 2008 O. Berger