93
Logiciels libres Olivier Berger, TELECOM & Management SudParis - Département INF <[email protected]> TELECOM SudParis CSC4522 / DSI - 2009/06/17

Introduction aux logiciels libres

Embed Size (px)

DESCRIPTION

Conférence donnée à TELECOM SudParis

Citation preview

Page 1: Introduction aux logiciels libres

Logiciels libres

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

TELECOM SudParisCSC4522 / DSI - 2009/06/17

Page 2: Introduction aux logiciels libres

O. Berger 2 / 9

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

Mangez-Mangez-en !en !

<hype mode="pipo">

Page 3: Introduction aux logiciels libres

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: Introduction aux logiciels libres

O. Berger 4 / 9

Mettez votre Mettez votre logiciel sous logiciel sous

GPLGPL

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

Page 5: Introduction aux logiciels libres

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: Introduction aux logiciels libres

O. Berger 6 / 9

Les Les contributeurs contributeurs

travaillent travaillent gratuitementgratuitement

vite et vite et bienbien

Page 7: Introduction aux logiciels libres

O. Berger 7 / 9

La solution à La solution à tous les tous les

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

......

Page 8: Introduction aux logiciels libres

O. Berger 8 / 9

LeLe logiciel librelogiciel libre

</hype>

Page 9: Introduction aux logiciels libres

O. Berger 9 / 9

Foutaise ?Foutaise ?

Page 10: Introduction aux logiciels libres

O. BergerPage 10 / 93 Dpt. INF

Plus sérieusement...

Page 11: Introduction aux logiciels libres

O. BergerPage 11 / 93 Dpt. INF

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 DebianRecherche : 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 12: Introduction aux logiciels libres

O. BergerPage 12 / 93 Dpt. INF

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 13: Introduction aux logiciels libres

O. BergerPage 13 / 93 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 magiqueQuelques pistes permettant d'intégrer le libre

dans les projets industriels

Page 14: Introduction aux logiciels libres

O. BergerPage 14 / 93 Dpt. INF

Contenu

Introduction générale

Page 15: Introduction aux logiciels libres

Dpt. INF

Introduction générale sur le libre

PrincipesHistoriqueAspects juridiquesAspects économiquesProjets / CommunautésEvaluation outils libresGuidelines

Page 16: Introduction aux logiciels libres

O. BergerPage 16 / 93 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: Introduction aux logiciels libres

O. BergerPage 17 / 93 Dpt. INF

Terminologie

Logiciel 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: Introduction aux logiciels libres

O. BergerPage 18 / 93 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: Introduction aux logiciels libres

O. BergerPage 19 / 93 Dpt. INF

Logiciel libre

Page 20: Introduction aux logiciels libres

O. BergerPage 20 / 93 Dpt. INF

Logiciel non-libre (Propriétaire)

Page 21: Introduction aux logiciels libres

O. BergerPage 21 / 93 Dpt. INF

Exemples de logiciels libres

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

Page 22: Introduction aux logiciels libres

O. BergerPage 22 / 93 Dpt. INF

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

ImpotsPoste de travail des gendarmes ...

Page 23: Introduction aux logiciels libres

O. BergerPage 23 / 93 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 24: Introduction aux logiciels libres

O. BergerPage 24 / 93 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 25: Introduction aux logiciels libres

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.) • 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 ?

Page 26: Introduction aux logiciels libres

Dpt. INF

Résistances

Copyright / droit d'auteurBrevetsDRMFUDHadopi ...

Page 27: Introduction aux logiciels libres

O. BergerPage 27 / 93 Dpt. INF

PrincipesHistoriqueAspects juridiquesAspects économiquesProjets / CommunautésEvaluation outils libresGuidelines

Page 28: Introduction aux logiciels libres

