Download - Introduction aux logiciels libres et à Linux
Introduction à Linux et aux logiciels
Free/Libres/Open Source (aka FLOSS)
Janvier 2018Bruno Cornec, HPE Open Source and Linux Strategist
Introducing myself
2
● Software engineering and Unices since 1988:
– Mostly Configuration Management Systems (CMS), Build systems, quality tools, on multiple commercial Unix systems
– Discovered Open Source & Linux (OSL) & made first contributions in 1993
– Full time on OSL since 1995, first as HP reseller then @HP
● Currently:
– OSL Technology Strategist, WW Customer Innovation Center
– HP OSL Advocate and Converged Infrastructure Ambassador
– WW Linux Community Lead for the HP Open Source Profession
– AFUL and APRIL member, FLOSSITA board member. Conferences at WW level at LinuxCon, Linux.conf.au, ...
– MondoRescue, Project-Builder.org, UUWL and PUSK Project Lead
– LinuxCOE, FOSSology, mrepo, tellico, rinse, fossology, collectl, Ironic contributor
– FOSSBazaar/SPDX and OSL Governance enthusiast
– Mandriva, Mageia, Fedora packager
● And also:
– Amateur singer (Alto / Tenor), recorder player since 1976 and Choir director since 1987, CD collector (6000+), Concerts, Photography
Logiciel ? FLOSS ? Quésako ?
11/01/2018 4
L'information joue un rôle primordial et croissant.
Son contrôle procure un pouvoir culturel, économique et politique extrêmement fort.
Le support de l'information se dématérialise.
L'informatique devient prépondérante, omniprésente.
L'outil devient stratégique et de titanesques luttes de pouvoir s'engagent pour son contrôle.
Qu'est-ce que l'informatique ?
11/01/2018 5
Favoriser le libre accès à l'information et à la diffusion du savoir.
Préserver un espace non marchand où le partage est naturel mais n'est pas un acte de piratage.
Préserver les libertés individuelles.
Veiller à la pluralité des opinions et des moyens techniques.
Garantir au citoyen les moyens d'exercer son libre arbitre.
Informatique libre: le partage du savoir
11/01/2018 6
C'est un outil spécialisé qui répond à un besoin spécifique de traitement automatisé d'une information (mettre en page un texte, retoucher une photo, filtrer un son, ...).
Il satisfait ce besoin en enchaînant selon une logique déterminée un nombre incalculable d'opérations élémentaires.
Ces opérations élémentaires sont décrites de la seule manière accessible à un microprocesseur : le langage binaire.
Sous sa forme « prête à l'emploi », un logiciel est donc une suite logique de 0 et de 1 appelée code binaire.
Qu'est-ce qu'un logiciel ?
1010001010001011011010011001010110100110010101101101010000000000001101011011011111111110100100101101
11/01/2018 7
Sous sa forme binaire, un logiciel est incompréhensible par un être humain.
Le développeur conçoit donc le logiciel dans un langage symbolique et plus accessible, dit de haut niveau par rapport au langage binaire, dit de bas niveau.
Cette description de haut niveau, qui n'est pas exploitable en l'état par le microprocesseur, est appelée code source.
La conversion du code source en code binaire est assurée par un outil nommé compilateur.
Code source et code binaireint rangeSum(int low, int high){ int i; int sum = low; for (i = low + 1; i <= high; i++){ sum = sum + i; } return sum; }
11/01/2018 8
En Europe, le logiciel est à ce jour exclusivement protégé par le droit d'auteur (droit latin) ou par le copyright (droit anglo-saxon).
Le droit d'auteur ne reconnaît que peu de droits à l'utilisateur et lui interdit beaucoup de choses.
Les logiciels classiques sont accompagnés de licences d'exploitation et de diffusion encore plus restrictives.
Un utilisateur n'est pas possesseur d'un logiciel qu'il acquiert pas plus que le film d'un DVD ou la musique d'un CD. Il l'est d'un livre, sans l'être de l'oeuvre bien évidemment.
Droit d'auteur
11/01/2018 9
L'auteur d'un logiciel libre veut rétablir l'équilibre. A cette fin, il accorde 4 libertés fondamentales à l'utilisateur :
Exécuter le programme à sa guise et sans restriction.
Etudier le fonctionnement du programme.
Redistribuer des copies, gratuites ou payantes.
Modifier le programme, s'en inspirer et redistribuer les modifications pour le profit de tous.
L'exercice de ces libertés exige le libre accès au code source et la liberté de le modifier.
Droit de l'utilisateur
≠ Freeware/Shareware
11/01/2018 10
Tout provient de la disponibilité du code source :
Portabilité – Universalité - Facteur d'échelle
Flexibilité – Adaptabilité
Stabilité – Fiabilité
Performance – Réactivité – Sécurité
Interopérabilité – Pérennité – Indépendance
Universalité aux travers des standards, RFCs, normes
Le coût n'est qu'une conséquence
Un logiciel libre est comme une voiture dont on peut ouvrir le capot
Force du logiciel libre
11/01/2018 11
Au delà du code, le Logiciel Libre a 3 pilliersLicensesLicenses CommunautéCommunauté MethodologieMethodologie
•On peut utiliser les 3 aspects en tant qu'avantage compétitifOn peut utiliser les 3 aspects en tant qu'avantage compétitif•Le modèle commercial se déplace sur le serviceLe modèle commercial se déplace sur le service•Plus vous vous impliquez, plus vous influencez/contrôlez.Plus vous vous impliquez, plus vous influencez/contrôlez.
Près de 60 licences aujourd'hui:Les Copyleft (pas virales – à réciprocité): les modifications diffusées de code doivent retourner à la communautéLes autres sont similaires au domaine public et ont peu d'exigencesLe droit d'auteur et le copyright sont des éléments fondamentaux pour toutes ces licences FLOSS.
“Une communauté est une entité sociale de toute taille qui partage des valeurs [...] Depuis l'avênement d'Internet, la notion de communauté n'a plus de limitation géographique, puisque ses membres peuvent se réunir virtuellement en ligne et partager des intérêts communs indépendamment de leur localisation.” (d'après Wikipedia)
Développement partagé.De multiple projets avec leur propre structure. Divers modèles de gouvernance, certains autocratiques, d'autres basé sur le consensus.Variété d'information sur la feuille de route.Méritocratie où l'influence et le contrôle s'obtiennent par l'implication.Certains projets sont pilotés par des entreprises, beaucoup ar des individus.
11/01/2018 12
Licenses FLOSS
freeware
SunSCSL
Microsoftshared source
Code sourcedisponibleBinaire seul
source aveclimitations
manyjava
libraries
Logicielgratuit
shareware
AdobeReader
GNU LGPL MIT
Art Libre
MozillaW3C
Apache
permissiveCopyleft / réciprocité
GNU GPL
FLOSS
BSD
Reference URL: http://www.gnu.org/licenses/licenses.en.html
CC
11/01/2018 13
Citation d'Eben Moglen
“We now have a body of software accessible to everybody on earth so robust and so profound in its
possibilities, that we are a few man months away from doing whatever it is that anyone wants to do
with computers all the time.”
From a speech given at Harvard Law School
11/01/2018 14
Conséquences● Pour les utilisateurs :
● Les solutions FLOSS ont un coût d'entrée plus bas, procurent sécurité par l'ouverture
● Liberté de choix uniquement sur dess critères techniques, donnant le contrôle total
● Liberté de développer une expertise interne ou d'externaliser
● Liberté de brancher si le projet père se comporte de façon non acceptable
● Pour l'industrie informatique :
● Les standards sont maintenant fourni avec une implémentation libre
● Les compagnies qui réussissent ne sont pas celles qui luttent contre, mais adoptent et participent.
● Le modèle commercial est autour du matériel et des services (consultance, intégration, support, formation, hébergement, infogérance, SaaS)
● La différentiation est faite sur la crédibilité commerciale et technique (implication dans les communautés), la diffusion rapide (innovation) et des matériels et services uniques qui répondent aux besoins des clients.
Linux ? Une Distribution Linux ?
11/01/2018 16
1967 – Arpanet (Internet Ancestor) - L. Roberts1969 – UNIX – B. Kernighan, D. Ritchie, K. Thomson
1971 – C Language – B. Kernighan, D. Ritchie
1972First e-mail
1973 – Mouse and Ethernet – Xerox Parc
1973TCP/IP – V. Cerf
1974 – Smart Card – R. Moreno1975 – Microsoft – P. Allen, B. Gates
1976Apple and Apple IIS. Wozniak, S. Jobs
2005 -
1978 – BSD 1 – B. Joy1980 – Internet – V. Cerf
1981PC - IBM
1984MacIntosh/Apple – LaserJet/HP
1985 – MS Windows
1991Linux – L. Torvalds
1995 – Java – Sun
2001Wikipedia
2008 - Cloud
Il était une fois...
1984 – GNU Project – R. Stallman1984 – X-Window/MIT – DNS
2010
2013 -
2006
11/01/2018
Le projet GNU :
Tout démarre d'un problème d'imprimante
Richard M. Stalmann, AI Lab au MIT
But : Fabriquer un système d'exploitation libre à partir de rien
Début avec un éditeur (emacs), une chaîne de compilation C (gcc, gdb, glibc,as, ld), ...
Des outils el ligne de commande : ls, mv, rm, grep, awk, sed, make, bash, ...Des centaines d'outils aujourd'hui GNU Hurd Les licences GPL
GNU ?
11/01/2018 18
Linux Kernel
Linux implementation GPL d'un noyauconforme au standard POSIX (Portable Operating System Interface Unix-Like - IEEE comitee 1003.x)
Fournit des services et interfaces pour les composants matériels et logiciels. Premiers test de conformité fait par le Gouvernement US avec le noyau 1.2.13. Développé mondialement par des millers de développeurs.
12,000,000+ lignes de code, 77MB xz compressed tarball... (50 % pour les pilotes, moins de 3 % de code assembleur ...) [sloccount sur 3.17.4]
http://en.wikipedia.org/wiki/List_of_Linux_supported_computer_architectures
Ubiquité : Fonctionne sur le Superdome X BL920c 460 threads 16To de RAM et sur un téléphone Android ou un GPS Tomtom (28 architectures de CPU prises en charge), des routeurs, des box ADSL/Vidéos... Il est utilisé dans des voitures, la navette spatiale internationale, 80 % des marché financiers, 100 % des machines du top500.org et il y a 1.3 Million de périphériques Android activaté par jour. http://en.wikipedia.org/wiki/Linux-powered_device
Valeur : En 2011, l'effort de développement du noyau Linux était estimé à environ 3 milliards de dollar. En 2015, à 5 milliards .
Linux ?
11/01/2018
Ensemble coherent de paquets (1k-30k) pris dans les projets pères Gestionnaire de paquets Outil de contrôle Programme d'installation Scripts de démarrage Outils adhoc Mise à jour fonctionnelles Mise à jour de sécuritéGéré par une communauté
ou une entité commerciale (certification matérielle, LTS, support)
Distribution Linux : un projet en soi
11/01/2018 20
1984 – GNU/FSF Project - R. Stallman
1991 - Linux L. Torvalds
1996 – SuSE & Yast – Florian La Roche
Evolution des distributions Linux
1993 – Slackware – Patrick Volkerding
1993 – Red Hat LinuxMarc Ewing
1997 – Red Hat Package ManagerErik Troan & Mark Ewing
1993 – Debian Package
2003 – YUM - Seth Vidal
1996 – Debian GNU/LinuxIan Murdock
2003 – Fedora Warren Togami
1998 – Advanced Packaging ToolBrian White
2004 – UbuntuMark Shtuttleworth
1992 – SLS – Peter Mc Donald
2001 – SLES 2002 – RHEL
2005 – OpenSUSE
2010 – MageiaAnne Nicolas
2015 – DNF
11/01/2018
Linux Distribution Relationships
L'engagement de HPE
HPE participe à l'écosystème libre de diverses manières
Deploiement interne
Partnerariat Embarqué
Contribution de propriété
intellectuelle
Participation Aide aux clients
Coûts moindres : Faire plus avec moins
Gestion des risques
Innovation rapide
Améliorer agilité et flexibilité
Accélérer et simplifier les services
Impératifs des Enterprises Tendances
Générer de la croissance
Satisfaire les clients
Réagir à la compétition
S'adapter aux changements marché
Oeuvrer dans un écosystème de
standards ouverts
Big Data
Cloud
Mobilité
Securité
Social
Internet of Things
Nous sommes à un point d'inflexion de l'informatique
NouveauBusiness
Notre stratégie
25
We makeHybrid IT simple
We have the expertiseto make it happen
We power theIntelligent Edge
Campus & Branch Industrial Internet of Things
Traditional Data Center
Software-defined Infrastructure and Private Cloud
Multi-cloud Partnerships
Advisory & Professional Services
TechnicalServices
IT ConsumptionModels
Traditional Data Center Private Cloud
Managed Cloud Services Public Cloud
HPE est le partenaire de confiance pour le Libre
4500+ spécialistes Open Source
Les contributions au Logiciel Libre
I think that many people assume, wrongly, that a company exists simply to make money. While this is an important result of a company’s existence, we have to go deeper and find the real reasons for our being. As we investigate this, we inevitably come to the conclusion that a group of people get together and exist as an institution that we call a company so they are able to accomplish something collectively which they could not accomplish separately. They are able to do something worthwhile — they make a contribution to society (a phrase which sounds trite but is fundamental).
David Packard, March 8, 1960
Cycles de vie
Utilisation du noyau Linux dans les distributions
2.6.35 2.6.36 2.6.37 2.6.38
Fedora 14
(2011-10)
RHEL 6 GA(2010-11)
RHEL 6.1(2011-05)
2009-12 2010-08 2010-10 2011-01 2011-03 2011-05 2011-07 2012-01 2012-05 2013-06 2013-11 2014-03 2014-10
2.6.39 3.0 3.2 3.4 3.10 3.12 3.14 3.17
Ubuntu 10.10 Ubuntu 11.04 Ubuntu 11.10 Ubuntu 12.04
LTS
Ubuntu 13.10 Ubuntu 14.04
LTS
Ubuntu 14.10
Debian 7
2013-05
RHEL 6.2(2011-12)
RHEL 6.3(2012-06)
RHEL 6.5(2013-11)
RHEL 6.6(2014-10)
RHEL 7.0(2014-06)
Fedora 19
(2013-07)
3.9
Fedora 14
(2010-11)
Fedora 15
(2011-05)
Fedora 17
(2012-05)
Fedora 20
(2013-12)
Debian 6
2011-02
SLES 11 SP1
2010-06
SLES 11 SP2
2012-02
SLES 11 SP3
2013-07
SLES 12
2014-10
2.6.32
OpenSUSE 11.4
2011-03
OpenSUSE 12.2
2012-09
OpenSUSE 13.1
2013-11
OpenSUSE 13.2
2014-11
Exemple de complexité d'alignement de cycle de vie
45nm 32nm 22nmtick tock
Xeon 5500(Nehalem)
Xeon 5600(Westmere)
Xeon 2600 (Sandy-Bridge)
Broadwell / Skylake
Xeon 5400Xeon 5200
G6G6wG7
2009 2010 2011 Future
Gen8
G6 long-life
RHEL 55.5y full support 1.5y on hw, sw, bugs 3.5y on xxxx
5.5
+3y LTS
4.8
RHEL 4
2012
RHEL 7
2013
tick ticktock tock
2014
Xeon 2600 v2 (Ivy Bridge)
Gen9
RHEL 6
Cf: https://access.redhat.com/site/support/policy/updates/errata/
2015
Xeon 2600 v3 (Haswell)
tick
11/01/2018 Private | Confidential | Internal Use Only
”Changes are never easy to make. There is comfort and safety in tradition, but change must come, no matter how painful or expensive it may be.”
Bill Hewlett
[email protected](Open Source and Linux Technology Strategist
at the WW Customer Innovation Center)
http://downloads.linux.hpe.com/
Linus Torvalds, Richard Stallman, Eric Raymond, Nat Makarevitch, René Cougnenc, Eric Dumas, Rémy Card, Bdale Garbee, Bryan Gartner, Craig Lamparter, Lee Mayes, Gallig Renaud, Andree Leidenfrost, Phil Robb, Bob Gobeille, Martin Michlmayr among others, for their work and devotion to the Open Source Software cause... and my family for their patience :-)
MERCI !