Code d'Armor : Open Source, mode d'emploi

Embed Size (px)

Citation preview

Open Source, mode d'emploi

Code d'Armor, le 15 janvier 2013Benot Bailleux & Jacques Davy

Courbes intressantes: http://blogs.the451group.com/opensource/2011/12/19/the-future-of-commercial-open-source-business-strategies/

Et:http://blog.markess.fr/2010/09/lopen-source-en-progression-constante-au-sein-du-secteur-public.html

introduction

dfinitions

faiblesses et forces

bonnes pratiques

un (tout petit) peu
d'histoire

Nesser

un peu d'une histoire trs proche

Une philosophie de l'thique :Nous sommes des nains sur des paules de gants, le travail des chercheurs s'appuie sur le patrimoine de l'humanit.

pour l'informatique, le patrimoine est constitu par la connaissance et le code source.

l'origine (annes 50/60), le code est partag par les hackers pour crer les premiers socles : les OS, langages et des jeux ! Le business modle est attach au matriel : International Business Machines

En 1976, Bill Gates refuse l'accs au langage Basic pour les amateurs.

Richard M. Stallman est le pre fondateur du logiciel libre avec le lancement en 1983 du projet GNU et en 1985 de la Free Software Foundation (rflexion et promotion et dfense du libre)

Linus Torvalds, lance Linux en 1991 sous licence GPL.

Eric S. Raymond (auteur de La Cathdrale et le Bazar), cre l'Open Source Initiative en 1998 : gardien du temple, dfinition officielle de la licence Open Source.

Le 3 fvrier 1976, Bill Gates crit une lettre nomme An Open Letter to Hobbyists ( Lettre ouverte aux amateurs ), dans laquelle il condamne pour la premire fois le partage illgal de l'un de ses logiciels propritaires, le BASIC d'Altair

une histoire au prsent

des projets Open Source qui s'imposent techniquement :Linux : 25 ans

Open Office : 20 ans

Mozilla : 15 ans

MySQL, ProstgreSQL, Eclipse : 12 ans

Apache, JBoss : 10 ans

Android

des logiciels qui prennent de la valeur:prises de contrle en srie; ex: MySQL -> Sun -> Oracle

des logiciels qui prservent leur libert :quelques contentieux significatifs : Edu4, Cisco, Free

Prise de valeur: - noyau Linux dans les distributions comerciales (Mandriva, Red Hat, Suse ): vente de support et d'ingnierie - Android, Chromium: convergence du march - n Webmail / GroupWare: conseil, dploiement - ...

dfinitions

-Renegade-

deux dfinitions rapides

un logiciel est libre ou ouvert si chacun dispose du droit (1) de l'utiliser, (2) de l'tudier, (3) de le modifier, (4) de le diffuser selon ses besoins

des valeurs diffrentes : le logiciel libre ou free software (Richard M. Stallman, 1984) est un mouvement social visant respecter les liberts essentielles de l'utilisateur, c'est une question de libert pas de prix.

L' Open Source (Bruce Perens et Eric S. Raymond, 1998) est pragmatique; une mthode de dveloppement : le but est d'obtenir des logiciels de qualit.

et dans la pratique

les licences libres reprennent les 4 liberts fondamentales du logiciel libre avec un degr de copyleft(*) plus ou moins fort

les licences open source reprennent les 4 liberts fondamentales et incluent d'autres termes plus arrangeants dfinis par l'Open Source Initiative.

dans la suite du document, le terme Open Source est utilis abusivement pour les 2 types de licence

quest-ce une licence Open Source ?

rappel : Comme tout logiciel, le logiciel open source est protg au titre du droit dauteur (copyright) lutilisation et lexploitation du logiciel sont encadres par une licence (le contrat)

Exemple: code source Android

Copyright (c) 2005-2008, The Android Open Source Project

Licensed under the Apache License, Version 2.0 (the "License");you may not use this file except in compliance with the License.

Unless required by applicable law or agreed to in writing, softwaredistributed under the License is distributed on an "AS IS" BASIS, [...]

quest-ce une licence
Open Source ?

ce quelle nest pas une licence de type propritaire : un modle conomique dont les grands principes sont : relation individualise, fourniture d'un excutable, paiement pour avoir accs au logiciel

un Freeware ou un Shareware

libre de droit = domaine public

ce quelle est une charte des droits et devoirs

reposant sur un modle coopratif et

organisant l'usage du logiciel au profit de tous les licencis

c'est la licence qui rend le logiciel open source

Amarand Agasi

