T1phvmn
T1phvmn
Logiciels libres
GILLES LAMIRAL
Samedi 17 décembre 2002
RENNES IFSIC
Les logiciels libres fournissent un environnement de
travail répondant aux exigences des entreprises, des administrations
et des citoyens.
La liberté n'a
pas de prix.
Ordinateur
- Unité Centrale (UC): Boitier comprenant carte mère, processeur,
mémoire, disques, cartes vidéo, audio etc.
- Périphériques : clavier, écran, souris, imprimante, modem, graveur etc.
- Système d'exploitation : noyau + logiciels système.
- Logiciels applicatifs : traitement de texte, tableur, jeux etc.
- Réseau : ensemble d'ordinateurs connectés entre eux.
Logiciel
- Fichier source : compréhensible et modifiable par un
programmeur. Recette de cuisine complètement détaillée.
- Compilateur : programme capable de transformer un
fichier source en fichier exécutable (compilateur, assembleur,
editeur de liens).
- Fichier exécutable : compréhensible par une machine,
non modifiable. Plat préparé.
- Programmeur + fichier source + compilateur + ordinateur
=> fichier binaire (exécutable)
Logiciels propriétaires
Les logiciels propriétaires sont distribués avec une licence très
restrictive :
- Vous ne devez pas préter le logiciel.
- Si le logiciel ne fonctionne pas correctement, vous êtes à la
merci de celui qui vous l'a vendu (il vous ignore en général).
- Vous essuyez des problèmes de gestion de licence.
- Vous ne verrez jamais le code source.
- Vous payez pour seulement avoir le droit d'utiliser le programme.
- Vous payez pour chaque ordinateur où il est installé.
- Vous payez chaque année ou à chaque nouvelle version.
- Vous n'avez aucune garantie.
Logiciels libres
Un logiciel est libre s'il peut être :
- Utilisé, pour un usage quelconque, par quiconque,
n'importe où, n'importe quand.
- Étudié et adapté à ses propres besoins, grâce
à la disponibilité du code source.
- Diffusé sous forme de binaire ou de code source avec ou
sans modifications.
Remarques :
- Libre ne signifie pas ``gratuit''. La gratuité est une conséquence des libertés.
- Libre ne signifie pas ``domaine public''. La liberté est soumise à une licence.
- Libre ne signifie pas ``freeware'' ni ``shareware''. Les sources sont disponibles.
- Libre ne signifie pas ``pirate''. La copie est légale et vivement encouragée.
- Contrairement aux bonbons, quand on partage un logiciel, on ne le perd pas.
Historique 84-94 : Fondations
- 1984 : démarrage du projet GNU par Richard Matthew
Stallman (rms). http://www.gnu.org
- 1985: premier éditeur Emacs utilisable, création de la
FSF, compilateur gcc 1.0 (juin). http://www.fsf.org
- 1990 : système GNU presque terminé.
- 1991 : GPL v2 (juin), Linux 0.01 par Linus Torvalds
(sept), début 386BSD. http://www.linux.org
- 1992: gcc 2.0 (mars), Linux sous GPL,
démarrage de XFree86 (avril)
- 1994: Linux1.0 (mars, 500 000 utilisateurs)
Historique 95-02 : Montée en charge
- 1995 : création RedHat (janvier), Linux 1.2 (1
Million d'utilisateurs)
- 1996 : Linux 2.0 (2 Millions d'utilisateurs)
- 1997 : démarrage Gnome, article Cathédrale et Bazar de
Éric S. Raymond (mai)
- 1998 : Linux (10 Millions d'utilisateurs),
Gimp 1.0
- 1999 : Linux 2.2, Samba 2.0, GNOME 1.0, Zope 2.0
- 2000 : XFree86 4.0, FreeBSD 4.0, Open CASCADE 3.0, PHP
4.0, PostgreSQL 7.0, DemoLinux 2.0, Qt sous GPL, KDE 2.0, OpenBSD
2.8, NetBSD 1.5
- 2001 : Linux 2.4 (18 Millions d'utilisateurs),
Nautilus 1.0, GNOME 1.4, Samba 2.2, GCC 3.0, RedHat 7.1 = 1milliard
de $US, Zope 2.4, KDE 2.2, Qt 3.0, Debian 2.2 = 1,9 milliard de
$US
Philosophie
- Liberté : de faire des copies, des améliorations, de les diffuser
- Égalité : les droits sont les mêmes pour tous
- Fraternité : coopération de tous pour définir, documenter, tester et
coder de nouveaux programmes
http://www.linux-france.org/article/these/
http://www.april.org/articles/intro/ll.html
http://www.aful.org/presentations/libre.html
Licences
Les logiciels libres sont accompagnés d'une licence :
- GPL : GNU General Public License, 70 % des logiciels libres
- LGPL : GNU Lesser General Public License, 5 %
- BSD : Berkeley, 5 % (Bind)
- Artistic License, 2 % (Perl)
- ...
Avantages
- Fonctionnalités et développements dirigés par les utilisateurs
- Fiabilité par l'utilisation d'outils de contrôle de sources, de suivi
de bugs, de tests de non-régression
- Sécurité : pas de virus, code source visible par tous
- Pérennité tant qu'il y aura des utilisateurs-développeurs
- Respect rigoureux des standards (IETF, W3C, OMG, ISO, ANSI, RFC, etc.)
- Architectures modulaires, extensibles. Le meilleur code est conservé.
- Performance sur du petit comme du gros matériel
- Documentation développeur, administrateur, utilisateur exhaustive
- Support par les utilisateurs, les développeurs et des sociétés commerciales
- Gestion de licences nulle.
Dépendance
Pas de logiciels libres <=> Pas d'internet
- Bind : 99 % des serveurs de noms
- Sendmail ou Postfix: 80 % des serveurs de messagerie
- Apache : 67 % des serveurs web (sept. 2002)
- Linux : 30 % des machines (50 % MS windows)
Apache
http://www.apache.org/
http://www.netcraft.com/survey/
Novembre 2002 (36 millions de sites)
Origine : NCSA httpd 1.3 (Rob McCool), puis ``a patchy server''
Abondance
Combien de logiciels libres ?
| Site |
Entrées |
Date |
URL |
| Freshmeat |
26 183 |
17 décembre 2002 |
freshmeat.net |
| Linux Software Encyclopedia |
5 808 |
8 Mars 2001 |
stommel.tamu.edu |
| Linux Software Map (lsm) |
2 161 |
11 décembre 2002 |
lsm.execpc.com |
| Linux Apps |
4 180 |
17 décembre 2002 |
www.linuxapps.com |
http://freshmeat.net/stats/
http://stommel.tamu.edu/~baum/linuxlist/linuxlist/linuxlist.html
ftp://lsm.execpc.com/pub/lsm/
http://www.linuxapps.com/
Noyau Linux : quelques données
- Linux n'est que le noyau. Le terme plus juste
est X11/BSD/GNU/Linux
- Environ 3 900 000 lignes de codes pour les noyaux 2.4.x
- 411 contributeurs notoires (2.4.x)
- Version stable au 28 novembre 2002 : 2.4.20
Version de développement au 16 décembre 2002 :
2.5.52
- Autres dernières versions stables : 2.0.39, 2.2.23
- http://kernel.org
Noyau Linux : caractéristiques
- Multi-taches vrai : exécute plusieurs programmes en
paralléle (mode préemptif).
- Multi-utilisateurs : plusieurs utilisateurs actifs en
même temps sur la même machine
- Multi-plateformes
- Fonctionne intégralement en mode protégé sur i386
- Librairies partagées
- Gestion mémoire propre, protection entre les processus
- Mémoire physique de 64 Go, virtuelle (swap) > 2 To
- Fonctionne avec peu de ressources (4 Mo de RAM, 20 Mo DD)
- Système de fichiers ext2 toujours défragmenté
- Systèmes de fichiers : ext2, OS/2, AIX, Novell, BSD, HFS, iso9660, Joliet etc.
Noyau Linux : plateformes
``LINUX is tied fairly closely
to the 80x86. Not the way to go.''
- LINUX is obsolete, Andy Tanenbaum, 29 January 92.
``Linux is not portable (uses
386 task switching etc.), and it probably never will
support any thing other than AT-hard disk, as that's all
I have.''
- Linus Torvalds, August 25, 1991.
Plateformes standards
- Intel (i386), Compaq Alpha AXP, Sparc 32/64, UltraSparc,
Motorola 68000, PowerPC (ppc), PowerPC64, ARM, Hitachi SuperH, IBM
S/390, MIPS, HP PA-RISC, Intel IA-64 and DEC VAX.
Autres plateformes
- AMD x86-64, Intel 8086/80286, NEC PC-9800, MCA, IA64 (fév 2000),
Next, HP9000, PalmPilot, Psion, Sun4c/4m/4d, VAX 3100/2000,
R2000/3000, VME, Amiga, Atari, vic20, Z80 etc.
GNU/Linux : un Unix
- Linux est un nom déposé appartenant à Linus Torvalds
- GNU signifie ``Gnu is Not Unix''.
- GNU/Linux est un clone Unix, non officiel.
- Conformité POSIX quasi complète.
Autres systèmes d'exploitation libres
Les trois Unix/BSD libres dérivés de BSD4.4, trois orientations :
DOS libre :
Systèmes libres : protocoles réseaux
- TCP, IPv4, IPv6. Linux est le modèle officiel de
l'implémentation IPv6.
- IPX (Novell)
- DDP (Appletalk)
- PPP, SLIP (série), PLIP (parallèle), RNIS, DSL
- X.25 (HAM/packet radio), Netrom, ATM
- ...
Systèmes libres : protocoles applicatifs
- Courrier : SMTP (envoi), POP et IMAP (boites aux lettres).
- Discussions : NNTP, IRC (en direct).
- Accès distant : Telnet, SSH, VNC, X Window.
- Web : HTTP, HTTPS, FTP.
- Bases de données : SQL, LDAP, DNS.
- Partage : NFS, NetBios, NIS.
- ...
Graphisme : X Window
- XFree86 (fait partie du consortium X/open)
- Conformité au standard X/open
- Indépendant de la plateforme. Architecture client/serveur
(affichage d'une application n'importe où sur le réseau)
- Plusieurs sessions graphiques complétement indépendantes sur la
même machine
- Plusieurs dizaines de gestionnaires de fenêtres disponibles
(KDE, Gnome, AfterStep etc.), des milliers d'applications graphiques.
Langages et programmation
- Tous les langages informatiques majeurs sont supportés :
- C, C++, Java, Perl, TclTk, PHP, ADA, Pascal, Basic, Fortran,
Smalltalk, Lisp, Prolog etc.
- Possibilité de développer pour Unix, Windows et MacOS avec les
mêmes sources
Coopération avec MS Windows
- Samba : serveur de fichier et d'impression, controleur de
domaine.
- DOSEMU : exécution de binaires MS-DOS
- WINE : implémentation de l'API Win32, exécution de binaires
Windows ou Linux
- CygWin : implémentation POSIX sur Windows.
- Travail transparent sur les partitions DOS, FAT, VFAT, NTFS
(lecture)
Samba
Serveur de noms, de fichiers et d'imprimantes pour postes Windows
3.1/95/98/NT/2000 OS/2 (remplace intégralement un serveur NT)
- Naissance : 1991
- Auteur : Andrew Tridgell
- Licence : GPL
- Protocoles : SMB, NetBios, NetBUI, CIFS
- RFC : 1001, 1002 (NetBIOS sur TCP/UDP en 1987)
- Version 2.2.5 en juin 2002 (3.0alpha20 au 26 Sept 2002)
- Plus rapide que windows 2000
http://fr.samba.org/samba/samba.html
http://www.linux-france.org/article/these/unix-vs-nt/
Bureautique
Logiciels libres
Logiciels propriétaires
Magazines
Dans les kiosques français :
Comment commencer ?
- Se procurer une distribution sur cédérom.
http://ikarios.com/
- Prendre une machine standard de type PC/i386
- Insérer le cédérom dans le le cteur CD
- Amorcer le système sur le CD (configuration BIOS)
- Suivre les instructions, redémarrer
- Découvrir l'environnement, se documenter
Pour les timides, essayer Linux sans installation avec la distribution
demolinux : http://www.demolinux.org
Distributions
Distributions majeures :
Article :
Commande par correspondance :
Support
Utilisateurs
Associations
Sociétés commerciales
Documentation
Sites
Livres
T1phvmn
T1phvmn
Sources
http://www.april.org/actions/rms/10111998/texte.html
http://www.aful.org/publi/transparents/nancy.html
http://www-rocq.inria.fr/~mentre/Libre/
http://www.cyut.edu.tw/~ckhung/resource/linux_ports.html
http://www.leb.net/hzo/ioscount/
http://www.netcraft.com/survey/
http://counter.li.org/
http://www.linux-france.org/article/pro/entrepreneur-howto/
http://www.oreilly.com/catalog/samba/
http://www.linuxdoc.org/HOWTO/Commercial-HOWTO.html
http://www.linuxdoc.org/HOWTO/Consultants-HOWTO.html
http://www.linux-france.org/article/pro/annuaire/
http://www.linux-france.org/article/lbiz-fr/
http://www.dwheeler.com/sloc/redhat71-v1/redhat71sloc.html
http://people.debian.org/~jgb/debian-counting/counting-potatoes/
http://www.linux-france.org/article/timeline/
file:/usr/src/linux
Gilles LAMIRAL
2003-09-25