90
Retour d'expérience sur la conduite d'un projet libre Olivier Berger, TELECOM & Management SudParis - Département INF <[email protected]> TELECOM Bretagne filière de 3 ème année « Systèmes logiciels et réseaux »

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

Embed Size (px)

Citation preview

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

Retour d'expérience sur laconduite d'un projet libre

Olivier Berger, TELECOM & Management SudParis - Département INF<[email protected]>

TELECOM Bretagnefilière de 3ème année« Systèmes logiciels et réseaux »

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

O. Berger 2 / 9

Le libre Le libre c'est bon.c'est bon.

Mangez-en !Mangez-en !

<hype mode="on">

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

O. Berger 3 / 9

Dans le Dans le libre, on libre, on se fait se fait

vite plein vite plein d'amis !d'amis !

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

O. Berger 4 / 9

Mettez votre Mettez votre logiciel sous logiciel sous

GPLGPL

succès assuré !succès assuré !

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

O. Berger 5 / 9

Les failles de Les failles de sécu sont sécu sont corrigées corrigées

super vite !super vite !

patch#45678patch#45678

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

O. Berger 6 / 9

Les Les contributeurs contributeurs

travaillent travaillent gratuitementgratuitement

vite et bienvite et bien

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

O. Berger 7 / 9

La solution à La solution à tous les tous les

problèmes de problèmes de développementdéveloppement

......

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

O. Berger 8 / 9

le le CrowdSourcingCrowdSourcing

Après Après l'outsourcingl'outsourcing

</hype>

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

O. Berger 9 / 9

Foutaise ?Foutaise ?

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

O. BergerPage 10 / 90 Dpt. INF

Plus sérieusement...

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

O. BergerPage 11 / 90 Dpt. INF

Présentation personnelle

Ingénieur de Recherche au département INF à TELECOM & Management SudParis (ex GET/INT)

Projets de recherche sur le logiciel libre (FP6 IST CALIBRE, PFTCR et Contrib2.0)

Adepte et « évangéliste du libre » de longue date, mais en « congé sabbatique »

Wannabe développeur de la distribution DebianRecherche : plate-formes de développement

collaboratif de logiciels (forges) : Co-développeur de la plate-forme PicoForge

http://www.picoforge.org/http://www-inf.it-sudparis.eu/~olberger/

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

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

O. BergerPage 12 / 90 Dpt. INF

Sondage rapide

Déjà eu des cours sur le sujet ?Logiciel libre ? Linux ? GNU ? FSF ?APRIL, AFUL, etc. ?Firefox ?Ubuntu ?Creative Commons ?

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

O. BergerPage 13 / 90 Dpt. INF

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 libreDémythifier un modèle loin d'être magique

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

O. BergerPage 14 / 90 Dpt. INF

Contenu

Introduction générale

Collaboration dans l'écosystème libre

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

Dpt. INF

Introduction générale sur le libre

PrincipesGéopolitique de l'Industrie logicielleHistorique« Sociologie » d'une communautéConsidérations juridiquesChoix de logiciels libres / OpenSource

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

O. BergerPage 16 / 90 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 17: Retour d'expérience sur la conduite d'un projet libre

O. BergerPage 17 / 90 Dpt. INF

Terminologie

Libre ~= OpenSourceLiberté !Coût ?Autres :

• freeware, domaine public, shareware, shared source, etc.

Libre = ouvert ?Ne pas se fier aux déclarations : vérifier les

licences

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

O. BergerPage 18 / 90 Dpt. INF

Libre vs. non-libre

En théorie, identification facile :droit d'utilisation : OK - NOKdroit d'étudier : OK - NOKdroit de modifier : OK - NOKdroit 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 19: Retour d'expérience sur la conduite d'un projet libre

O. BergerPage 19 / 90 Dpt. INF

Logiciel libre

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

O. BergerPage 20 / 90 Dpt. INF

Logiciel non-libre (Propriétaire)

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

O. BergerPage 21 / 90 Dpt. INF

Exemples de logiciels libres

GNU/Linux, FreeBSD, OpenBSDApachePerl, PHP, PythonJava (récent)EclipseGNOME, KDE, etc.Jonas, MySQL, PostgreSQLAsteriskVideolanFirefox, OpenOffice, Thunderbirdetc.

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

O. BergerPage 22 / 90 Dpt. INF

Annuaires