la licence Open Source : un mode dexploitation des droits patrimoniaux

des droits accs au code source

droit dutiliser le logiciel. Ce droit d'utilisation ne peut tre restreint.

droit de modifier le logiciel
possibilit de faire des patchs ou encore de crer des uvres drives

droit de distribuer le logiciel
droit de redistribuer le logiciel originel avec ou sans modification, des fins commerciales ou non

le droit d'utilisation ne doit pas tre restreint. A ce titre notamment :la licence ne peut exiger que le logiciel soit utilis qu'avec telle ou telle technologie, tel ou tel produit ou dans tel ou tel domaine d'activitla licence ne peut exiger que les autres programmes spars utiliss sur le mme support physique soient aussi des logiciels open source

la licence Open Source : un mode dexploitation des droits patrimoniaux

des devoirslesquels ? accs au code source original ainsi quaux modifications

mention des copyrights et de la licence

quand les mettre en uvre ? en cas de distribution : toute fourniture du logiciel (code source ou binaire), par tout moyen (cdrom, tlchargement ou autre), vers une entit juridique diffrente

qui doit les mettre en uvre ? toute personne distribuant un logiciel open source (quelque soit sa place dans la chane de distribution) destination uniquement de son / ses licencis (clients)

Remarque:L'accs distant via le rseau peut tre assimil une distribution

65 536 licences ?

une multitude de licences :notion de famille de licences open source : GNU, BSD

des exigences trs diverses

une compatibilit parfois problmatique

un critre distinctif parmi dautres : le copyleft le Copyleft ou gauche dauteur consiste dtourner le principe du copyright pour prserver la libert par tout utilisateur dutiliser, dtudier, de modifier et de diffuser le logiciel et ses versions drives.

il permet de rendre obligatoire la mise disposition du code source de la version modifie

Le site de l'OSI tabli une liste de 70 licences approuves

"To copyleft a program, we first state that it is copyrighted; then we add distribution terms, which are a legal instrument that gives everyone the rights to use, modify, and redistribute the program's code or any program derived from it but only if the distribution terms are unchanged. Thus, the code and the freedoms become legally inseparable." dixit la FSF

les trois grandes familles

licence de type copyleft fort (GNU GPL, GNU Affero)

la redistribution du logiciel et de ses drivs, avec ou sans modification, peut se faire, mais toujours sous la licence initiale (ex : GNU GPL).

la question est de savoir quel moment s'arrte la licence initiale entre logiciels associs ou combins.

licence de type copyleft faible (GNU LGPL, MPL)

la redistribution du logiciel et de ses drivs, avec ou sans modification, peut se faire, mais toujours sous la licence initiale. Il est toutefois possible d'ajouter, sous certaines conditions, du code sous d'autres licences, ventuellement propritaires (ex : licences GNU LGPL, MPL).

licence de type sans copyleft (MIT, BSD, Apache)

la redistribution du logiciel, avec ou sans modification, intgr dans un ensemble peut se faire sous une autre licence. L'ensemble peut tre redistribu sous forme binaire sous une licence de type propritaire.

arbre simplifi

source: HP

en cas de non respect

rsiliation automatique de tous les droits du licenci et qualification possible de contrefaon prvue par le Code de la Proprit Intellectuelle

Exemple: les *boxintgrent notamment des logiciels sous licence GNU GPL

distributeurs mis en demeure par les auteurs des logiciels + FSF de se conformer la licence

risques encourus (cas rel) :assignation pour contrefaon de droits d'auteurs

mise en conformit sous astreinte (rfr ou jour fixe)
cessation du trouble sous une astreinte dfinitive de XXX par infraction constate

demande de Dommages & Intrts
verser aux auteurs pris individuellement, la somme de 1 par appareil mis disposition et par infraction constate

l'Open Source est produit par des communauts de dveloppeurs

Le dveloppement Open Source est pilot par :consensus et/ou des membres fondateurs ou sniors : projets communautaires (dans des forges telles que sourceforge, github, OW2)

un conseil d'aministration : fondations (.org comme Mozilla, Apache, Dojo, Openstack)

des entreprises prenant les dcisions (.com telles MySQL par Oracle, Android par Google)

niveaux de contributions selon la meritocratie et l'engagement :les developpeurs (individus ou employs) proposent du code,

les committers, developpeurs sniors, contrlent et acceptent ou non les changements,

des membres dsigns par la communaut pilotent les projets

comment Linux est dvelopp: 8 000 contributeurs, 15 millions de lignes de code, cot estim du noyau, $1,4 Milliards (Linux Foundation).

