|
Linux et logiciels libres: esquisse d'un panorama
Dernière modification :
19/12/2007 15:35
Linux et logiciels libres: esquisse d'un panorama
Stéfane Fermigier.
Maître de conférences, Université Paris 7.
Président, AFUL.
fermigie@math.jussieu.fr
fermigier@fermigier.com
- Sources / éxécutables.
- Libre / propriétaire.
- (Gratuit / commercial).
- Système d'exploitation / applicatifs.
- Serveur / (standards de communication) / client.
- Effets de réseau: plateforme populaire -> création d'applications
et de contenu pour cette plateforme -> popularité renforcée -> ...
- Immatérielle:
- Coût marginal de production = 0.
- Coût de distribution = 0 (Internet, CD-ROM).
- Prix arbitraire... ou nul!
- Produit principalement des biens de production.
- Rôle stratégique (``système nerveux de l'entrprise'').
- Produits très variables:
- Edition à grande diffusion: peu d'emplois, concentration.
- Service à façon: beaucoup d'emplois, décentralisée.
- Non respect des standards (pour contrôler le marché).
- Dépendance des clients (prix, services, stratégie industrielle).
- Non-disponibilité des codes sources => problèmes:
(maintenance, sécurisation, portabilité, pérennité, adaptation à besoins
spécifiques, code piégé).
- La plupart des logiciels sont écrits dans un langage de haut niveau
(``sources''), intelligible par l'homme, et exécutés par les machines
dans un langage de bas niveau (``binaires'').
- Un logiciel est libre si ses sources sont librement disponibles,
modifiables et rediffusables.
- Ce droit peut être protégé, y compris pour les versions modifiées,
par une licence d'utilisation, typiquement la GPL (General Public
License), mais ce n'est pas obligé (licences Berkeley, artistique).
- Pour la plupart des logiciels du commerce, les sources ne sont
pas disponibles, ou alors de façon onéreuse, et souvent non modifiables.
La décompilation est en général interdite par les licences.
- Chacun peut apporter sa contribution, corriger les bugs qu'il
rencontre ou ajouter des fonctionnalités -> développement dirigé par
les utilisateurs.
- Pour certains projets: nombreuses versions de développement
(parfois un flux constant) très largement diffusée à des bêta-testeurs
(volontaires) et co-développeurs.
- Un petit nombre de «chefs», responsables de l'orientation globale
du projet.
- Architectures modulaires, extensibles.
- Respect rigoureux des standards (IETF, W3C, OMG, ISO, ANSI, ECMA, etc.).
- Utilisation d'outils de contrôle de sources (CVS), de suivi de bugs
(bugzilla), de tests de régression.
- Les versions ``stables'', destinées aux utilisateurs finaux, sont
validées soigneusement.
- Cf. http://www.linux-france.com/article/these/cathedrale-bazar/
- 1989: Tim Berners-Lee (CERN) invente le WWW.
- 1991: Navigateurs Line Mode et NeXTStep (TBL).
- 1993: NCSA Mosaic. Le CERN «libère» les spécifications du WWW.
- 1994: Marc Andreesen fonde Netscape. Fondation du W3C.
- 1995-?: La «guerre des navigateurs».
- 1998: Les sources de Navigator sont libérées par Netscape.
Lancement de Mozilla.org.
- Origine: contrat de $3M entre le DoD et NYU (1994).
- Objectif: relancer ADA et en particulier ADA95.
- Réutilise le back end de GCC, le compilateur du projet GNU.
- C'est un logiciel libre commercial, développé et supporté par la
société Ada Core Technology (www.gnat.com).
- Caractéristiques: modèle de développement ouvert et rigoureux
(batteries de tests de régression), portabilité, qualité du support.
- Utilisation: aérospatial (avions, satellites), télécommunications...
- GNAT est devenu la référence du monde ADA.
``Ensemble des couches basses du logiciel qui virtualisent le matériel.''
- Ordonnancement des tâches.
- Mémoire virtuelle.
- Système de fichiers.
- Connection au réseau.
- Interface homme-machine, en particulier multifenêtrage (?).
Distinction technique: user space / kernel space.
- 1969: Naissance aux Bell Labs (ATT).
- 1976-80: large diffusion des sources d'UNIX versions 6 et 7 dans les
milieux universitaires, notamment Berkeley.
- 1982: SUN Microsystems (et al.) fondée pour commercialiser
Berkeley Unix.
- 1985-1995: «Guerre des Unix» (SunOS, HP-UX, AIX, SCO, Digital Unix,
IRIX...), jusqu'à la standardisation par X/Open.
- 1993-1994: Battaille juridique (ATT vs. UCB) autour des sources
de Berkely Unix (BSD NET-2 Release).
- 1994-...: Trois projets distincts émergent des sources de «BSD-Lite»:
FreeBSD, NetBSD et OpenBSD.
- Première version (0.01) en septembre 1991: Linus Torvalds, 21 ans, Helsinki.
- Souhaite un système UNIX sur le PC (386) qu'il vient de se faire offrir.
- Offre commerciale (SCO, Solaris/Intel) beaucoup trop chère.
- Cherche un projet de programmation motivant.
- Commence le projet et lance un appel sur Internet.
- De nombreux programmeurs le rejoignent.
- En 1992: licence GPL.
Le système s'appuie sur des outils ou des projets existants à l'époque:
- Minix, version simplifiée d'UNIX à usage pédagogique (non libre).
- Le projet GNU (GNU is Not UNIX):
- Les outils de développement + la librairie C
- Les utilitaires
- (Plus tard) L'interface graphique X11 développée au MIT, puis par le consortium X, puis par l'X/Open, puis l'Open Group et indépendamment par le groupe XFree86.
- (Plus tard) Les outils réseaux libres issus du monde de l'Internet.
1991-1995: Intégration progressive de nouvelles fonctionnalités au noyau
- Gestion du réseau (TCP/IP).
- Différents systèmes de fichiers (ext2: Remy Card).
- Librairies dynamiques, modules.
- Extensions temps réel.
- Multithreading (Xavier Leroy), Multiprocessing (SMP), clustering.
Mars 1994 : version 1.0,
Linux n'est plus considéré comme une version bêta (500 000 utilisateurs).
Mars 1995 : version 1.2 (1 M utilisateurs).
Juin 1996 : version 2.0 (2 M utilisateurs).
Janvier 1999: version 2.2 (12 M utilisateurs).
Numéro de version :
- pair : version ``stable'', ex : 2.0.36.
- impair : version de développement, ex : 2.1.128 (-> 2.2).
1998
- «Explosion médiatique» de Linux: articles, récompenses.
- Portage officiel des serveurs des bases de données.
- Plusieurs constructeurs de PC (Dell, Compaq) annoncent un support sous un forme ou sous une autre.
- Progression de 212 % en 98 (source IDC) sur le marché des serveurs.
- Le Nombre d'utilisateurs total passe de 7.5 a 12 millions (est.)
Taille du noyau
- Version 2.0.36 : 800 000 lignes de code, 6 architectures supportées (i386, Alpha, Sparc, 68k, Mips, PPC).
- Version 2.1.101 : 1 500 000 lignes de code, 8 architectures supportées (les mêmes + ARM, 8086)
Plusieurs centaines de développeurs + milliers de testeurs.
Origines variées:
- FSF, universités, NASA, employés de sociétés hard ou soft...
Maîtrise d'oeuvre: Linus Torvalds + Alan Cox + quelques autres.
Rôle de l'Internet dans la coordination du travail des développeurs.
Documentation sur le noyau: au moins 3 livres.
- Fournit les fonctionnalités de base d'un système POSIX (multi-tâches, multi-utilisateurs, mémoire virtuelle).
- Le noyau + les modules (pilotes de périphériques).
- Utilitaires système, services réseaux (``démons'').
- Utilitaires utilisateurs (shell + commandes, éditeurs, langages de scripts).
- Environnement graphique (X-Window, ``X11'').
- Medium: CD-ROM, Internet.
- Outils d'installation, d'administration.
- Gestion des paquetages.
- Applications libres:
- Développement (C, C++, F77, ADA...)
- Traitement de textes.
- Communication (e-mail, Web...).
- Window et Desktop manager(s) (gestionnaire(s) de bureau).
- Éventuellement, applications commerciales.
- Slackware (US)
- Red Hat (US)
- La plus populaire actuellement.
- Intel / Sparc / Alpha.
- Gestion des paquetages (RPM).
- SuSE (DE)
- Reprend RPM.
- Administration centralisée (YAST).
- Bon manuel.
- Debian GNU/Linux (INT)
- La plus riche (1500 paquetages).
- Installation et administration réputées plus ardues.
- Caldera (US)
- Résolument commerciale, pour les entreprises.
- Haut niveau de services associés.
- Pacific High Tech (JP).
- Nombreuses variantes (de Red Hat), par ex. Mandrake.
- UNIX avancé sur du matériel de commodité.
- Noyau respectant les standards (POSIX.*, Internet).
- Utilisation optimale des ressources (ex: mémoire).
- Fonctionnalités avancées (ex: modules, support SMP, IPv6).
- Disponibilité des sources (système customisable, absence de cheval de Troie).
- Système multi-plateformes.
- Légèreté, stabilité et robustesse
- Serveurs avec +400 jours sans arrêts.
- Résistance aux tests (``CrashMe'', ``Fuzz'').
- R & D, enseignement supérieur.
- Communication (FAI/ISP: 25-30 %).
- Industrie: informatique embarquée, temps réel.
- Serveurs d'entreprises:
- Internet / Intranet / Extranet.
- DNS, mail, news, web, FTP, firewall, proxy.
- Serveur de fichiers (clients Unix, Windows, Mac), de fax, d'impression, de bases de données (SQL, objets).
- Gestion (application à base de données).
- Bureautique.
Ville de Garden Grove, (CA, USA):
- Mairie, logement, pompiers, police...
- Samba (partage de fichier), Pick D3, Apache, Java.
- 300 postes clients W3.1, W95 ou Mac, tous les serveurs (environ 10) sous Linux.
Gestion integrée des transports publics (bus et train) dans le nord-est de l'Italie.
Universal Computer Service (ZA): 5000 postes clients + 50 serveurs, tous sous Linux.
- ``Si Linux était aussi cher que NT ou SCO, on l'utiliserait quand même.''
Chaîne de magasins de vêtements Jay Jacobs, USA (115 sites).
La police du Bade-Württemberg (DE).
Protection civile du département des Vosges.
US Postal: 900 systèmes de tri du courrier (reconnaissance du ZIP), 12 lettres à la seconde.
Lectra (CFAO), Schlumberger (POS).
Supercalculateurs: Hollywood (Titanic, Godzilla), NASA (beowulf).
www.voila.fr, portail de France Telécom (15 machines).
- Plus de 2000 logiciels libres recensés pour plateforme UNIX.
- Tous ne sont pas de la même qualité
(tri -> rôle des distributions).
- Plusieurs projets ambitieux avancés:
- Serveurs réseaux (Apache, Sendmail, Samba...).
- Client Web Mozilla de Netscape.
- SGBDR PostgreSQL et MySQL.
- Serveur d'application (Zope, Enhydra,...)
- OpenLDAP (serveur d'annuaire).
- Des projets en cours de maturation:
- GNOME/KDE (environnements graphiques).
- Développeurs, bêta-testeurs, intégrateurs, auteurs de documentation, utilisateurs.
- Associations d'utilisateurs (LUG).
- Sociétés commerciales:
- Distributions: Red Hat, Caldera, Infomagic, SuSE...
- Hard: IBM, Apple, DEC, SUN, VA Research, Aspen, SWT, Cobalt Micro, Netwinder...
- Soft: Pick Systems, Oracle, Informix, SUN, Applix, StarDivision, Netscape, Corel...
- SSIIs, VARs, consultants...
- Formation: Learning Tree International...
- Presse: Linux Journal. Edition: O'Reilly...
- Organisateurs de salon...
- Communauté virtuelle (forums Internet).
- LUG: groupes d'utilisateurs locaux, une quinzaine en France.
- Groupes de traducteurs de la documentation («projet documentation Linux»).
- Sociétés éditrices, souvent partenaires de sociétés étrangères.
- Sociétés utilisatrices, souvent liées à l'Internet (FAI).
- Deux magazines: Dream et Linux France Magazine.
- Projets: Linux-Mandrake, Independence, LaetOS.
- Sites Web: linux-center.org, linux-france.com, linuxfr.org...
- L'AFUL (www.aful.org).
- Promotions des logiciels libres, en particulier des UNIX libres comme
Linux.
- Défense des standards ouverts (formats de stockage de données,
protocoles de communication), notamment dans les échanges entre l'État et les
citoyens.
- Mettre en avant les expériences, les succès, faire
circuler l'information, encourager la coopération.
- Encourager la francisation des logiciels libres et des documentations.
- PAS de lutter contre telle ou telle société.
|
|