Freshmeat http://freshmeat.net/ (43000 projets)FSF/Unesco : http://directory.fsf.org/ (5400

projets)FramasoftPlume (Promouvoir les Logiciels Utiles

Maîtrisés et Economiques dans l'Enseignement Supérieur et la Recherche) : http://www.projet-plume.org/

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

O. BergerPage 23 / 90 Dpt. INF

Le libre est partout

Internet : Apache, Bind, etc.Serveurs (Samba, MySQL, etc.)Groupware, CMS, etc.Appliances, embarqué, grand public

• Nokia 8x0• Freebox, Easybox, etc.• Téléphones, bientôt (Google Android, etc.)

ImpotsPoste de travail des gendarmesPC préinstallés gOs, Zonbu, Ubuntu ...

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

O. BergerPage 24 / 90 Dpt. INF

IntroductionPrincipesGéopolitique de l'Industrie logicielleHistorique« Sociologie » d'une communautéConsidérations juridiquesChoix de logiciels libres / OpenSource

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

O. BergerPage 25 / 90 Dpt. INF

Software Wars

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

O. BergerPage 26 / 90 Dpt. INF

Bataille immense

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 ?

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

O. BergerPage 27 / 90 Dpt. INF

« Commoditisation » du logiciel

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

O. BergerPage 28 / 90 Dpt. INF

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 29: Retour d'expérience sur la conduite d'un projet libre

O. BergerPage 29 / 90 Dpt. INF

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 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/

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

O. BergerPage 30 / 90 Dpt. INF

« Mouvement » Open Source ?

Approche orientée vers le marché (créé en réaction au mouvement du libre)

Bénéfices pratiquesCoûts (ambiguïté free)« Mouvement »

• Open Source Initiative (http://www.opensource.org)

• La plupart des industriels de l'informatique, les SS2I, etc.

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

Dpt. INF

Impact global dans la société

Impact sur tous les aspects de la production et de la diffusion du savoir, et plus largement tous les artefacts immatériels : • Publications et données scientifiques (open

archives, etc.) • Création artistique (CC)• Entertainment - gratuité ?• Débat public, démocracie, régulation de

l'utilisation des ressources, etc.Nouveau paradigme : Commons (Lessig)Des biens publics aux biens communs ?

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

Dpt. INF

Résistances

Copyright / droit d'auteurBrevetsDRMFUD ...

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

O. BergerPage 33 / 90 Dpt. INF

IntroductionPrincipesGéopolitique de l'Industrie logicielleHistorique« Sociologie » d'une communautéConsidérations juridiquesChoix de logiciels libres / OpenSource

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

O. BergerPage 34 / 90 Dpt. INF

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...

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

O. BergerPage 35 / 90 Dpt. INF

Aujourd'hui incontournable

20/25 ans plus tardLa partie est en voie d'être gagnée

Mais au fait, comment ça marche !?!

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

O. BergerPage 36 / 90 Dpt. INF

IntroductionPrincipesGéopolitique de l'Industrie logicielleHistorique« Sociologie » d'une communautéConsidérations juridiquesChoix de logiciels libres / OpenSource

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

O. BergerPage 37 / 90 Dpt. INF

Le libre est global

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

O. BergerPage 38 / 90 Dpt. INF

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 39: Retour d'expérience sur la conduite d'un projet libre

O. BergerPage 39 / 90 Dpt. INF

Où sont 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)

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

O. BergerPage 40 / 90 Dpt. INF

Où sont 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)

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

O. BergerPage 41 / 90 Dpt. INF

Comment le libre est-il développé ?

Outils de travail collaboratif : • Internet, CVS, SubVersion, mailing-lists, chat

IRC• « Forges » publiques (ou privées) :

- SourceForge- Savannah- ...

Structure projets (caricature)• old-style traditional model : Cathedral • new unexpected style : Bazaar"The Cathedral and the Bazaar" (Eric Raymond)

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

O. BergerPage 42 / 90 Dpt. INF

Communautés, résaux sociaux

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

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

O. BergerPage 43 / 90 Dpt. INF

Bon sang, mais c'est le bazar !

Classical analysis of Apache modules feb. 2004 (source [Robles])

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

O. BergerPage 44 / 90 Dpt. INF

Amélioration de la visualisation

Reshaped with Girvan-Newman algorithm (source [Robles])

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

O. BergerPage 45 / 90 Dpt. INF

Apache 01/01/1999

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