forces et
faiblesses

arbyreed

Open Source : forces et opportunits

garder/retrouver son indpendance par rapport aux fournisseurs

rduire les cots (R&D, production) et tirer le meilleur parti de l'Open Source (mutualisation, rutilisation)

influencer les communauts, favoriser l'adoption de standards ouverts, amliorer les capacits d'innovation

promouvoir l'image de la structure auprs des communauts, permettre la reconnaissance des dveloppeurs par leurs pairs

Open Source : faiblesses et risques

ne pas matriser la complexit des licences FLOSS entraine un vrai risque de contrefaon d'un droit de PI, savoir le droit des auteurs des logiciels embarqus dans les produits ou services

mettre en danger la PI (brevets et logiciels) de l'entreprise et risquer d'annuler ou diminuer fortement les revenus potentiels de valorisation

la feuille de route des produits non garantie, maintenance et support organiser

avoir des contributions aux communauts incohrentes avec la stratgie de l'entreprise

besoin d'anticiper sur le jeu d'acteurs dominants (exemple : Oracle)

bonnes
pratiques

geishaboy500

bonnes pratiques

plusieurs cas:simple utilisation

utilisation dans un produit

publication sous licences Open Source

simple utilisation

choisir le logiciel en fonction de:la communaut(cration, organisation, popularit, localisation, activit...)

le produit(licences, auteurs, date de la premire version stable, le nombre et la frquence des versions, forks...)

les aspects techniques(protocoles, format des fichiers...)

le support(communaut, tiers...) et maintenance (processus pour les bugs)

simple utilisation (exemple dun CMS)

Joomla!

... has had 37,081 commits made by 251 contributors representing 1,257,418 lines of code ... is mostly written in PHP with an average number of source code comments ... has a well established, mature codebase maintained by a very large development team with decreasing year-over-year commits ... took an estimated 350 years of effort (COCOMO model) starting with its first commit in September, 2005 ending with its most recent commit 1 day ago

Licence GPLFranaisForumNombre dextensions (Plungin)

Sources www.ohloh.net

Umbraco

... has had 4,711 commits made by 37 contributors representing 535,773 lines of code ... is mostly written in C# with a low number of source code comments ... has a short source control history maintained by a very large development team with increasing year-over-year commits ... took an estimated 142 years of effort (COCOMO model) starting with its first commit in May, 2009 ending with its most recent commit about 1 year ago

Licence MITGamme de produitsFormations et support payantsExtensions payantes

Open Source Matters

Umbraco

utilisation dans un produit

choisir le composant / la librairiela communaut(cration, organisation, popularit, localisation, activit...)

le produit(auteurs, date de la premire version stable, le nombre et la frquence des versions, forks...)

la compatibilit des licences en fonction du mode de distribution (embarqu, internet, AppShop, rseau...) et la licence du produit respect des obligations (mentions lgales, accs aux sources...)

les aspects techniques(langage, API, protocoles, format des fichiers...), conformit aux standards

le support(communaut, tiers...) et maintenance (processus pour les bugs)

exemples:client MySQL vs PostgreSQL, MariaDB...

Jquery avec une double licence MIT et GPL

JOnAS vs Jboss ou Tomcat

publier du logiciel sous licence Open Source (1/3)

correction ou extension fonctionnelle un produit existantrespecter les conventions de la communaut

prendre en compte les processus de contribution de la communaut (Contribution License Agreement)

exemples:Android, Dojo demandent un CLA pour soumettre des contributions qui ne sont pas acceptes systmatiquement

publier du logiciel sous licence Open Source (2/3)

faire merger une communaut (nouvelle technologie, nouveau standard, nouvel usage...) demande:une architecture logicielle permettant les extensions et les contributions

un langage de programmation, des conventions (anglais, commentaires, naming, build...), un lieu de publication en fonction de la cible

une licence adapte au contrle souhait sur les sources (copyleft, ex: GPL vs MIT)

une gouvernance, des rgles de contribution claires (conformes au lieu de publication fondation, consortium...)

un lancement de la communaut au plus ttet communiquer (vnement, wiki, mails...)

publier du logiciel sous licence Open Source (3/3)

proprit intellectuelle, problmatique des brevetsvalorisation du brevet vs forces de lOpen Source

licence adquate

des questions?

crdits

ralis avec Freemind et Libre Officepolice de caractres:Liberation (GPL v2 avec exception)

DejaVu (licence libre type MIT)

crdits dessins/photos: voir chaque lment insr

rappel: install party le 22 fvrier, lyce le Dantec