O. BergerPage 28 / 93 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 (> 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 29: Introduction aux logiciels libres

O. BergerPage 29 / 93 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 30: Introduction aux logiciels libres

O. BergerPage 30 / 93 Dpt. INF

Qu'est-ce que le logiciel libre ?

Juridique / LicencesOrganisationnel / CommunautésEconomique / Modèles d'affaires

Pas un seul modèle !

Page 31: Introduction aux logiciels libres

O. BergerPage 31 / 93 Dpt. INF

PrincipesHistoriqueAspects juridiquesAspects économiquesProjets / CommunautésEvaluation outils libresGuidelines

Page 32: Introduction aux logiciels libres

O. BergerPage 32 / 93 Dpt. INF

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 licenceLe libre rééquilibre la donne en faveur des tiers,

utilisateurs, concurrents

Page 33: Introduction aux logiciels libres

O. BergerPage 33 / 93 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 34: Introduction aux logiciels libres

O. BergerPage 34 / 93 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 35: Introduction aux logiciels libres

O. BergerPage 35 / 93 Dpt. INF

Licences libres

Page 36: Introduction aux logiciels libres

O. BergerPage 36 / 93 Dpt. INF

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éesUn même logiciel + plusieurs licenses =

segmentation des « marchés » (dual license)Modèles économiques des éditeurs de logiciels

libres

Page 37: Introduction aux logiciels libres

O. BergerPage 37 / 93 Dpt. INF

Points clés

Question d'oeuvres dérivéesEdition de liens, etc.Pas questions modèle éco, mais seulement

copyrightCompatibilité des licencesÉviter la prolifération des licencesQui est titulaire des droits ?SAAS, Cloud computing ? (Affero GPL)

Page 38: Introduction aux logiciels libres

O. BergerPage 38 / 93 Dpt. INF

PrincipesHistoriqueAspects juridiquesAspects économiquesProjets / CommunautésEvaluation outils libresGuidelines

Page 39: Introduction aux logiciels libres

O. BergerPage 39 / 93 Dpt. INF

Économie du logiciel

Non rivalitéValeur augmente quand on s'en sert (effets de

réseau)MonopôlesCréation d'un « bien commun »Faciliter la réutilisationMutualisation de l'investissementLogiciel libre == gratuit (une fois qu'il a été

payé)

Page 40: Introduction aux logiciels libres

O. BergerPage 40 / 93 Dpt. INF

Software Wars

Page 41: Introduction aux logiciels libres

O. BergerPage 41 / 93 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 42: Introduction aux logiciels libres

O. BergerPage 42 / 93 Dpt. INF

« Commoditisation » du logiciel

Page 43: Introduction aux logiciels libres

O. BergerPage 43 / 93 Dpt. INF

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 44: Introduction aux logiciels libres

O. BergerPage 44 / 93 Dpt. INF

ROI utilisateurs

Profusion d'étudesLibre != gratuit ... heureusement ;-)Économie gestion des licensesTransfert de coût entre licences et formationParadoxes

Au final coût des licences souvent marginal dans les coûts d'un projet

Page 45: Introduction aux logiciels libres

O. BergerPage 45 / 93 Dpt. INF

Modèles d'affaires pour fournisseurs

Service« Valeur ajoutée » couches hautesEditeurDouble licence

Marché en croissance

Positions stratégies industrielles

Linagora (fondée par ancien INT Management)

Page 46: Introduction aux logiciels libres

O. BergerPage 46 / 93 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 47: Introduction aux logiciels libres

O. BergerPage 47 / 93 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 48: Introduction aux logiciels libres

O. BergerPage 48 / 93 Dpt. INF

Le libre est global

Page 49: Introduction aux logiciels libres

O. BergerPage 49 / 93 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 50: Introduction aux logiciels libres

O. BergerPage 50 / 93 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 51: Introduction aux logiciels libres

O. BergerPage 51 / 93 Dpt. INF

PrincipesHistoriqueAspects juridiquesAspects économiquesProjets / CommunautésEvaluation outils libresGuidelines

Page 52: Introduction aux logiciels libres

O. BergerPage 52 / 93 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- 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 53: Introduction aux logiciels libres

O. BergerPage 53 / 93 Dpt. INF

Communautés, résaux sociaux

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

Page 54: Introduction aux logiciels libres

O. BergerPage 54 / 93 Dpt. INF

Bon sang, mais c'est le bazar !

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

Page 55: Introduction aux logiciels libres

O. BergerPage 55 / 93 Dpt. INF

Amélioration de la visualisation

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

Page 56: Introduction aux logiciels libres

O. BergerPage 56 / 93 Dpt. INF

Apache 01/01/1999

Page 57: Introduction aux logiciels libres

O. BergerPage 57 / 93 Dpt. INF

Apache 01/01/2000

Page 58: Introduction aux logiciels libres

O. BergerPage 58 / 93 Dpt. INF

Apache 01/09/2000

Page 59: Introduction aux logiciels libres

O. BergerPage 59 / 93 Dpt. INF

Apache 01/01/2002

Page 60: Introduction aux logiciels libres

O. BergerPage 60 / 93 Dpt. INF

Apache 01/02/2004

Page 61: Introduction aux logiciels libres

