Informations d'accessibilité| Page d'accueil| Aller au contenu| Plan du site| Moteur de recherche| Contact

Association Francophone des Utilisateurs de Logiciels Libres

French speaking Libre Software Users' Association

Promouvoir les logiciels libres ainsi que l'utilisation de standards ouverts.

Linux et logiciels libres: esquisse d'un panorama

Transparents d'une conférence donnée au LORIA à Nancy.

Linux et logiciels libres: esquisse d'un panorama

1. Auteur

Stéfane Fermigier.

Maître de conférences, Université Paris 7.

Président, AFUL.

fermigie@math.jussieu.fr

fermigier@fermigier.com

2. Thèmes abordés

  • Sources / éxécutables.
  • Libre / propriétaire.
  • (Gratuit / commercial).
  • Système d'exploitation / applicatifs.
  • Serveur / (standards de communication) / client.

3. Contexte: l'industrie du logiciel

  • 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.

4. Problèmes avec les logiciels propriétaires

  • 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é).

5. Définition du logiciel libre

  • 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.

6. Modèle(s) de développement

  • 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/

7. Mozilla, le navigateur Web libre

  • 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.

8. GNAT, le compilateur ADA libre

  • 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.

9. Systèmes d'exploitation

``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.

10. BSD Unix

  • 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.

11. Origine de Linux

  • 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.

12. Origine de Linux (suite)

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.

13. Historique de Linux

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.

14. Historique Linux (suite)

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).

15. Historique de Linux (fin)

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.)

16. Développement du noyau

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.

17. «Système Linux» (GNU/Linux)

  • 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'').

18. Distributions Linux

  • 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.

19. Distributions Linux

  • Slackware (US)
    • Historique, DIY.
  • Red Hat (US)
    • La plus populaire actuellement.
    • Intel / Sparc / Alpha.
    • Gestion des paquetages (RPM).
  • SuSE (DE)
    • Reprend RPM.
    • Administration centralisée (YAST).
    • Bon manuel.

20. Distributions Linux (suite)

  • 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.

21. Pourquoi Linux ?

  • 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'').

22. Domaines d'utilisation traditionnels

  • 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.

23. Applications «spectaculaires»

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.''

24. Applications «spectaculaires» (suite)

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).

25. Offre logicielle libres

  • 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).

26. Communauté Linux mondiale

  • 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...

27. Communauté française

  • 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).

28. Buts de l'AFUL

  • 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é.