O. BergerPage 46 / 90 Dpt. INF

Apache 01/01/2000

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

O. BergerPage 47 / 90 Dpt. INF

Apache 01/09/2000

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

O. BergerPage 48 / 90 Dpt. INF

Apache 01/01/2002

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

O. BergerPage 49 / 90 Dpt. INF

Apache 01/02/2004

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

O. BergerPage 50 / 90 Dpt. INF

IntroductionPrincipesGéopolitique de l'Industrie logicielleHistorique« Sociologie » d'une communautéConsidérations juridiquesChoix de logiciels libres / OpenSource

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

O. BergerPage 51 / 90 Dpt. INF

Protection vs. Controle

Comment bien exercer un controle ?Le Copyright controle si

• Utiliser• On peut copier pour donner ou vendre• (essayer de) Modifier• Toute autre chose non prévue dans un contrat

de licenceLe libre rééquilibre la donne en faveur des tiers,

utilisateurs, concurrents

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

O. BergerPage 52 / 90 Dpt. INF

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 droitsLicence libres établissent des exceptionsŒuvres composites : compliquéMixibilité des licences ?

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

O. BergerPage 53 / 90 Dpt. INF

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éeAu départ destiné à protéger l'intérêt généralDériveControverse législative en Europe

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

O. BergerPage 54 / 90 Dpt. INF

Licences libres

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

O. BergerPage 55 / 90 Dpt. INF

Catégories de licences libres

Deux grandes catégories :• Façon « domaine public » (BSD, X11) • Façon « Copyleftées » (e.g. GPL, LGPL)

Copyleftées :• Liberté de changer le logiciel• Impossibilité de changer la licence

Un même logiciel : plusieurs licenses = segmentation des « marchés »

Modèles économiques des éditeurs de logiciels libres

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

O. BergerPage 56 / 90 Dpt. INF

IntroductionPrincipesGéopolitique de l'Industrie logicielleHistorique« Sociologie » d'une communautéConsidérations juridiquesChoix de logiciels libres / OpenSource

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

O. BergerPage 57 / 90 Dpt. INF

Qualités

Prépare l'avenirSécuritéAdaptabilité IndépendanceFaible coûtPortabilité ...

Encore faut-il vérifier ?Qui fait vraiment ce travail ?

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

O. BergerPage 58 / 90 Dpt. INF

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 !

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

O. BergerPage 59 / 90 Dpt. INF

Introduction générale

Collaboration dans l'écosystème libre

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

Dpt. INF

Retour d'expérience : projet PicoForge

Projet « logiciel libre » développé• Initialement à l'ENST Bretagne (2001 >)• Puis à l'INT

Développement peu ouvertUtilisé principalement à l'Institut TELECOM (ex.

GET)Connaître les mécanismes du libre en les

pratiquantProjet déployé en interne en se basant sur

l'intégration de composants externesProblématique de la maintenabilité : nécessité

de contribution

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

Dpt. INF

Plate-forme « Forge »

Assemblage logiciels libresContruire une « forge » pour développement

collaboratif de logiciels• Projets = espaces de travail sur Net• Mailing-lists• Wikis• Repositories CVS/SVN• ...

Packaging Debian pour installation aisée

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

Dpt. INF

SSH

Architecture de PicoForge

Apache2  + dav

openLDAP

MySQL

Sympa

CVS

phpGoupWare

SVN

TWiki

Mantis

picoForgeAPI

Pico Modules

Pico Backend

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

O. BergerPage 63 / 90 Dpt. INF

Problématiques spécifiques aux projets basés sur le libre

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

O. BergerPage 64 / 90 Dpt. INF

Sélection d'un produit

Simplicité et réactivitéNe pas confondre vitesse et précipitationSous-traiter ce qui peut l'être Identifier les éléments critiques et monter en

compétencePréférer les solutions déjà packagées

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

O. BergerPage 65 / 90 Dpt. INF

Nombreuses qualités

Qualités génériques ... déjà connuesQualité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

● diminution du risque de clients captifs par une concurrence accrue,

● partage de connaissance entre tous les acteurs,

● respect des standards, portabilité, ● réversibilité sur les tâches sous-traitées, etc.

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

O. BergerPage 66 / 90 Dpt. INF

Méthode QSOS http://www.qsos.org/

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

O. BergerPage 67 / 90 Dpt. INF

Fiche QSOS

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

