[en] The basics of Open Source, in French
[fr] Open Source, libre, FLOSS, ouvert. Tous ces termes sont familiers, et pourtant, il plane comme un léger brouillard sur le paysage. Tous les développeurs, entre autres, sont dorénavant confrontés à un moment ou un autre à du code ou une licence Open Source, mais tous ne sont pas égaux devant la conduite à tenir. Se détourner comme face à un piège ? L'exploiter au maximum ? Se plonger dans un modèle collaboratif ? En tirer un maximum de fun ?
Pour essayer d'y voir plus clair, on explique en quoi consiste effectivement l'Open Source, et on présente ce qui en fait la force, mais aussi les quelques faiblesses potentielles. De même, on met en lumière les opportunités offertes, sans masquer les quelques risques associés.
Enfin, et à travers quelques exemples et retours d'expériences, on expose quelques bonnes pratiques, certaines implications juridiques ou de propriété industrielles. On parle également de la « pratique » de l'Open Source en entreprise, et on essaye de répondre à un maximum de questions de l'assistance, forcément concernée.
Présenté par Jacques Davy et Benoit Bailleux
1. Open Source, mode d'emploi
Code d'Armor, le 15 janvier 2013
Benoît Bailleux & Jacques Davy
2. ● introduction
● définitions
● faiblesses et forces
● bonnes pratiques
Code d'Armor : Open Source, mode d'emploi 2
3. un (tout petit) peu
d'histoire
Nesser Code d'Armor : Open Source, mode d'emploi 3
4. un peu d'une histoire très proche…
● Une philosophie de l'éthique :
– « Nous sommes des nains sur des épaules de géants », 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 (années 50/60), le code est partagé par les « hackers » pour créer les
premiers socles : les OS, langages et des jeux ! Le business modèle est attaché
au matériel : « International Business Machines »
– En 1976, Bill Gates refuse l'accès au langage Basic pour les amateurs.
– Richard M. Stallman est le père fondateur du logiciel libre avec le lancement en
1983 du projet GNU et en 1985 de la Free Software Foundation (réflexion et
promotion et défense du libre)
– Linus Torvalds, lance Linux en 1991 sous licence GPL.
– Eric S. Raymond (auteur de « La Cathédrale et le Bazar »), crée l'Open Source
Initiative en 1998 : gardien du temple, définition officielle de la licence Open
Source.
Code d'Armor : Open Source, mode d'emploi 4
5. une histoire au présent
● 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 contrôle en série ; ex: MySQL -> Sun -> Oracle
●
des logiciels qui préservent leur liberté :
– quelques contentieux significatifs : Edu4, Cisco, Free…
Code d'Armor : Open Source, mode d'emploi 5
7. deux définitions 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 différentes :
– le logiciel libre ou free software (Richard M. Stallman, 1984)
est un mouvement social visant à respecter les libertés
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 méthode de développement : le but est
d'obtenir des logiciels de qualité.
Code d'Armor : Open Source, mode d'emploi 7
8. et dans la pratique
● les licences libres reprennent les 4 libertés fondamentales
du logiciel libre avec un degré de copyleft(*) plus ou moins
fort
● les licences open source reprennent les 4 libertés
fondamentales et incluent d'autres termes plus arrangeants
définis par l'Open Source Initiative.
● dans la suite du document, le terme « Open Source » est
utilisé abusivement pour les 2 types de licence
Code d'Armor : Open Source, mode d'emploi 8
9. qu’est-ce une licence Open Source ?
rappel : Comme tout logiciel, le logiciel open source
est protégé au titre du droit d’auteur (copyright)
↪ l’utilisation et l’exploitation du logiciel sont
encadrées 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, software
distributed under the License is distributed on an "AS IS" BASIS,
[...]
Code d'Armor : Open Source, mode d'emploi 9
10. qu’est-ce une licence
Open Source ? Amarand Agasi
● ce qu’elle n’est pas
– une licence de type « propriétaire » : un modèle économique
dont les grands principes sont : relation individualisée, fourniture
d'un exécutable, paiement pour avoir accès au logiciel
– un « Freeware » ou un « Shareware »
– libre de droit = domaine public
● ce qu’elle est
– une charte des droits et devoirs
– reposant sur un modèle coopératif et
– organisant l'usage du logiciel au profit de tous les licenciés
↪ c'est la licence qui rend le logiciel « open source »
Code d'Armor : Open Source, mode d'emploi 10
11. la licence Open Source : un mode
d’exploitation des droits patrimoniaux
des droits
● accès au code source
● droit d’utiliser le logiciel. Ce droit d'utilisation ne
peut être restreint.
● droit de modifier le logiciel
possibilité de faire des patchs ou encore de créer
des œuvres dérivées
● droit de distribuer le logiciel
droit de redistribuer le logiciel originel avec ou sans
modification, à des fins commerciales ou non
Code d'Armor : Open Source, mode d'emploi 11
12. la licence Open Source : un mode
d’exploitation des droits patrimoniaux
des devoirs
● lesquels ?
– accès au code source original ainsi qu’aux 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 (cédérom, téléchargement ou autre),
vers une entité juridique différente
● qui doit les mettre en œuvre ?
– toute personne distribuant un logiciel open source (quelque soit
sa place dans la chaîne de distribution) à destination
uniquement de son / ses licenciés (clients)
Code d'Armor : Open Source, mode d'emploi 12
13. 65 536 licences ?
● une multitude de licences :
– notion de famille de licences open source : GNU, BSD
– des exigences très diverses
– une compatibilité parfois problématique
● un critère distinctif parmi d’autres : le « copyleft »
– le « Copyleft » ou « gauche d’auteur » consiste à « détourner » le principe
du copyright pour préserver la liberté par tout utilisateur d’utiliser, d’étudier,
de modifier et de diffuser le logiciel et ses versions dérivées.
↪ il permet de rendre obligatoire la mise à disposition du code source
de la version modifiée
Code d'Armor : Open Source, mode d'emploi 13
14. les trois grandes familles
1. licence de type copyleft fort (GNU GPL, GNU Affero)
– la redistribution du logiciel et de ses dérivés, avec ou sans modification, peut se
faire, mais toujours sous la licence initiale (ex : GNU GPL).
– la question est de savoir à quel moment s'arrête la licence initiale entre logiciels
associés ou combinés.
2. licence de type copyleft faible (GNU LGPL, MPL)
– la redistribution du logiciel et de ses dérivés, 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 propriétaires
(ex : licences GNU LGPL, MPL).
3. licence de type sans copyleft (MIT, BSD, Apache)
– la redistribution du logiciel, avec ou sans modification, intégré dans un ensemble
peut se faire sous une autre licence. L'ensemble peut être redistribué sous forme
binaire sous une licence de type propriétaire.
Code d'Armor : Open Source, mode d'emploi 14
15. arbre simplifié
source : HP
Code d'Armor : Open Source, mode d'emploi 15
16. en cas de non respect
● résiliation automatique de tous les droits du licencié et
qualification possible de contrefaçon prévue par le Code de la
Propriété Intellectuelle
Exemple : les *box
● intègrent 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 réel) :
● assignation pour contrefaçon de droits d'auteurs
● mise en conformité sous astreinte (référé ou à jour fixe)
cessation du trouble sous une astreinte définitive de XXX € par infraction
constatée
● demande de Dommages & Intérêts
verser aux auteurs pris individuellement, la somme de 1 € par appareil mis à
disposition et par infraction constatée
Code d'Armor : Open Source, mode d'emploi 16
17. l'Open Source est produit par des
communautés de développeurs
●
Le développement Open Source est piloté par :
– consensus et/ou des membres fondateurs ou séniors : 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 décisions (.com telles MySQL par Oracle,
Android par Google…)
●
niveaux de contributions selon la meritocratie et l'engagement :
– les developpeurs (individus ou employés) proposent du code,
– les committers, developpeurs séniors, contrôlent et acceptent ou non
les changements,
– des membres désignés par la communauté pilotent les projets
comment Linux est développé : 8 000 contributeurs, 15 millions de lignes de code, coût estimé du
noyau, $1,4 Milliards (Linux Foundation).
Code d'Armor : Open Source, mode d'emploi 17
19. Open Source : forces et opportunités
● garder/retrouver son indépendance par rapport aux
fournisseurs
● réduire les coûts (R&D, production…) et tirer le
meilleur parti de l'Open Source (mutualisation,
réutilisation…)
● influencer les communautés, favoriser l'adoption
de standards ouverts, améliorer les capacités
d'innovation
● promouvoir l'image de la structure auprès des
communautés, permettre la reconnaissance des
développeurs par leurs pairs
Code d'Armor : Open Source, mode d'emploi 19
20. Open Source : faiblesses et risques
● ne pas maîtriser la complexité des licences FLOSS entraine
un vrai risque de contrefaçon d'un droit de PI, à savoir le droit
des auteurs des logiciels embarqués 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 communautés incohérentes avec
la stratégie de l'entreprise
● besoin d'anticiper sur le jeu d'acteurs dominants (exemple :
Oracle)
Code d'Armor : Open Source, mode d'emploi 20
22. bonnes pratiques
● plusieurs cas :
– simple utilisation
– utilisation dans un produit
– publication sous licences Open Source
Code d'Armor : Open Source, mode d'emploi 22
23. simple utilisation
● choisir le logiciel en fonction de :
– la communauté (création, organisation, popularité,
localisation, activité...)
– le produit (licences, auteurs, date de la première
version stable, le nombre et la fréquence des
versions, forks...)
– les aspects techniques (protocoles, format des
fichiers...)
– le support (communauté, tiers...) et maintenance
(processus pour les bugs)
Code d'Armor : Open Source, mode d'emploi 23
25. utilisation dans un produit
● choisir le composant / la librairie
– la communauté (création, organisation, popularité, localisation, activité...)
– le produit (auteurs, date de la première version stable, le nombre et la fréquence
des versions, forks...)
– la compatibilité des licences en fonction du mode de distribution (embarqué,
internet, AppShop, réseau...) et la licence du produit → respect des obligations
(mentions légales, accès 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
Code d'Armor : Open Source, mode d'emploi 25
26. publier du logiciel sous licence Open
Source (1/3)
● correction ou extension fonctionnelle un produit
existant
● respecter 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 acceptées systématiquement
Code d'Armor : Open Source, mode d'emploi 26
27. 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 adaptée au contrôle souhaité sur les sources
(copyleft, ex : GPL vs MIT)
● une gouvernance, des règles de contribution claires (conformes
au lieu de publication – fondation, consortium...)
● un lancement de la communauté au plus tôt et communiquer
(événement, wiki, mails...)
Code d'Armor : Open Source, mode d'emploi 27
28. publier du logiciel sous licence Open
Source (3/3)
● propriété intellectuelle, problématique des
brevets
– valorisation du brevet vs forces de l’Open Source
– licence adéquate
Code d'Armor : Open Source, mode d'emploi 28
29. des questions ?
Code d'Armor : Open Source, mode d'emploi 29
30. crédits
réalisé avec Freemind et Libre Office
police de caractères :
● Liberation (GPL v2 avec exception)
● DejaVu (licence libre type « MIT »)
crédits dessins/photos : voir chaque élément inséré
rappel : install party le 22 février, lycée le Dantec
Code d'Armor : Open Source, mode d'emploi 30
Notes de l'éditeur
Courbes intéressantes : 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
Le 3 février 1976, Bill Gates écrit une lettre nommée « An Open Letter to Hobbyists » (« Lettre ouverte aux amateurs »), dans laquelle il condamne pour la première fois le partage illégal de l'un de ses logiciels propriétaires, le BASIC d'Altair
Prise de valeur : - noyau Linux dans les distributions comerciales (Mandriva, Red Hat, Suse …) : vente de support et d'ingénierie - Android, Chromium : convergence du marché - n Webmail / GroupWare : conseil, déploiement - ...
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'activité la licence ne peut exiger que les autres programmes séparés utilisés sur le même support physique soient aussi des logiciels open source
Remarque : L'accès distant via le réseau peut être assimilé à une distribution
Le site de l'OSI établi une liste de 70 licences approuvées " 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