O. BergerPage 61 / 93 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ésMéritocratieDe 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 !

Communiquer pour construire la confiance

Page 62: Introduction aux logiciels libres

O. BergerPage 62 / 93 Dpt. INF

« HOWTO » projets basés sur le libre

Page 63: Introduction aux logiciels libres

O. BergerPage 63 / 93 Dpt. INF

PrincipesHistoriqueAspects juridiquesAspects économiquesProjets / CommunautésEvaluation outils libresGuidelines

Page 64: Introduction aux logiciels libres

O. BergerPage 64 / 93 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 65: Introduction aux logiciels libres

O. BergerPage 65 / 93 Dpt. INF

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 66: Introduction aux logiciels libres

O. BergerPage 66 / 93 Dpt. INF

Sélection d'un produit

Facilité à testerNe 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

(distributions)Éléments de dépendance sur des tiers non-

contractualisés

Page 67: Introduction aux logiciels libres

O. BergerPage 67 / 93 Dpt. INF

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 68: Introduction aux logiciels libres

O. BergerPage 68 / 93 Dpt. INF

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

Page 69: Introduction aux logiciels libres

O. BergerPage 69 / 93 Dpt. INF

Fiche QSOS

Page 70: Introduction aux logiciels libres

O. BergerPage 70 / 93 Dpt. INF

Conduite de projetAnalyse des besoins

Spécification

Architecture

Conception détaillée

Codage

Tests

Déploiement

?

Page 71: Introduction aux logiciels libres

O. BergerPage 71 / 93 Dpt. INF

Maintien en condition opérationnelle

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

spécifiques

Page 72: Introduction aux logiciels libres

O. BergerPage 72 / 93 Dpt. INF

Stabilisation impossible

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

Page 73: Introduction aux logiciels libres

O. BergerPage 73 / 93 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

Participer aux projets externes ASAP

Page 74: Introduction aux logiciels libres

O. BergerPage 74 / 93 Dpt. INF

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 75: Introduction aux logiciels libres

O. BergerPage 75 / 93 Dpt. INF

Repackager i810switch

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

Page 76: Introduction aux logiciels libres

O. BergerPage 76 / 93 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 77: Introduction aux logiciels libres

O. BergerPage 77 / 93 Dpt. INF

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 roadmapStratégie de stabilisation de versionsSystème d'Assurance Qualité Identifier les acteurs cléRencontres physiquesCanaux temps réel (IRC, etc.)

Page 78: Introduction aux logiciels libres

O. BergerPage 78 / 93 Dpt. INF

Spécificités du projet

Pas que la licenceCommunauté

• développement• utilisatrice

Personnes, rôlesActeurs économiquesBut, objectifsMéthodologie

Page 79: Introduction aux logiciels libres

O. BergerPage 79 / 93 Dpt. INF

Règles de vie en communauté

Bénévoles (motivations)ProfessionnelsContractualisation ?ConfianceLeadershipBarrières à l'entréeHumour, culture et autres folklores

Page 80: Introduction aux logiciels libres

O. BergerPage 80 / 93 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 81: Introduction aux logiciels libres

O. BergerPage 81 / 93 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 82: Introduction aux logiciels libres

O. BergerPage 82 / 93 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 83: Introduction aux logiciels libres

O. BergerPage 83 / 93 Dpt. INF

Bug Sympa dans Debian

J+5

Page 84: Introduction aux logiciels libres

O. BergerPage 84 / 93 Dpt. INFJ+6

Page 85: Introduction aux logiciels libres

O. BergerPage 85 / 93 Dpt. INF

Committed upstream (branch in SVN)

J+6

Page 86: Introduction aux logiciels libres

O. BergerPage 86 / 93 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 87: Introduction aux logiciels libres

O. BergerPage 87 / 93 Dpt. INF

Page 88: Introduction aux logiciels libres

O. BergerPage 88 / 93 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

dans le bugtracker du projet

Page 89: Introduction aux logiciels libres

O. BergerPage 89 / 93 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

logicielAspects contractuels (reversement

communautaire, publication)Respecter des licensesRespecter copyright

Page 90: Introduction aux logiciels libres

O. BergerPage 90 / 93 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 91: Introduction aux logiciels libres

O. BergerPage 91 / 93 Dpt. INF

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 92: Introduction aux logiciels libres

O. BergerPage 92 / 93 Dpt. INF

Conditions d'utilisation

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

Page 93: Introduction aux logiciels libres

O. BergerPage 93 / 93 Dpt. INF

Merci de votre attention

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