O. BergerPage 68 / 90 Dpt. INF

Conduite de projetAnalyse des besoins

Spécification

Architecture

Conception détaillée

Codage

Tests

Déploiement

?

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

O. BergerPage 69 / 90 Dpt. INF

Maintien en condition opérationnelle

Réactivité pour les mises à jourDiminuer l'adhérence dans les composants

spécifiques

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

O. BergerPage 70 / 90 Dpt. INF

Stabilisation impossible

Mises à jour de sécurité permanentesRépétition des mises à jourAutomatisation souhaitableDiminuer la taille du code spécifique

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

O. BergerPage 71 / 90 Dpt. INF

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

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

O. BergerPage 72 / 90 Dpt. INF

Compétences pour le développement

Rendre générique ce qui peut l'êtreMéthodologie d'intégrationSupport de certains matériels (distributions

supportées)Virtualisation (Xen, etc.)Savoir packager (exemple : Debian)

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

O. BergerPage 73 / 90 Dpt. INF

Repackager i810switch

http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=374638#15

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

O. BergerPage 74 / 90 Dpt. INF

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

$ 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.patchpatching file debian/changelogpatching file i810switch.c

$ 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 ».

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

O. BergerPage 75 / 90 Dpt. INF

Connaître un projet libre

Comment s'y prendre pour collaborerEtre de bonne volontéPas magiqueNe pas être naïf

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

O. BergerPage 76 / 90 Dpt. INF

Pas que la licence

Communauté• développement• utilisatrice

PersonnesActeurs économiquesBut, objectifsMéthodologieQualités propres du code

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

O. BergerPage 77 / 90 Dpt. INF

Rapide panorama d'un écosystème

Développeursamont

(“upstream”)

OpenSuse

DebianDebian

RedHatRedHat

distributions

versions

versions

versions

bugs

bugs

bugs

Utilisateurs

SSIIÉditeurs

packages

bugs

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

O. BergerPage 78 / 90 Dpt. INF

Règles de vie en communauté

Bénévoles (motivations)ProfessionnelsContractualisation ?RoadmapStratégie de stabilisation de versionsSystème d'Assurance QualitéLeadership

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

O. BergerPage 79 / 90 Dpt. INF

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

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

O. BergerPage 80 / 90 Dpt. INF

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

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

O. BergerPage 81 / 90 Dpt. INF

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@%sfrom %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@%sfrom %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: Retour d'expérience sur la conduite d'un projet libre

O. BergerPage 82 / 90 Dpt. INF

Bug Sympa dans Debian

J+5

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

O. BergerPage 83 / 90 Dpt. INFJ+6

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

O. BergerPage 84 / 90 Dpt. INF

Committed upstream (branch in SVN)

J+6

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

O. BergerPage 85 / 90 Dpt. INF

Migration vers Debian

Accepted sympa 5.3.3-5 (source i386)

Date: Fri, 26 Oct 2007 11:56:09 +0200Source: sympaBinary: sympaArchitecture: source i386Version: 5.3.3-5Distribution: unstableUrgency: lowMaintainer: Stefan Hornburg (Racke) <[email protected]>Changed-By: Stefan Hornburg (Racke) <[email protected]>Description: sympa - Modern mailing list managerCloses: 443802 444188 444304 447721 447945Changes: sympa (5.3.3-5) unstable; urgency=low . * fix createList not invoked from authenticateAndRun on SOAP server (Closes: #444188)

J+7

J+35

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

O. BergerPage 86 / 90 Dpt. INF

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

O. BergerPage 87 / 90 Dpt. INF

Comment bien contribuer

Il n'y a pas besoin de savoir coderAssurer une veille régulièreBeaucoup d'effort même pour des choses

simplesMinimum légal : faire vivre la base de bugs

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

O. BergerPage 88 / 90 Dpt. INF

Comment bien contribuer (suite)

Accepter des usages sociaux différentsCommuniquer avant toutJouer le jeu selon les règlesEviter l' « abandonware » non déclaréContribuer un nouveau module au bon endroit Investir dans une forge pour un nouveau

logiciel

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

O. BergerPage 89 / 90 Dpt. INF

Conclusion

Loin de l'exhaustivité

Le libre est un changement extrèmement positifPlein 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: Retour d'expérience sur la conduite d'un projet libre

O. BergerPage 90 / 90 Dpt. INF

Merci de votre attention