Introduction aux logiciels libres

  • Published on
    14-Jun-2015

  • View
    1.335

  • Download
    2

Embed Size (px)

DESCRIPTION

Confrence Telecom SudParis

Transcript

<ul><li> 1. Logiciels libres Olivier Berger, TELECOM SudParis - Dpartement INF Telecom SudParis CSC4522 / DSI - 2010/06/10 </li></ul><p> 2. Prsentation personnelle Ingnieur de Recherche au dpartement INF TELECOM &amp; Management SudParis (B 303)Projets de R&amp;D sur le logiciel libre (CALIBRE, HELIOS, COCLICO, ...)Contributeur la distribution DebianRecherche : plate-formes de dveloppement collaboratif de logiciels (forges)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 2 3. Sondage rapide Dj eu des cours sur le sujet ? Logiciel libre ? Linux ? GNU ? FSF ? APRIL, AFUL, etc. ? Firefox ? Ubuntu ? Creative Commons ?page 3 SourceForge ? 4. Objectif de cette confrence Donner une ide des enjeux lis lacollaboration dans les projets libres Rappel des fondamentaux du modle libre Dmythifier un modle loin d'tre magique Quelques pistes permettant d'intgrer le libredans les projets industriels page 4 5. Contenu Introduction gnrale page 5 6. Pourquoi ? page 6 7. Le logiciel libre incontournableSemble simpleLoin d'tre si simpleProcessus humains plus que technologiquesPluri-disciplinaireOportunitsRisques page 7 8. Introduction gnrale sur le libre Principes Historique Aspects juridiques Aspects conomiques Projets / Communauts Evaluation outils libres Guidelines 9. Libert, galit, fraternit... 4 liberts page 9 10. 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) page 10 11. Terminologie Logiciel Libre ~= OpenSource Libert ! Cot ? Autres : freeware, domaine public, shareware, shared source, etc. Libre = ouvert ? Ne pas se fier aux dclarations : vrifier les licences page 11 12. Libre vs. non-libre En thorie, identification facile : droit d'utilisation : OK - NOK droit d'tudier : OK - NOK droit de modifier : OK - NOK droit 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/). page 12 13. Logiciel libre page 13 14. Logiciel non-libre (Propritaire) page 14 15. Exemples de logiciels libres GNU/Linux, FreeBSD, OpenBSD Apache Perl, PHP, Python Java (rcent) Eclipse, Maven, Hudson GNOME, KDE, etc. Jonas, Jboss, MySQL, PostgreSQL Asterisk Videolan Firefox, OpenOffice, Thunderbird Talend, CPS, XWiki etc.page 15 16. 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)http://stallman.org/ APRIL, en france http://www.april.org/page 16 17. Mouvement Open Source ? Approche oriente vers le march (cr en raction au mouvement du libre) Bnfices pratiques Cots (ambigut free) Mouvement Open Source Initiative (http://www.opensource.org) La plupart des industriels de l'informatique, les SS2I, etc. page 17 18. Principes Historique Aspects juridiques Aspects conomiques Projets / Communauts Evaluation outils libres Guidelinespage 18 19. Chronologie Au dbut tait le code source (&lt; 80) Unix, BSD (&gt; 80) GNU project &amp; Free Software Foundation crs par Richard M. Stallman (&gt; 83/84) Noyau Linux cr par Linus Torvalds (&gt; 91) Distributions GNU/Linux ( &gt; 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, ...page 19 20. Le libre est partout Internet : Apache, Bind, etc. Serveurs (Samba, MySQL, etc.) Groupware, CMS, ERP, ETL, etc. Appliances, embarqu, grand publicNokia 900Freebox, Easybox, routeurs, etc.Tlphones (Google Android, etc.)GPS, ... Impots Poste de travail des gendarmes, dputs AN ...page 20 21. 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 : (Creative) Commons (L. Lessig) Des biens publics aux biens communs ? 22. Rsistances Copyright / droit d'auteur Brevets DRM FUD Hadopi ... 23. Aujourd'hui incontournable 20/25 ans plus tard La partie est en voie d'tre gagne Mais au fait, comment a marche !?! page 23 24. Qu'est-ce que le logiciel libre ? Juridique / Licences Organisationnel / Communauts Economique / Modles d'affaires Pas un seul modle !page 24 25. Principes Historique Aspects juridiques Aspects conomiques Projets / Communauts Evaluation outils libres Guidelinespage 25 26. Droit d'auteur sur le logiciel A la base : le droit d'auteur / copyright Similaire proprit littraire et artistique Fondement : code source Ensuite : oeuvres drives IANAL page 26 27. 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 licence Le libre rquilibre la donne en faveur des tiers, utilisateurs, concurrents page 27 28. 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 droits Licence libres tablissent des exceptions uvres composites : compliqu Mixibilit des licences ? page 28 29. 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 ide Au dpart destin protger l'intrt gnral Drive Controverse lgislative en Europe page 29 30. Licences libres page 30 31. 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 drives Un mme logiciel + plusieurs licenses = segmentation des marchs (dual license) Modles conomiques des diteurs de logiciels librespage 31 32. Points cls Question d'oeuvres drives Edition de liens, etc. Pas questions modle co, mais seulement copyright Compatibilit des licences viter la prolifration des licences Qui est titulaire des droits ? SAAS, Cloud computing ? (Affero GPL)page 32 33. Principes Historique Aspects juridiques Aspects conomiques Projets / Communauts Evaluation outils libres Guidelinespage 33 34. $/ Libre == gratuit (oui, mais) ROI Technologies cls page 34 35. conomie du logiciel Non rivalit Valeur augmente quand on s'en sert (effets de rseau) Monoples Cration d'un bien commun Faciliter la rutilisation Mutualisation de l'investissement Logiciel libre == gratuit (une fois qu'il a t pay)page 35 36. Software Wars page 36 37. Bataille immense Rduire les cots (commoditisation) Effets de rseaux pour tablir des standards Mutualiser la R&amp;D Co-optition : coopration comptition Prendre position dans le libre pour matriser son volution Modles conomiques ? page 37 38. Commoditisation du logicielsource : Frank van der Linden (Philips)page 38 39. Valeur du libre ? Exemple: Debian 2.2 GNU/Linux (2001) Lignes de code source : 55 201 526 dont noyau Linux &lt; 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 page 39 (Mthodologie discutable) 40. ROI utilisateurs Profusion d'tudes Libre != gratuit ... heureusement ;-) conomie gestion des licenses Transfert de cot entre licences et formation Paradoxes Au final cot des licences souvent marginal dansles cots d'un projetpage 40 41. Modles d'affaires pour fournisseurs Service Valeur ajoute couches hautes Editeur Double licence March en croissance Positions stratgies industrielles Exemple : Linagora (fonde par anciens INT Management) page 41 42. Acteurs spcialiss Logiciel libre Source : Cartographie des Entreprises du Logiciel Libre (CNLL, 2010)page 42 43. Qui ? (source : Sam Hocevar)page 43 44. Qui participe Individus bnvoles Parfois trs isols Parfois de faon organise (Apache, GNU project, etc.) Socits Services Utilisateurs finaux (sponsors) Pas un seul profil d'activits : Utilisation, tests, rapports de bugs Support communautaire (forums, listes, etc.) Code Vendre du libre etc. page 44 45. Rapide panorama d'un cosystme Debian Debiansrs ionve gs packages bu Dveloppeursversions Utilisateursamont RedHat RedHatbugs (upstream)bugsversi bu ons gs OpenSuse diteurs SSIIdistributionspage 45 46. Le libre est global debian Debian developerspage 46 47. O sont ces dveloppeurs ?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 Jess M. Gonzlez Barahona - 2006)page 47 48. O sont ces dveloppeurs ? (2)Par continent : Continent DveloppeursAfrica 12 560Asia 127 275EU401 845Europe 466 792North America 485 679Oceania 46 422South America 36 330(source : Gregorio Robles and Jess M. Gonzlez Barahona 2006)page 48 49. Comment ? page 49 50. Principes Historique Aspects juridiques Aspects conomiques Projets / Communauts Evaluation outils libres Guidelinespage 50 51. Vido 5 years of Linux kernel development in GIT Visualisation avec GOURCE page 51 52. Comment le libre est-il dvelopp ? Outils de travail collaboratif : Internet, CVS, SubVersion, Git, mailing-lists, chat IRC Forges publiques (ou prives) :SourceForge, GitHub, LaunchPad FusionForge, Redmine,... Structure projets (caricature) old-style traditional model : Cathedral new unexpected style : Bazaar "The Cathedral and the Bazaar" (Eric Raymond) Projet == rseau socialpage 52 53. Communauts, rsaux sociauxLinux 1.0 (1994) Developers linked by common authorship to same files source [Robles]page 53 54. Bon sang, mais c'est le bazar ! Classical analysis of Apache modules feb. 2004 (source [Robles]) page 54 55. Amlioration de la visualisation Reshaped with Girvan-Newman algorithm (source [Robles]) page 55 56. Apache 01/01/1999 page 56 57. Apache 01/01/2000 page 57 58. Apache 01/09/2000 page 58 59. Apache 01/01/2002 page 59 60. Apache 01/02/2004 page 60 61. Dveloppement collaboratif et distribu Forces centrifuges Fork / branch Git, Bzr, etc Forces centriptes Cohsion Communaut Leadership Merge page 61 62. 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 communauts Mritocratie De nombreux mode d'organisation sociale Comme 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 confiancepage 62 63. HOWTO projetsbass sur le libre page 63 64. Principes Historique Aspects juridiques Aspects conomiques Projets / Communauts Evaluation outils libres Guidelinespage 64 65. Qualits Prpare l'avenir Scurit Adaptabilit Indpendance Faible cot Portabilit ...Encore faut-il vrifier ? Qui fait vraiment ce travail ? -&gt; VOUS !page 65 66. Annuaires Freshmeat http://freshmeat.net/ (&gt; 39000 projets) FSF/Unesco : http://directory.fsf.org/ (&gt; 5800 projets) Framasoft : http://framasoft.net/ (&gt; 1400) Ohloh : http://ohloh.net/ (&gt; 300 000 projets ??) page 66 67. Slection d'un produit Facilit tester Ne pas confondre vitesse et prcipitation Sous-traiter ce qui peut l'tre Identifier les lments critiques et monter en comptence Prfrer les solutions dj packages (distributions) lments de dpendance sur des tiers non- contractualiss page 67 68. Nombreuses qualits Qualits gnriques ... dj connues Qualits particulires d'un logiciel libre=&gt; 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_librespage 68 69. Mthode QSOS (http://www.qsos.org/) page 69 70. Fiche QSOS page 70 71. Analyse des besoins Conduite de projetSpcification ArchitectureConception dtailleCodageTests?Dploiement page 71 72. Maintien en condition oprationnelle Ractivit pour les mises jour Diminuer l'adhrence dans les composants spcifiques page 72 73. Stabilisation impossible Mises jour de scurit permanentes Rptition des mises jour Automatisation souhaitable Diminuer la taille du code spcifique page 73 74. Reverser au projet Rendre gnrique les lments spcifiques Maintenus l'extrieur Amliors l'extrieur Pas besoin de les repackager Plus facile dire qu' faire Participer aux projets externes ASAP page 74 75. Comptences pour le dveloppement Dveloppement distribu Communication en rseau Rendre gnrique ce qui peut l'tre (bibliothques, sous-projets) Mthodologie d'intgration (versions drives, customisations) Savoir packager (exemple : Debian) Traditionnels : doc, specs, tests, etc. Animation de communaut ... page 75 76. Comment bien intgrer un projet libre Guides nouveaux contributeurs tre de bonne volont (commencer petit pour se faire connatre) Pas magique (le diable est dans les dtails) Identifier la roadmap Stratgie de stabilisation de versions Systme d'Assurance Qualit Identifier les acteurs cl Rencontres physiques Canaux temps rel (IRC, etc.) page 76 77. Spcificits du projet Pas que la licence Communaut dveloppement utilisatrice Personnes, rles Acteurs conomiques But, objectifs Mthodologiepage 77 78. Rgles de vie en communaut Bnvoles (motivations) Professionnels Contractualisation ? Confiance Leadership Barrires l'entre Humour, culture et autres folklores page 78 79. Enjeux sociaux plus que...</p>