Author
olberger
View
566
Download
0
Embed Size (px)
DESCRIPTION
Conférence donnée à TELECOM SudParis
Logiciels libres
Olivier Berger, TELECOM & Management SudParis - Dpartement INF
TELECOM SudParisCSC4522 / DSI - 2009/06/17
O. Berger 2 / 9
Le libre Le libre c'est bon.c'est bon.
Mangez-Mangez-en !en !
O. Berger 3 / 9
Dans le Dans le libre, on libre, on se fait se fait
vite plein vite plein d'amis !d'amis !
O. Berger 4 / 9
Mettez votre Mettez votre logiciel sous logiciel sous
GPLGPL
succs assur !succs assur !
O. Berger 5 / 9
Les failles de Les failles de scu sont scu sont corriges corriges
super vite !super vite !
patch#45678patch#45678
O. Berger 6 / 9
Les Les contributeurs contributeurs
travaillent travaillent gratuitementgratuitement
vite et vite et bienbien
O. Berger 7 / 9
La solution La solution tous les tous les
problmes de problmes de dveloppementdveloppement
......
O. Berger 8 / 9
LeLe logiciel librelogiciel libre
O. Berger 9 / 9
Foutaise?Foutaise?
O. BergerPage 10 / 93 Dpt. INF
Plus srieusement...
O. BergerPage 11 / 93 Dpt. INF
Prsentation personnelle
Ingnieur de Recherche au dpartement INF TELECOM & Management SudParis (B 303)
Projets de R&D sur le logiciel libre (CALIBRE, PFTCR, COCLICO, ...)
Adepte et vangliste du libre de longue date, mais en cong sabbatique
Contributeur la distribution DebianRecherche : plate-formes de dveloppement
collaboratif de logiciels (forges) : Projet Helios (GTLL de [email protected])
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/
O. BergerPage 12 / 93 Dpt. INF
Sondage rapide
Dj eu des cours sur le sujet ?Logiciel libre ? Linux ? GNU ? FSF ?APRIL, AFUL, etc. ?Firefox ?Ubuntu ?Creative Commons ?SourceForge ?Bugzilla ?
O. BergerPage 13 / 93 Dpt. INF
Objectif de cette confrence
Donner une ide des enjeux lis la collaboration dans les projets libres
Rappel des fondamentaux du modle libreDmythifier un modle loin d'tre magiqueQuelques pistes permettant d'intgrer le libre
dans les projets industriels
O. BergerPage 14 / 93 Dpt. INF
Contenu
Introduction gnrale
Dpt. INF
Introduction gnrale sur le libre
PrincipesHistoriqueAspects juridiquesAspects conomiquesProjets / CommunautsEvaluation outils libresGuidelines
O. BergerPage 16 / 93 Dpt. INF
Dfinition du logiciel libre
La libert d'excuter 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'accs au code source est une condition requise.
La libert de redistribuer des copies, donc d'aider votre voisin, (libert 2).
La libert d'amliorer le programme et de publier vos amliorations, pour en faire profiter toute la communaut (libert 3). Pour ceci l'accs au code source est une condition requise.
Dfinition de la Free Software Foundation (FSF)
O. BergerPage 17 / 93 Dpt. INF
Terminologie
Logiciel Libre ~= OpenSourceLibert !Cot ?Autres :
freeware, domaine public, shareware, shared source, etc.
Libre = ouvert ?Ne pas se fier aux dclarations : vrifier les
licences
O. BergerPage 18 / 93 Dpt. INF
Libre vs. non-libre
En thorie, identification facile :droit d'utilisation : OK - NOKdroit d'tudier : OK - NOKdroit de modifier : OK - NOKdroit de diffuser copies (modifies) : OK - NOK
En pratique, parfois complexe (jargon licences)Demander aux experts Free Software Foundation (http://www.fsf.org/), OpenSource initiative
(http://www.opensource.org/).
O. BergerPage 19 / 93 Dpt. INF
Logiciel libre
O. BergerPage 20 / 93 Dpt. INF
Logiciel non-libre (Propritaire)
O. BergerPage 21 / 93 Dpt. INF
Exemples de logiciels libres
GNU/Linux, FreeBSD, OpenBSDApachePerl, PHP, PythonJava (rcent)EclipseGNOME, KDE, etc.Jonas, MySQL, PostgreSQLAsteriskVideolanFirefox, OpenOffice, Thunderbirdetc.
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. Tlphones (Google Android, etc.) GPS, ...
ImpotsPoste de travail des gendarmes ...
O. BergerPage 23 / 93 Dpt. INF
ValeurS : mouvement logiciel libre
Philosophie : Libert, Egalit, Fraternit Libert : faire des copies, amliorer, distribuer galit : mmes droits pour tout le monde Fraternit : Co-opration 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/
O. BergerPage 24 / 93 Dpt. INF
Mouvement Open Source ?
Approche oriente vers le march (cr en raction au mouvement du libre)
Bnfices pratiquesCots (ambigut free) Mouvement Open Source Initiative
(http://www.opensource.org) La plupart des industriels de l'informatique, les
SS2I, etc.
Dpt. INF
Impact global dans la socit
Impact sur tous les aspects de la production et de la diffusion du savoir, et plus largement tous les artefacts immatriels : Publications et donnes scientifiques (open
archives, etc.) OpenStreetmap, Wikipedia Cration artistique : creative commons (CC) Entertainment - gratuit ? Dbat public, dmocracie, rgulation de
l'utilisation des ressources, etc.Nouveau paradigme : Commons (Lessig)Des biens publics aux biens communs ?
Dpt. INF
Rsistances
Copyright / droit d'auteurBrevetsDRMFUDHadopi ...
O. BergerPage 27 / 93 Dpt. INF
PrincipesHistoriqueAspects juridiquesAspects conomiquesProjets / CommunautsEvaluation outils libresGuidelines
O. BergerPage 28 / 93 Dpt. INF
Chronologie
Au dbut tait le code source (< 80) Unix, BSD (> 80) GNU project & Free Software Foundation crs par
Richard M. Stallman (> 83/84) Noyau Linux cr par Linus Torvalds (> 91) Distributions GNU/Linux ( > 95) Cration de l'APRIL (96) IBM entre en jeu (2001) Sun rachte StarOffice et cration de OpenOffice.org
(2002) Ubuntu, Firefix 1.0 (2004) OpenOffice.org 2.0 (2005) Google sponsorise Java sous GPL (2007) Android...
O. BergerPage 29 / 93 Dpt. INF
Aujourd'hui incontournable
20/25 ans plus tardLa partie est en voie d'tre gagne
Mais au fait, comment a marche !?!
O. BergerPage 30 / 93 Dpt. INF
Qu'est-ce que le logiciel libre ?
Juridique / LicencesOrganisationnel / CommunautsEconomique / Modles d'affaires
Pas un seul modle !
O. BergerPage 31 / 93 Dpt. INF
PrincipesHistoriqueAspects juridiquesAspects conomiquesProjets / CommunautsEvaluation outils libresGuidelines
O. BergerPage 32 / 93 Dpt. INF
Protection vs. Contrle
Comment bien exercer un contrle ?Le Copyright contrle si Utiliser On peut copier pour donner ou vendre (essayer de) Modifier Toute autre chose non prvue dans un contrat
de licenceLe libre rquilibre la donne en faveur des tiers,
utilisateurs, concurrents
O. BergerPage 33 / 93 Dpt. INF
Droit d'auteur, licences
Droit d'auteur : Prrogatives de l'auteur, faibles Conditions d'exploitation (employeur ?), fortes
Attach : au fichier source, d'abord uvres drives (y compris excutable)
Rgime par dfaut : restrictions des droitsLicence libres tablissent des exceptionsuvres composites : compliquMixibilit des licences ?
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 protge une ideAu dpart destin protger l'intrt gnralDriveControverse lgislative en Europe
O. BergerPage 35 / 93 Dpt. INF
Licences libres
O. BergerPage 36 / 93 Dpt. INF
Catgories de licences libres
Deux grandes catgories : Faon domaine public (BSD, X11) Faon Copyleftes
Copyleftes (GPL, LGPL): Libert de changer le logiciel Impossibilit de changer la licence sur oeuvres
drivesUn mme logiciel + plusieurs licenses =
segmentation des marchs (dual license)Modles conomiques des diteurs de logiciels
libres
O. BergerPage 37 / 93 Dpt. INF
Points cls
Question d'oeuvres drivesEdition de liens, etc.Pas questions modle co, mais seulement
copyrightCompatibilit des licencesviter la prolifration des licencesQui est titulaire des droits ?SAAS, Cloud computing ? (Affero GPL)
O. BergerPage 38 / 93 Dpt. INF
PrincipesHistoriqueAspects juridiquesAspects conomiquesProjets / CommunautsEvaluation outils libresGuidelines
O. BergerPage 39 / 93 Dpt. INF
conomie du logiciel
Non rivalitValeur augmente quand on s'en sert (effets de
rseau)MonoplesCration d'un bien commun Faciliter la rutilisationMutualisation de l'investissementLogiciel libre == gratuit (une fois qu'il a t
pay)
O. BergerPage 40 / 93 Dpt. INF
Software Wars
O. BergerPage 41 / 93 Dpt. INF
Bataille immense
Rduire les cots (commoditisation)Effets de rseaux pour tablir des standardsMutualiser la R&D Co-optition : coopration comptition
Prendre position dans le libre pour matriser son volution
Modles conomiques ?
O. BergerPage 42 / 93 Dpt. INF
Commoditisation du logiciel
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 mtriques traditionnelles du dveloppement en entreprise : Effort estim : 14 005 hommes x annes Dlai estim : 6,04 ans (quipe de 2 318 p.) Cot dveloppement : US$ 1 891 990 000
(Source: "Counting potatoes" par Gonzalez-Barahona et al)Cf. http://ohloh.net pour d'autres chiffres
(Mthodologie discutable)
O. BergerPage 44 / 93 Dpt. INF
ROI utilisateurs
Profusion d'tudesLibre != gratuit ... heureusement ;-)conomie gestion des licensesTransfert de cot entre licences et formationParadoxes
Au final cot des licences souvent marginal dans les cots d'un projet
O. BergerPage 45 / 93 Dpt. INF
Modles d'affaires pour fournisseurs
Service Valeur ajoute couches hautesEditeurDouble licence
March en croissance
Positions stratgies industrielles
Linagora (fonde par ancien INT Management)
O. BergerPage 46 / 93 Dpt. INF
Qui participe
Bnvoles Parfois trs isols Parfois de faon organise (Apache, GNU
project, etc.)Compagnies Pas un seul profil d'activits : Utilisation, tests, rapports de bugs Support communautaire (forums, listes, etc.) Code Vendre du libre etc.
O. BergerPage 47 / 93 Dpt. INF
Rapide panorama d'un cosystme
Dveloppeursamont
(upstream)
OpenSuse
DebianDebian
RedHatRedHat
distributions
versio
ns
versions
versions
bugs
bugs
bugs
Utilisateurs
SSIIditeurs
packages
bugs
O. BergerPage 48 / 93 Dpt. INF
Le libre est global
O. BergerPage 49 / 93 Dpt. INF
O sont ces dveloppeurs ?
Par pays (SourceForge) :
Rang Pays Developpeurs1. United States 4256202. Germany 958003. United Kingdom 607684. Canada 491095. France 445876. China 36517... ... ...
(source : Gregorio Robles and Jess M. Gonzlez Barahona - 2006)
O. BergerPage 50 / 93 Dpt. INF
O sont ces dveloppeurs ? (2)
Par continent :
Continent DveloppeursAfrica 12 560Asia 127 275EU 401 845Europe 466 792North America 485 679Oceania 46 422South America 36 330
(source : Gregorio Robles and Jess M. Gonzlez Barahona 2006)
O. BergerPage 51 / 93 Dpt. INF
PrincipesHistoriqueAspects juridiquesAspects conomiquesProjets / CommunautsEvaluation outils libresGuidelines
O. BergerPage 52 / 93 Dpt. INF
Comment le libre est-il dvelopp ?
Outils de travail collaboratif : Internet, CVS, SubVersion, mailing-lists, chat
IRC Forges publiques (ou prives) :
- SourceForge- FusionForge, ...
Structure projets (caricature) old-style traditional model : Cathedral new unexpected style : Bazaar"The Cathedral and the Bazaar" (Eric Raymond)
Projet == rseau social
O. BergerPage 53 / 93 Dpt. INF
Communauts, rsaux sociaux
Linux 1.0 (1994)Developers linked by common authorship to same filessource [Robles]
O. BergerPage 54 / 93 Dpt. INF
Bon sang, mais c'est le bazar !
Classical analysis of Apache modules feb. 2004 (source [Robles])
O. BergerPage 55 / 93 Dpt. INF
Amlioration de la visualisation
Reshaped with Girvan-Newman algorithm (source [Robles])
O. BergerPage 56 / 93 Dpt. INF
Apache 01/01/1999
O. BergerPage 57 / 93 Dpt. INF
Apache 01/01/2000
O. BergerPage 58 / 93 Dpt. INF
Apache 01/09/2000
O. BergerPage 59 / 93 Dpt. INF
Apache 01/01/2002
O. BergerPage 60 / 93 Dpt. INF
Apache 01/02/2004
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 diffrents modles peuvent cohabiter
Apprendre les rgles des communautsMritocratieDe nombreux mode d'organisation socialeComme dans la vie relle c'est souvent plus
subtil que ce qu'on en dit dans les prsentations ou les publicits !
Communiquer pour construire la confiance
O. BergerPage 62 / 93 Dpt. INF
HOWTO projets bass sur le libre
O. BergerPage 63 / 93 Dpt. INF
PrincipesHistoriqueAspects juridiquesAspects conomiquesProjets / CommunautsEvaluation outils libresGuidelines
O. BergerPage 64 / 93 Dpt. INF
Qualits
Prpare l'avenirScuritAdaptabilit IndpendanceFaible cotPortabilit ...
Encore faut-il vrifier ?Qui fait vraiment ce travail ?
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 ??)
O. BergerPage 66 / 93 Dpt. INF
Slection d'un produit
Facilit testerNe pas confondre vitesse et prcipitationSous-traiter ce qui peut l'tre Identifier les lments critiques et monter en
comptencePrfrer les solutions dj packages
(distributions)lments de dpendance sur des tiers non-
contractualiss
O. BergerPage 67 / 93 Dpt. INF
Nombreuses qualits
Qualits gnriques ... dj connues
Qualits particulires d'un logiciel libre=> valuer sa licence sa communaut son code (sa doc, son langage, etc.)
Mthodes d'valuation (QSOS, OpenBRR, ...)
http://fr.wikipedia.org/wiki/Mthode_d'valuation_de_logiciels_libres
O. BergerPage 68 / 93 Dpt. INF
Mthode QSOS (http://www.qsos.org/http://www.qsos.org/))
O. BergerPage 69 / 93 Dpt. INF
Fiche QSOS
O. BergerPage 70 / 93 Dpt. INF
Conduite de projetAnalyse des besoins
Spcification
Architecture
Conception dtaille
Codage
Tests
Dploiement
?
O. BergerPage 71 / 93 Dpt. INF
Maintien en condition oprationnelle
Ractivit pour les mises jourDiminuer l'adhrence dans les composants
spcifiques
O. BergerPage 72 / 93 Dpt. INF
Stabilisation impossible
Mises jour de scurit permanentesRptition des mises jourAutomatisation souhaitableDiminuer la taille du code spcifique
O. BergerPage 73 / 93 Dpt. INF
Reverser au projet
Rendre gnrique les lments spcifiquesMaintenus l'extrieurAmliors l'extrieurPas besoin de les repackager
Plus facile dire qu' faire
Participer aux projets externes ASAP
O. BergerPage 74 / 93 Dpt. INF
Comptences pour le dveloppement
Rendre gnrique ce qui peut l'tre (bibliothques, sous-projets)
Mthodologie d'intgration (versions drives, customisations)
Support de certains matriels (distributions supportes)
Virtualisation (Xen, etc.)Savoir packager (exemple : Debian)Traditionnels : doc, specs, tests, etc.Animation de communaut
O. BergerPage 75 / 93 Dpt. INF
Repackager i810switch
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=374638#15
O. BergerPage 76 / 93 Dpt. INF
Repackager i810switch (suite)$ apt-get source i810switchLecture des listes de paquets... FaitConstruction de l'arbre des dpendances Lecture des informations d'tat... FaitNcessit de prendre 32,3ko dans les sources.Rception de : 1 http://ftp.fr.debian.org testing/main i810switch 0.6.5-3 (dsc) [593B]Rception de : 2 http://ftp.fr.debian.org testing/main i810switch 0.6.5-3 (tar) [24,3kB]Rception de : 3 http://ftp.fr.debian.org testing/main i810switch 0.6.5-3 (diff) [7376B]32,3ko rceptionns en 0s (271ko/s)gpg: Signature made ven 22 dc 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
O. BergerPage 77 / 93 Dpt. INF
Comment bien intgrer un projet libre
Guides nouveaux contributeurstre de bonne volont (commencer petit pour
se faire connatre)Pas magique (le diable est dans les dtails) Identifier la roadmapStratgie de stabilisation de versionsSystme d'Assurance Qualit Identifier les acteurs clRencontres physiquesCanaux temps rel (IRC, etc.)
O. BergerPage 78 / 93 Dpt. INF
Spcificits du projet
Pas que la licenceCommunaut dveloppement utilisatrice
Personnes, rlesActeurs conomiquesBut, objectifsMthodologie
O. BergerPage 79 / 93 Dpt. INF
Rgles de vie en communaut
Bnvoles (motivations)ProfessionnelsContractualisation ?ConfianceLeadershipBarrires l'entreHumour, culture et autres folklores
O. BergerPage 80 / 93 Dpt. INF
Enjeux sociaux plus que techniques
Comprendre les rgles du jeu Identifier les lments influentsMotiver des bnvolesFaire accepter ses contributions Impact sur les dcisionsProuver son implicationSe faire (re-)connatreAnticiper les alea
O. BergerPage 81 / 93 Dpt. INF
Contribuer : une ncessit
Cercle vertueux des contributionsQuasi-obligation du fait des licencesExternalisation de la maintenanceSe faire plaisir et apprendre en vraie grandeurSe faire connatre et reconnatre Influer sur le pilotage d'un projet
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%[email protected]%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%[email protected]%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 ?
O. BergerPage 83 / 93 Dpt. INF
Bug Sympa dans Debian
J+5
O. BergerPage 84 / 93 Dpt. INFJ+6
O. BergerPage 85 / 93 Dpt. INF
Committed upstream (branch in SVN)
J+6
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) Changed-By: Stefan Hornburg (Racke) 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
O. BergerPage 87 / 93 Dpt. INF
O. BergerPage 88 / 93 Dpt. INF
Comment bien contribuer
Il n'y a pas besoin de savoir coderAssurer une veille rgulireBeaucoup d'effort mme pour des choses
simplesMinimum lgal : faire vivre la base de bugs
dans le bugtracker du projet
O. BergerPage 89 / 93 Dpt. INF
Comment bien contribuer (suite)
Accepter des usages sociaux diffrentsCommuniquer avant toutJouer le jeu selon les rglesEviter l' abandonware non dclarContribuer un nouveau module au bon endroit Investir dans une forge pour un nouveau
logicielAspects contractuels (reversement
communautaire, publication)Respecter des licensesRespecter copyright
O. BergerPage 90 / 93 Dpt. INF
Conclusion
Loin de l'exhaustivit
Le libre est un changement extrmement positifPlein d'oportunits
Pas un seul modle : mais quelques bonnes pratiques gnrales
Contribuer est ncessaire pour la survie du modle, mais aussi concrtement dans les effets utiles aux projets locaux.
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/
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
O. BergerPage 93 / 93 Dpt. INF
Merci de votre attention
http://www-public.it-sudparis.eu/~berger_o/weblog/