Cyril Chaboisseau
Observatoire Européen de l'Audiovisuel
Linux en Entreprise
Cet article présente une expérience intéressante de mise en oeuvre du système d'exploitation Linux dans le cadre d'une Entreprise.
-----------
Voici brièvement une description de l'Observatoire Européen de l'Audiovisuel où s'est déroulée cette mise en oeuvre :
Créé en décembre 1992, l'Observatoire européen de l'audiovisuel est un organisme de service public consacré à la collecte et à la diffusion de l'information sur l'industrie audiovisuelle (cinéma, télévision, vidéo, nouveaux médias) en Europe. 34 Etats européens en sont membres ainsi que la Commission européenne. Fondé sous les auspices de Eurêka Audiovisuel, l'Observatoire fonctionne dans le cadre d'un Accord partiel élargi du Conseil de l'Europe et remplit sa mission avec un réseau de partenaires, de correspondants et d'organismes professionnels.
L'auteur de cet article, Cyril Chaboisseau, occupe le poste de responsable informatique à l'Observatoire, mais son travail (très large) pour l'instant consiste en fait a définir les orientations et les choix techniques et politiques concernant l'informatique bien sûr (serveurs, postes clients, réseaux, Internet, développement internes etc.).
De par sa formation d'ingénieur et par souci de service envers les utilisateurs, il passe beaucoup de temps à installer, configurer et aussi résoudre les problèmes.
Ses précédents postes d'ingénieurs/administrateurs système Unix lui ont permis d'être en contact avec des environnements aussi divers que variés :
La Française des Jeux, fournisseur de service Internet, société de service (intervention et formation sous Unix et plus particulièrement Digital), monde bancaire et assurances (Cardif, groupe Paribas).
------------------------------------------
------------------------------------------
------------------------------------------
Cyril Chaboisseau =96 tél. +33 (0)3 88 14 44 09 / Fax +33 (0)3 88 14 44 19
mailto:Cyril.Chaboisseau@Obs.CoE.int http://www.obs.coe.int/
--------------------------------------------
--------------------------------------------
--------------------------------------------
Avant propos
Linux est un système d'exploitation qui a été lancé en 1991 par Linus Torvalds, un étudiant Finlandais de l'Université d'Helsinki comme un projet destiné à programmer une version allégée d'un système à partir d'un noyau Minix. Il s'est très rapidement constitué une communauté de développeurs qui ont commencé à prendre les logiciels libres de l'époque (tout les produits GNU de la
FSF) et ont adapté le système à ces outils en rajoutant les drivers nécessaires à leur utilisation sur des PC compatibles. Depuis, cet OS a été adapté sur des machines complètement différentes (tout type de PC (Intel 386 jusqu'au Pentium II, AMD, Cyrix avec ou sans coprocesseur), Apple (68000 et PPC), Alpha (Digital) et Sun (Sparc) en 64 bits, Silicon/SGI (MIPS) et aussi sur des Amiga, Atari (68k), Archimede (Acorn), et même Nitendo64 ou VAX.Techniquement, Linux est une implémentation gratuite d'Unix (System V d'AT&T et BSD de Berkeley en restant conforme à la norme Posix), complètement re-développé sans emprunté aucune ligne de code ailleurs (même pour les documentations ou les =91man') avec toutes les fonctionnalités des systèmes modernes : multi-tâche préemptif et multi-utilisateur, mémoire partagés et protégée entre les différents processus, gestion SMP (plusieurs processeurs), pagination sur disque (mémoire virtuelle), bibliothèques partagées (DLLs) etc.
Si Linux a connu autant de succès, c'est surtout grâce à un terrain favorable (volonté d'un système puissant de type Unix sur des machines abordables PC ou Mac), a un media (l'Internet) dont il a emprunté la philosophie, les méthodes de distributions et de communications lui permettant des mises à jours fréquentes et une évolution sans pareil.
Malgré un développement qui peut paraître chaotique (pas de gestion centralisée), Linux bénéficie d'un support massif dans l'Internet qui n'a rien a envié à d'autres structures commerciales par sa promptitude à réagir et à corriger les problèmes aussi spécifiques soient-ils.
Mais c'est surtout en réaction à des abus de la part de certains éditeurs qui profitent de leur position dominante qu'est née ce mouvement destinée à offrir une solution alternative. En effet, à côté des guerres de standards qui freinent depuis plusieurs dizaines d'années les évolutions informatiques parmi les différents éditeurs de logiciels, Linux reprend les normes développées sur l'Internet et connues de tous pour les intégrées au mieux dans le système.
Anomalies dans le fonctionnement et la politique pratiquée par Microsoft :
On trouve aujourd'hui Linux souvent installé dans de petites structures comme les grandes entreprises ou banques sur un poste isolé ou bien en réseau parmi d'autres gros systèmes où il s'intègre parfaitement. Les différentes utilisations que l'on retrouve sont :
Client:
Serveur:
Ces types d'utilisations sont bien sûr que les plus courant parmi beaucoup d'autres utilisations que l'on peut faire avec ce système qui pour certains domaines (la programmation par exemple), en fait un environnement idéal. Les utilisations moins courantes de Linux sont : système embarqué (ascenseur, voiture), machine outils (
Lectra Systèmes à Bordeaux), serveur téléphonique, reconnaissance d'écriture (sur les enveloppes par la poste américaine), mur d'images.
Linux peut maintenant se prévaloir d'une réelle stabilité afin de concurrencer sérieusement un serveur NT sur presque n'importe quels services.
Beaucoup d'acteurs participent au développement et à l'évolution de Linux, mais aussi à sa distributions, aux services associés et à l'utilisation du système :
Selon une récente évaluation de la part de RedHat, il semblerait que le nombre d'utilisateurs tournait autour de 7,5 millions en mars 1998 (en 4 et 10 millions d'après l'article "
Sizing the Linux market "). Il est évident que ce type de comptage est assez imprécis compte tenu de la difficulté de dénombrer des utilisateurs qui n'ont pas l'obligation de se référencer et surtout dû au fait qu'à partir d'un CD à $2, un acheteur aura ainsi la liberté de faire des centaines d'installations du système sur un parc de machines pour le même prix.
Linux à l'Observatoire Européen de l'Audiovisuel
L'Observatoire Européen de l'Audiovisuel (organisme international dépendant du Conseil de l'Europe composé de 10 personnes) s'est doté d'un serveur Unix (Linux) pour remplacer une partie des services en interne qui tournaient auparavant sur
Novell sans pour autant changer les habitudes pour les utilisateurs qui gardent des postes Windows 95/NT.Même si certaines barrières peuvent apparaîtrent pour un tel changement, il faut quand même se doter de temps pour graduellement "migrer" petit à petit les différentes applications.
Quand je suis arrivé à l'Observatoire, cela faisait plus d'un an qu'il n'y avait pas eu de responsable informatique à plein temps et une refonte du système était plus que nécessaire.
Les premières dispositions ont consister changer le fournisseur de service à l'Internet (Renater à l'époque) qui était plutôt cher en terme de connexion Transfix et d'abonnement avec une qualité de service moyenne lorsque l'on consultait les sites non scientifiques. Après avoir comparer les différents prestataires sur Strasbourg, il est apparu que la société
CyberCâble (filière de la Lyonnaise des Eaux), semblait être la meilleure solution en termes de bande passante et de coût (étant déjà connecté au câble, la ligne Transfix devenait inutile). Il est à noter que ce type d'accès n'était pas encore répandu à l'époque, surtout en ce qui concerne notre propre hébergement (notre serveur web est disposé dans les locaux pour des raisons pratique de mise à jour, ce qui nécessite le téléchargement de plus de 100Mo compressé à chaque fois).Cela s'est fait en même temps qu'un changement du nom de domaine (auparavant obs.c-strasbourg.fr) vers une représentation moins dépendante du fournisseur (c-strasbourg.fr étant le domaine du
CNRS à Strasbourg). Mes recherches se sont alors tournées vers le domaine =91int' utilisé par les organismes internationaux comme la Commission Européenne et un sous domaine pour le Conseil de l'Europe a finalement été accepté et mis en place.Entre-temps, la première machine Linux a été déployée (un 486/33Mhz avec 16Mo de RAM et 100Mo de disque dur) pour décharger le serveur NT qui lors de la préparation du serveur Web ne pouvait plus répondre aux requêtes DNS et empêchait ainsi toute navigation vers l'extérieur (chaque nouvelle connexion passait par la résolution du nom de la machine demandé en une adresse IP). Cette machine remplit encore aujourd'hui parfaitement son rôle et à part quelques pannes de courants, aucun redémarrage ni aucune attention particulière est nécessaire (à part la mise à jour DNS ou DHCP lors d'ajouts de nouvelles machines).
Une autre machine à peu près équivalente joue le même rôle de serveur DNS secondaire à l'extérieur du réseau privé de l'Observatoire avec la seule différence qu'elle est mise à jour un peu plus régulièrement pour tout ce qui concerne la sécurité (une commande à passer pour mettre le patch sans avoir forcément besoin de la redémarrer).
De gros besoins se faisait sentir en ce qui concernait le changement de l'infrastructure informatique :
Lors du choix et de l'installation de la machine qui devait remplacer le serveur Novell, plusieurs contraintes devaient être prises en compte :
Une fois prise la décision d'abandonner le serveurs Novell, la gestion des comptes, des scripts de connexion, des imprimantes devait être reprise sans que l'utilisateur ne se rende compte de rien (créer des comptes réseaux avec scripts de connexion permettant une configuration centralisée des utilisateurs sur le nouveau serveur).
Partant de ces constatations et avec l'expérience Unix de mes précédents postes, j'ai décidé de remplacer le serveur Novell par une nouvelle machine qui restant dans la logique de connexion à l'Internet (TCP/IP), pouvait répondre à toutes ces attentes avec une ouverture sur le monde Windows grâce au logiciel samba.
Ce produit permet en effet d'offrir aux machines Windows 3.1, 95 ou NT (de même qu'Apple, Novell ou bien n'importe quel client Netbios) un accès aux ressources réseau tel que disques, CD-Rom, imprimantes. Cela permet surtout de se comporter comme un véritable serveur NT (sauf quelques points comme PDC ou BDC à cause de la non publication de la part de Microsoft des spécifications de réplications) avec en plus la possibilité de changer beaucoup plus de paramètres et donc d'avoir un meilleur contrôle.
Il a été décidé de se procurer une machine à priori Unix avec comme critère indispensable qu'elle ait une disponibilité suffisante (résistance aux pannes), un espace de stockage qui puisse subvenir aux besoins pendant longtemps, un système de sauvegarde adéquat et un accès réseau au moins à 100Mb/s.
Grâce à ma connaissance du système Linux que j'utilise depuis longtemps à titre personnel, mais que j'ai également utilisé dans certaines entreprises dans lesquelles j'ai eu l'occasion de faire des interventions, le choix s'est porté très rapidement sur Linux.
Une alternative s'offrait : soit choisir d'acheter la machine chez notre distributeur habituel qui n'avait pas une expérience prononcé dans cet Unix et faire l'installation, la configuration (la maintenance en quelques sorte), soit m'adresser à une société qui soit capable de me fournir ce type de prestation.
Après des recherches, la société
Alcôve s'est avérée la plus à même de répondre à mes besoins. Elle a réalisé l'intégration, l'installation et la livraison de la machine, ainsi que la maintenance logicielle et le support que l'on retrouve de toute façon très rapidement et gratuitement sur Internet, mais pour une entreprise, ça pourrait être une erreur stratégique que de vouloir effectuer la maintenance tout seul.On peut regretter en France le peu de sociétés qui ont décidé d'offrir un service autour du système Linux contrairement aux Etats-Unis ou bien à l'Allemagne, mais cela est sûrement dû à la crainte d'investir sur un marché encore méconnu et dont on ne connaît pas encore l'évolution avec précision.
Le constructeur choisi par Alcôve est Getek, un fabricant français qui est également impliqué dans une intégration de ses machines avec Linux.
La carte contrôleur SCSI
RAID a été choisie par ce dernier car elle a bénéficié du choix d'un constructeur "ouvert" dans son développement avec le monde Linux/Unix. Même si Linux peut tourner très bien sur un grand nombre plate-forme différentes (et des machines dites " bas de gamme "), un serveur à base de bi-processeur, doit respecté certains critères précis en ce qui concerne le choix des composants (mémoire, disques, contrôleur) qui peut avoir de lourdes conséquences pour une utilisation où la moindre interruption est pénalisante pour les utilisateurs ou la société.
Concernant l'installation logicielle, les outils de partitionnement et configuration du RAID physique ont du être établis à partir d'outils sous Windows/DOS, ce qui a nécessité l'installation d'un autre système en plus de Linux. Tant que les constructeurs ne développeront pas leurs programmes sous Linux, dans certains cas de figures (très rares), il est encore obligatoire d'avoir une partition DOS/Windows pour ce type de problème.
Tous les outils de partitionnement (fdisk), configuration (dumpe2fs, tune2fs) travaillent sans problème au dessus de l'espace logique RAID qu'offre la carte.
J'ai été également très agréablement surpris par le fait qu'une ou deux fois, la machine s'étant arrêté suite à une panne de courant, et malgré mes craintes quant à la consistance du système de fichier, le redémarrage s'est effectué sans problème après un checkdisk qui a duré certes longtemps mais surtout à cause de la taille de l'espace (5 Go) et de la mise en place les quotas (tout recalculer).
Pour les performances, 16Mo de cache font une réelle différence (on peut mettre jusqu'à 64Mo ECC sur la carte mais cela coûte vraiment très cher puisque c'est de la mémoire propriétaire).
J'estime le cache indispensable dans ce type d'utilisation pour améliorer les performances de façon sensible (ce qui est très bien expliqué dans la documentation fournie avec la carte).
Pour l'instant, les disques sont tous utilisés, mais pour des raisons de reconstruction " à chaud ", il est possible de rajouter un disque supplémentaire en " hot spare " (ce qui sera fait prochainement). De même, il est possible avec cette carte RAID et un boîtier spécifique de changer les disques lors d'un problème et ce sans arrêter le système.
Sans réellement avoir eu des problème de fonctionnement, la carte réseau assez récente a tout de même nécessité la récupération et recompilation des derniers drivers à jour dans l'unique but de bénéficier d'une plus grande stabilité mais aussi de meilleures performances par rapport à ceux qui sont intégrés directement dans le noyau.
La configuration de la machine étant assez "à la pointe" technologiquement compte tenu de l'époque où elle a été commandée (bi Pentium II, chipset LX, bus AGP, carte réseau Dec Tulip à 100Mb/s etc.), l'utilisation volontaire du noyau Linux dit "stable" a parfaitement convenu. Bien que certains sites tournent sans aucun problème avec les dernières versions de développement (2.1.x)), j'ai décidé d'attendre la version 2.2 malgré le fait que certains composants ne sont pas tout à fait reconnus mais ce qui ne gêne en rien le fonctionnement normal du serveur. Tout au plus, pourrait-on "soupçonner" le système de ne pas utiliser au mieux les ressources, qui sont bien mieux exploitées que la plupart d'autres OS.
La société qui m'a vendu la machine ayant de fortes compétences sur la
Debian (la personne qui est intervenue est développeur Debian), m'a conseillé et a installé cette distribution. N'ayant aucune connaissance de cette version de Linux, je n'ai eu néanmoins aucun mal à m'y adapter.Les seuls reproches que l'on pourrait faire à la Debian est un finition trop poussée, qui en fait une version de Linux certes très stable mais pour l'instant plus difficile à maîtriser et qui accumule les retards (un moins grand nombre de personnes y contribuent ainsi que beaucoup moins d'utilisateurs rendent la version 1.3.1 moins à jour par rapport à la 5.0 de
RedHat (qui inclut la glibc-6) à la popularité très grande même dans les cercles de non-initiés).
Le prix de la configuration peut paraître un peu cher pour une configuration Linux, mais il faut remarquer que cette machine n'a vraiment rien à voir avec un poste client et que certains des éléments qui la composent (Raid 5 + cache, bi-pro, disques) coûtait assez cher à l'époque où elle a été achetée et que les prix ont tendances a baisser avec le temps.
La raison principale du coût élevé de la machine est principalement dûe au prix exorbitant de la carte RAID
DPT et des composants :ce qui fait qu'à lui seul, le RAID compte pour la moitié du prix de la machine (45000F), pour une sécurité des données et des performances certes irréprochables.
- Configuration du serveur.
Bi Pentium II Intel à 266Mhz avec 512Ko de cache + 256Mo de SDRAM 64 bits
Carte mère chipset Intel 440LX, 5 slot PCI, 2 ISA, 1 AGP, contrôleur Ultra-DMA (non utilisé)
Contrôleur SCSI RAID DPT 3334UW (Ultra Wide avec 16Mo de cache ECC sur la carte)
2 disques 2,2Go de boot et système en RAID-1 (mirroring)
4 disques 9,1Go ST19101 (Seagate cheetah) en RAID-5 (27Go logique)
CD-ROM SCSI et lecteur DAT SONY 24Go sur carte SCSI Ncr53c810
carte réseau 100Mb/s de type Dec Tulip
carte vidéo S3 ViRGE 2Mo (machine serveur donc pas d'utilité réelle)
91500 F HT complète (sans écran) avec installation (2 jours) et livraison sur site + garantie 1 an
système + documentation + 1 logiciel de sauvegarde (
Arkeia, valeur 1500 F)
Le prix de la maintenance/garantie annuelle que pratique cette société est en rapport avec les tarifs que l'on trouve sous Linux : 1500 F/an alors qu'un autre constructeur aurait facturé beaucoup plus pour la même machine.
Tous les logiciels sont libres, excepté le logiciel de sauvegarde qui possède une licence (une version gratuite existe mais est un peu plus limitée, et ne convient pas réellement à une utilisation en entreprise mais plutôt à un usage personnel).
Ce logiciel de sauvegarde a été choisi à cause de sa facilité et un confort d'utilisation mais aussi pour son ergonomie car les utilisateurs pourront avoir à faire eux-mêmes des récupérations (et ils n'ont qu'une compétence Windows), et surtout pour la possibilité de le commander à partir d'un poste Windows via une interface développée en Java.
Un logiciel de base de données à été prévu pour tourner au début sur cette machine, mais le support de l'application qui utilise la base étant restreint à
Oracle, Sybase et SQL server, cette configuration a dû être reporté pour plus tard. Comme seul Oracle aurait pût convenir pour tourner sur Linux (la version SCO grâce au module d'émulation binaire iBCS), et que pour des raisons de maintenance cela était plus difficile, la base de données fonctionne pour l'instant sur NT (une plus grande connaissance dans la gestion administrateur du produit serveur d'Oracle était nécessaire sans avoir d'administrateur de bases de données disponible à l'Observatoire).En attendant tant du côté de l'application (GED) qui devrait supporter Informix que du côté Linux, on peut quand même imaginer que Linux puisse voir un jour tourner la base en local.
Néanmoins, une autre application d'annuaire interne et qui utilise une base de donnée via une interface ODBC devrait par contre être utilisée directement sous Linux.
La première application pour laquelle ce serveur a été acquis, est une utilisation en tant que serveur de fichiers et imprimantes (
samba) et base de données principalement, et accessoirement serveur de test Web interne (apache), DNS/Wins/dhcp, mail (pour une gestion des listes de diffusions), serveur de temps (ntp). Cette machine se trouve bien sûr en interne derrière un firewall ce qui la rend totalement inaccessible de l'extérieur.Le serveur de fichiers est le service le plus utilisé par un logiciel de GED installé sur les postes clients (Win95/NT). Ce logiciel sert à stocker les fichiers (Word et Excel) sur le serveur samba qui est vu comme une machine NT. Les applications sont aussi lancées à travers le réseau par l'intermédiaire d'un répertoire partagé qui héberge tous les programmes du site. Chaque utilisateur possède aussi son propre répertoire réseau dans lequel il met ses fichiers et ses données.
Le serveur qui était utilisé précédemment est un serveur Novell 3.12 en accès IPX/SPX, avec une base de données Sybase (4.2.2) et une application serveur de fax ainsi qu'un logiciel de compta.
L'intérêt de cette migration m'a permis de me débarrasser d'un protocole (IPX) sur les postes clients Windows au profit de TCP/IP qui était déjà utilisé pour l'accès Internet.
De plus, la puissance d'une telle machine permet de bien meilleures performances lors des accès et surtout plus de services que le serveur Novell ne pouvait en contenir tant en terme de rapidité que de place disque disponible.
- Problèmes d'implantation d'applications existantes.
Le temps ne m'a pas encore permis de transférer la base Access (sur Novell/Sybase) sur le nouveau serveur car cela nécessite des tests poussés afin de valider la compatibilité. Mais j'espère pouvoir le faire courant 1998 ainsi que bien d'autres choses !
L'installation n'a nécessité aucun terminaux supplémentaire, seulement une dizaine de machines sous Windows 95/NT 4 workstation utilisent ce serveur en permanence (heures ouvrables de la journée).
Aucune formation n'a dû être dispensée aux utilisateurs puisque les applications n'ont pas changé=2E
J'ai seulement dû montrer à 1 ou 2 utilisateurs comment pourvoir récupérer les fichiers avec le logiciel de sauvegarde quand je ne suis pas là et qu'il y a une perte de fichier.
Benchmark :
"Bêtement" (comme son nom l'indique), la machine avec les 2 processeurs donne 534.12 Bogomips (2 x 267.06)
Byte bench (nbench.elf v2 10/95) affiche un résultat de 4.060 en entier et 3.284 en flottant par rapport au
Dell Pentium 90Mhz de référence (ce résultat est donné sans aucune re-compilation du source (fourni tel quel) et avec tous les processus système/démons/window manager qui tournent). Comme c'est une machine bi-processeur, le noyau est compilé avec cette option et nbench n'est pas du tout parallèlisé, en lançant 2 fois le programme, on obtient le même résultat, ce qui montre qu'elle gère au mieux la montée en charge dès que l'on a plusieurs programmes qui tournent ensemble.Pour les
tests disques et entrées/sorties, j'ai utilisé bonnie et iozone (IOStone donne 2 millions de iostones/s à cause du cache).Les résultats sont peu probants (26Mo/s) si l'on n'utilise pas des tailles importantes (100Mo) à cause du cache de la carte contrôleur. Il faut vraiment pousser les tests avec de très gros fichiers (plusieurs dizaine de megas) afin de "sortir" du cache et avoir des résultats plus vraisemblables (avec le risque de tomber alors dans des excès qui ne correspondent plus à la réalité d'une utilisation en production).
Les "
bench" ne pourront jamais remplacer une utilisation réelle de la machine pour laquelle elle a été installée. De plus, un tunning peut dans certains cas augmenter grandement les résultats, performances et temps de réponses des applications=2E Sa capacité à s'adapter à d'autres architectures est d'autant plus grande, que Linux vient d'être adapter en 64 bits sur les machines à base de processeur Sparc, et que le système est beaucoup plus rapide que celui de Sun Solaris (voir la comparaison avec le benchmark de Byte, BYTEmark).Dans le cadre d'une utilisation soutenue, il convient de ne pas oublier de faire aussi évoluer les équipements réseaux (un commutateur ou switch) ce qui apporte une amélioration notable lors de l'utilisation d'une carte 100Mb/s même avec des clients à 10Mb/s).
Linux contre NT
Le choix de Linux par rapport à NT devient une évidence lorsque l'on recense ses nombreux avantages.
Avantages :
Les deux principaux points forts de Linux sont le caractère ouvert et évolutif du système (Unix norme Posix avec les points forts SysV et BSD) et la licence (
GPL de la FSF) qui lui confère une gratuité non négligeable ainsi qu'une liberté totale d'utilisation.
Prix, performances et stabilité sont autant d'atouts pour Linux et les raisons pour lesquelles les clients vont vers ce système dans un premier temps.
Sa capacité à "coller" aux standards en vigueur sur l'Internet et à y participer activement (Unix ayant historiquement toujours été très imbriqué avec le protocole TCP/IP), et même tous standards pour peu qu'ils aient leur spécification publique.
Inversement, Microsoft a toujours eu une approche plus distante dans l'élaboration de protocoles et en générale, la façon qu'ils ont d'aborder le problème diffère fondamentalement :
Sa rapidité à évoluer et s'adapter aux évolutions ou bugs qui minent tous les systèmes (
Ping 'O Death, bug Pentium f00f, trous de sécurité...).
La licence GPL (GNU Publique Licence) crée une dynamique en offrant les sources des auteurs qui restent protégés grâce à elle et permet en outre une distribution commerciale. Cette ouverture du code source fait de Linux un système non bridé par rapport à des restrictions de type nombre d'utilisateurs, nombre de connexions, durée de vie, ce qui finalement grève les performances et empêche toutes possibilités de tunning de la machine.
Dans cet article, le terme "logiciel ouvert" désigne les programmes et applications qui sont développés sous une licence de type GPL dont il sera question plus loin. Cette désignation reprend celui du logiciel libre (ou free software). On l'a rebaptisé pour lever l'ambiguïté qui subsistait entre les programmes shareware ou bien domaine public et les logiciels ouverts. Tous deux sont bien entendu très différents des programmes à licence commerciale.
Il faut bien faire la différence entre les programmes :
- domaine public
- shareware
- licence commerciale
- open software (logiciels ouverts anciennement informatique libre ou "free")
Tout d'abord, les logiciels relevant du domaine public sont en général des programmes très courts sans grand intérêt pour leur auteur qui par cette action se désolidarise de leur création en les plaçant dans le domaine public. Libre à chacun par la suite d'en faire ce qui lui plait, sans qu'aucune responsabilité ne soit mise en cause. Un éditeur ou un programmeur peut l'utiliser à sa guise : s'en inspirer pour une création personnelle ou bien l'intégrer tel quel au sein d'un système complet. L'auteur du programme a renoncé à sa propriété intellectuelle en mettant son programme dans le domaine public (comme pour une musique au bout d'un certain temps).
Ensuite, les shareware ont un côté biaisé : l'auteur par cette action essaye de faire connaître son programme (éventuellement en demandant une compensation financière très modeste selon son utilisation, c'est à dire une utilisation commerciale ou un usage personnel limité). Le programme est distribué presque exclusivement sans les sources, n'apportant aucune garantie à l'utilisateur. Ce dernier doit donc se fier aveuglément à un programme aux sources quelquefois douteuses (aucune entreprise ne peut lui fournir un support ou bien assurer un suivi en cas de problème). Ce type de licence sert en général de tremplin pour de petites applications qui, si elles marchent, peuvent éventuellement se transformer en logiciels plus conséquents évoluant vers une licence commerciale ; mais il ne faut pas rêver, cela n'arrive presque jamais et les auteurs abandonnent souvent leur création au bout d'un certain temps. Cela peut aussi servir à leurs auteurs pour se faire remarquer par une plus grosse structure qui chercherait un développeur.
Les logiciels commerciaux (les plus connus à cause de la publicité qui est souvent faite autour du produit), quant à eux possèdent une licence qui peut avoir plusieurs limites (limite dans le temps pour les versions de tests, dans le nombre d'utilisateurs ou de connexions simultanées qui sont faites, dans les capacités de traitement (Windows NT Workstation) qui empêchent tout paramétrage (tunning) etc.). Il va sans dire que chaque éditeur peut rajouter les clauses supplémentaires qui l'arrange. Par contre, pour des raisons compréhensibles compte tenu de la complexité des logiciels, aucun éditeur de ce type de programme ne se risquerait à garantir une quelconque et illusoire stabilité face aux possibles bugs et plantages, mais garantit plutôt un support à son utilisation et un interlocuteur qui pourra enregistrer les différents problèmes pouvant subvenir et, qui sont en général corrigés à plus ou moins longue échéance.
Ce type de licence n'est pas incompatible avec un prix nul (ex. Netscape au début et IE maintenant). Toutefois il ne faut pas se leurrer : cette pratique n'est jamais gratuite (le système Windows 95 n'étant pas gratuit, le prix d'IE en fait sûrement partie). Elle sert surtout à imposer un logiciel afin de tuer la concurrence.
Le plus gros reproche à l'encontre de la licence commerciale est le plus souvent son prix (quelquefois prohibitif) qui exclut une grande partie des utilisateurs (quand elle ne pousse pas au piratage) et finalement fait entrer le couple distributeur/client dans une logique de mise à jour perpétuelle (implique perte de temps, argent etc.).
Certaines pratiques de la part d'éditeurs de système ont montré (surtout par le passé) une certaine propension à la rétention d'information à l'aide de fonctions non documentées ou cachées. Cela a permis à ces dernier de proposer une offre applicative plus performante (puisque basé sur des appels au système plus performants) ce qui nuit grandement au choix offert (offre logicielle unique) et donc à la concurrence qui pourtant favorise les évolutions.
Enfin, le logiciel ouvert tente d'apporter une solution à toutes ces licences en prenant la meilleure part de chacune pour le bénéfice de l'utilisateur (le programmeur n'étant pas non plus complètement perdant dans l'affaire, sinon personne n'aurait intérêt à l'utiliser).
Points forts de la GPL :
La GPL a permis de transformer les restrictions en avantages en utilisant le principe de la licence à rebours.
L'auteur garde l'entière propriété intellectuelle de son "oeuvre" par rapport au domaine public tout en "dévoilant" son code source afin de permettre un meilleur support et une correction très rapide en cas de problème. Des améliorations peuvent également être effectuées par d'autres programmeurs apportant leur contribution pour le bénéfice de tous.
Les distributeurs "tombent" sous le coup de la licence. La distribution des produits est ainsi garantie aux meilleurs prix, puisque si un éditeur vend trop cher une distribution, un autre pourra vendre la même chose (avec éventuellement d'autres programmes ou documentations) à un prix plus bas.
S'il s'avérait qu'un auteur ait dans l'idée de rejoindre une société qui l'embaucherait pour continuer à faire évoluer son logiciel, la licence permettrait alors à d'autres personnes de reprendre le développement du logiciel au stade où l'ont laissé son ou ses prédécesseurs. L'auteur peut bien sûr reprendre la partie qui lui revient pour en faire un produit commercial. Ce cas de figure s'est déjà présenté et garantit une gratuité du logiciel dans le temps. A l'inverse, d'autres produits sont devenus payants à cause de leur popularité (Netscape au début) ou bien pourrait le devenir selon le bon vouloir de Microsoft par ex. (IE).
La GPL pose tout de même quelques inconvénient. Elle n'apporte aucune garantie sur le fonctionnement du logiciel et pour cette raison, les entreprises hésitent bien souvent à utiliser de tels programmes (le rapprochement est vite fait avec le shareware).
Néanmoins, le but de la GPL n'est pas d'apporter des garanties (souvent illusoires quand on remarque que n'importe quel éditeur est à la merci de bugs), mais plutôt de pousser à une diffusion efficace des programmes et surtout de se protéger juridiquement.
Les distributeurs sont donc libres d'offrir ou non cette option et le font de plus en plus (RedHat, Caldera ou Cygnus).
Linux se développe en 2 temps :
Tout d'abord grâce au très grand nombre de développeurs et grâce au coté ouvert, le produit avance beaucoup plus vite que n'importe quel logiciel commercial. Cette ouverture permet au système d'évoluer rapidement sur plusieurs plates-formes matérielles différentes, ce qui renforce sa stabilité et celle des applications qui tournent dessus. Aucun autre éditeur ou constructeur ne peut se prévaloir d'avoir été porté sur autant d'architectures différentes.
Des distributeurs décident ensuite d'accorder leur confiance à Linux, l'aident et le font évoluer en offrant un package complet (distribution avec un choix d'applications, et bien souvent une licence et un support).
Deux types de support sont possibles avec Linux :
L'accès au code source permet à une catégorie restreinte d'utilisateurs (que l'on peut qualifier de passionnés) de faire eux-mêmes ce support et en général, beaucoup de documentation existe pour ceux qui désireraient se mettre au développement (écoles pour les projets, laboratoires, entreprises pour développer leurs pilotes de périphériques ou programme etc.).
Il existe ensuite des documentations diverses et très fournies qui sont livrées avec le système (
HOWTOs) régulièrement mises à jour et traduites dans beaucoup de langues. Ce type de documentation suffit souvent à la majeure partie des utilisateurs qui ont "franchi le pas" en faveur de Linux depuis quelques temps et sert de références aux nouveaux qui n'en ont pas toujours connaissance et préfèrent utiliser une aide rapide et efficace en ligne.Mais le support le plus utilisé aujourd'hui est celui qui est disponible et très actif sur Internet via le mail, les
news ou IRC qui permet à chacun suivant son niveau ou le type de la question, de poser son problème et d'avoir une réponse dans les heures ou jours qui suivent selon le type de problème (dans certains cas, les auteurs du système, drivers ou programmes pourront éventuellement si besoin est, écrire un correctif qui pourra être rajouté tout de suite et ainsi bénéficier à tous !). Ce type d'évolution qui accélère le processus de correction/amélioration/retour est très innovante et n'est possible que grâce à l'Internet (et au fait qu'une entité centrale n'a pas besoin de tout vérifier jusqu'aux licences qui sont vendues, ce qui rend le comptage des utilisateurs presque impossible) ; un article très intéressant fait la comparaison entre Unix (Linux) et le sex ou les croisements/évolution des gênes humains.
Enfin, le support aujourd'hui en plein essor est celui effectué par les entreprises qui distribuent Linux. Ce support est équivalent voire de meilleure qualité que celui offert par les autres systèmes. Il bénéficie en effet d'un potentiel correctif considérable grâce au code source et permet à ceux qui le désirent d'être en contact avec les auteurs mêmes du système. L'avantage de ce dernier support en général via mail, fax ou même par téléphone 24/24h, est qu'il joue en fait un rôle de tampon (ou cache/proxy pour reprendre un terme lié à l'Internet). Cela permet d'offrir un service de qualité aux entreprises, assuré par des personnes compétentes qui font elles aussi évoluer les logiciels en répondant aux questions d'utilisateurs et en permet des corrections rapide mais aussi de nombreuses améliorations=2E (
Cygnus est une société qui propose ce type de prestations depuis déjà 7 ans sur le compilateur gcc utilisé avec Linux). Ce type de service qui va fleurir de plus en plus en plus en "marge" d'une offre gratuite sur Linux, montre que certaines sociétés pourront offrir une réelle offre commerciale totalement compatible (et même quelque fois nécessaire) avec ce qui est proposé.
Un support constant et rapide sur Internet est assuré sur Internet avec depuis peu la possibilité d'avoir des sociétés de services qui offrent un vrai contrat de maintenance ou un service (intervention, développement de drivers), pour un coût bien moindre comparé à d'autres constructeurs.
La force de Linux est due au fait qu'il a atteint une popularité telle qu'il est impossible désormais de le mettre à mal ou de le racheter (comme certains le font souvent lorsqu'il leur manque une compétence ;-) justement grâce à la licence non restrictive qui le protège tout en aidant à son développement. Considérant la lenteur des éditeurs à résoudre les problèmes ou bugs ou un support qui se borne à faire payer l'appel pour finalement se faire entendre dire que le bug est connu et qu'il sera éventuellement corrigé dans la prochaine version qui sera elle aussi payante, le support est la à l'avantage de Linux sans aucune commune mesure (les mises à jour
RedHat ou de n'importe qu'elle autre distribution sont permanentes et gratuites).La société ne rentre finalement plus beaucoup en ligne de compte lorsque l'on voit que même
IBM (numéro 1 quand il s'agit du service et du support), n'est plus en mesure de supporter son système phare OS/2 (alors que tout le monde s'entend pour dire qu'il était même plus avancé technologiquement que son concurrent direct) face au géant Microsoft qui ne progresse que grâce à une puissante force marketing et des pratiques douteuses que l'on commence seulement à lui reprocher. Alors que même le système Dos est aussi abandonné par son éditeur et que des société veulent compter sur un système pendant plusieurs années, il ne reste plus qu'à ces derniers de s'appuyer sur Linux ou tout autre OS dont les sources sont fournies pour avoir ce support (même s'il faut engagé des programmeurs qui pourront toujours avoir accès au code).
Aujourd'hui cependant, Linux n'est en aucun cas en concurrence avec Windows (et d'ailleurs, ce ne sont pas les aficionados de Linux qui vont vers Windows mais plutôt le contraire). Les Unix commerciaux par contre se trouvent entre les feux croisés de Windows NT et Linux (voir à ce sujet une
étude du Gartner Group sur l'avenir d'Unix contre NT et la montée de Linux).
Une utilisation de machines très peu puissantes pour des services constants qui auraient demandé une nouvelle machine sur les systèmes vendus actuellement. Cela m'a permis de réutiliser un 486 pour faire tourner un serveur DNS/dhcp car le serveur NT ne suffisait plus à cause d'un service interne (prépublication web) gourmand en ressources.
L'intérêt concernant la possibilité d'utiliser Linux avec des machines dites "bas de gamme", est sa capacité de supporter plusieurs services en même temps ce qui est très pratique en terme de déploiement (il n'est bien sûr pas recommandé de mixer production et développement)=2E Pour tirer réellement parti de ses performances (ce que font d'ailleurs beaucoup de FAI), on peut par exemple avoir sur une machine l'hébergement de plusieurs centaines de serveurs Web (avec aussi des adresses IP différentes grâce à "l'aliasing") donnant ainsi l'illusion de centaines de machines toutes différentes alors qu'une seule avec beaucoup d'espace mémoire (et le serveur gratuit apache) donne entière satisfaction pour plus de la moitié des
serveurs web dans le monde.Cela facilite la maintenance (sauvegarde, surveillance, évolution...) et grâce à une gestion optimale des ressources, en l'occurrence une seule instance partagée des programmes en mémoire, beaucoup moins de mémoire sera nécessaire.
Une modularité qui permet à un utilisateur de choisir et de configurer complètement sa machine pour l'utilisation et le look qu'il veut lui donner (il existe plusieurs dizaines de
gestionnaires de fenêtres et dans certains cas (les outils de programmation et langage), il existe beaucoup de logiciels gratuits). Cette possibilité peut être considéré comme un inconvénient car cela rend Unix (et Linux en particulier) sans réelle identité à coté de Windows tant qu'il n'y aura pas de standard graphique ou même d'administration système bien établi.
Inconvénient :
Les drivers sous Linux ont presque toujours était développés en interne par les créateurs du système et non pas par les constructeurs eux-mêmes, comme c'est le cas avec Windows ou Unix. Dès lors, la possibilité de supporter certaines cartes ou périphériques ne s'est pas toujours fait sans mal avec Linux, étant donné qu'il fallait savoir comment la carte pouvait "discuter" avec le système nécessitait un passage par des spécifications parfois difficile à se procurer :
sous couvert d'une NDA (non disclosure agreement), certains constructeurs qui ne voulaient pas les divulguer ont tout simplement empêché la possibilité de voir leur matériel supporté sous Linux à moindre frais.
De là, plusieurs solutions étaient envisageable : soit faire un travail de "reverse engeneering" très aléatoire quant aux résultats et ne garantissant pas une stabilité à toutes épreuves, soit faire le forcing auprès des constructeurs et les poussés à sortir de leur retraite en invoquant un marché potentiel inexploité (certes bien petit surtout aux balbutiements de Linux). Cette tactique à porté ses fruits puisque les constructeurs (Diamond, Matrox) ont désormais pris l'habitude de donner des informations sur le fonctionnement de leur matériel. Un grand pas sera franchi quand, enfin, ils développeront eux-mêmes leurs drivers mais cela les obligera à donner les sources.
Aujourd'hui, presque tous les périphériques sont disponibles sous Linux sans trop de problèmes, la qualité "bêta" donne lieu quelques fois à des recherches de drivers sur Internet et la recompilation dans le noyau avec les aléas que ça implique, tandis qu'une petite partie sont "non supportés" (voir
http://lil.ashpool.com/ pour une liste du matériel incompatible). A noter que Linux supporte de mieux en mieux le Plug 'n Play, mais il est tout de même fortement conseillé de le désactiver dans le bios.La meilleure solution pour l'utilisateur consiste à faire son choix de matériels en fonction de ceux qui sont le mieux supportés ce qui pousse petit à petit des constructeurs à s'ouvrir à Linux (ex. Buslogic). Bien sûr, aujourd'hui très peu de constructeurs vont encore plus loin en fournissant les programmes ou drivers pour le système, et il faut encore attendre pour voir de nouvelles cartes accompagnées des pilotes pour NT/95/Linux sur disquette.
Il existe une offre logicielle un peu plus limitée, même si elle couvre beaucoup de domaines (les produit Microsoft dans leur ensemble ne sont pas représentés sous Linux).
Même si, dans certains domaines comme le développement, un plus grand choix est offert à l'utilisateur, il n'existe pas la même offre que par rapport à Windows :
beaucoup de bases de données gratuites ou non existent sous Linux mais aucun des grands (Oracle ou Sybase) n'a fait encore le pas d'une offre avec support. Un des moyens de contourner ce problème revient à utiliser Linux en émulation d'autres OS comme les binaires Unix grâce à iBCS, et systèmes Microsoft à l'aide de
Wine et dosemu, Bochs (gratuits) ou Wabi de chez Sun (commercial) qui peut offrir dans certains cas des performances supérieures au même système en natif (surtout en ce qui concerne l'accès aux ressources (disques/mémoire virtuelle...). On peut dans ce cas faire tourner directement la version binaire Oracle pour SCO Unix.Il semblerait d'ailleurs qu'Oracle fasse déjà tourner en interne une version pour Linux en natif mais ne veuille pas la commercialiser. Tant qu'un concurrent ne fera pas cette démarche, les choses en resteront là.
L'origine de Linux (milieu universitaire) et son côté technique effraient les utilisateurs qui voient encore en lui un Unix difficile à maîtriser alors que de nombreux programmes ont rendu son utilisation plus simple et souvent beaucoup plus conviviale que les autres Unix. Au premier abord, certes, NT parait plus facile à maîtriser mais devient vite limité dans une gestion plus poussée (ou bien demande une grande expertise dans la configuration et le paramétrage), Unix offre au contraire grâce à sa transparence et à son utilisation modulaire des outils permettant une meilleure approche.
Pourquoi les utilisateurs ou les responsables systèmes perdent du temps sous Windows ?
Cette boîte noire qu'est Windows est un frein permanent au bon développement des applications mais pénalise aussi les utilisateurs et les administrateurs systèmes lorsqu'il s'agit de trouver l'origine du problème en cas de reboots trop fréquents.
Ce cloisonnement du système fait certes le jeu de Microsoft qui peut alors sortir dans un premier temps des applications qui sont en symbiose avec le système à l'aide d'appels non documentés. Mais cela oblige les concurrents à faire un double effort de recherche ou de redéveloppement de bibliothèques en double, ce qui alourdit un OS sans cesse plus gourmand en ressources. Cette façon très discutable d'éliminer la concurrence a pour conséquence d'offrir à l'utilisateur un choix unique d'applications (1 traitement de texte, 1 tableur, 1 explorateur=2E..) aux qualités techniques discutables puisque ce n'est plus la principale raison pour laquelle les clients achètent ces produits.
Le manque de sécurité du système et des applications aide au développement des virus et surtout à leur propagation tout en pénalisant les ressources, les performances du système et en faisant perdre beaucoup de temps et d'argent en arrêts système pour les trouver et les éradiquer.
NT comme tous les produits Microsoft n'évolue que grâce à la vente de licences successives toujours plus chères les unes que les autres. Néanmoins, cette escalade des versions pousse l'éditeur dans un processus qui pénalise lourdement les utilisateurs ainsi que ceux qui les installent sans compter des investissements difficilement justifiables. Des bugs supplémentaires qui ne sont pas toujours corrigés émaillent d'une version à l'autre des logiciels incompatibles entre eux et rendent encore plus confus et inaccessible le monde informatique.
Cette gestion des licences nuit aux performances du système d'exploitation, à l'efficacité des applications et à leur durée de vie. Elle empêche la configuration (tunning), limite et pénalise le déploiement et l'installation du système.
Utiliser des machines vieillissantes (ressources insuffisantes ou installation successive de programmes) nécessite une surveillance constante, ainsi qu'une myriade de produits additionnels ou une obligation de mise à jour physique et logicielle qui sont autant de coûts cachés que les utilisateurs ou entreprises découvrent à leur insu.
Compte tenu de tous ces problèmes, Linux et les logiciels ouverts en général tentent d'apporter des solutions qui conviennent à tout le monde :
Une cohérence des outils et la disponibilité des sources garantissent une pérennité qui n'est pas dictée par une logique des éditeurs poussés par la rentabilité de ventes des logiciels. Néanmoins, certaines périodes du développement (surtout lors de changements majeurs) encouragent les utilisateurs/administrateurs à faire des mises à jour mais dans le seul but d'avoir un système le mieux adapté, fiable et performant possible. Cette mise à jour est bien sûr gratuite et faite dans la plus grande transparence (compatibilité ascendante).
Qu'est-ce qui freine les performances des systèmes ?
Tout système propriétaire possède des particularités qui sont obligatoirement gérées par des machines de plus en plus puissantes afin de pouvoir communiquer entre elles (SNA/Netbios/Appletalk/IPX/SPX + TCP/IP). Ces protocoles n'apportent rien de plus en termes de performances, stabilité et capacité de déploiement comparé à TCP/IP qui est testé, éprouvé, et amélioré en permanence sur l'Internet. En outre, ils enferment l'utilisateur dans le seul but d'imposer un faux standard qui pourrait un jour prédominer sans grand bénéfice pour personne.
Ainsi le réseau Internet qui connecte des millions d'ordinateurs grâce à un protocole éprouvé a su évoluer et s'adapter en douceur au nombre grandissant de ses utilisateurs et des services qu'il procure.
Cela démontre l'avantage d'un protocole qui n'est pas contrôlé par une seule entité privée. Il peut bien mieux évoluer à l'aide de consensus (RFC) rendus publics qui autorisent la participation de tous les acteurs.
Conclusion
Aujourd'hui, Linux offre plusieurs facettes à ceux qui souhaiteraient l'installer chez eux ou en entreprises. Une pénétration du marché professionnel le crédibilise par rapport à d'autres Unix ou même à Windows NT/Novell etc. Certains n'hésitent pas à faire tourner des services professionnels (serveurs
Web, bases de données, cache web (squid), firewall) avec des configurations de plus en plus puissantes.
La dynamique Linux montre qu'une informatique totalement libre est crédible, capable d'offrir à moindre coûts des solutions plus durable en termes de maintenance, support et pérennité par rapport aux solutions payantes qui apportent aucun avantage. Il reste cependant certains points à faire comprendre aux entreprises pour une plus grande acceptabilité d'un système dont il n'ont pas encore tout à fait confiance (dû en grande partie à la crédibilité dont souffre les logiciels libres par rapport aux shareware et autres produits domaine public). Un des points vraiment important à faire passer est le choix d'indépendance vis à vis d'éditeurs en choisissant Linux comme plate-forme de développement, ce choix étant d'autant plus intéressant que les marges de manoeuvres sont plus grandes et les bénéfices plus important comparé au marché Windows saturé (et où le seul bénéficiaire est Microsoft).
La dynamique Linux arrive même à donner des idées folles aux entreprises vendant des logiciels et qui aimeraient bien canaliser ou utiliser un peu de cette énergie pour leurs propres besoins. Netscape le premier a fait la plus éclatante des annonces dans le monde du logiciel ouvert en rendant son navigateur gratuit (ce qui l'a rendu célèbre et porté au premier rang à ses débuts). C'est aussi ce que fait Microsoft avec Internet Explorer. Mais le type de gratuité "qu'offre" Microsoft (un coût pour l'utilisateur soit disant nul, mais qui est au minimum de plusieurs centaines de francs car il faut avoir au moins W95 !!!), n'est en rien comparable avec ce que propose Linux ou les programmes GNU (sous GPL) : une totale transparence et la possibilité d'une part pour ceux qui ont les compétences, de pouvoir apprendre, améliorer ou corriger les programmes pour les faire évoluer ; d'autre part, pour les autres, de pouvoir en bénéficier sans aucune contrainte tout en protégeant les auteurs du fruit de leurs efforts.
Ressources Linux
Générales :
Association Française des Utilisateurs de Linux et des Logiciels Libres (
AFUL) Linux Center (français) Linux en français Logiciels du Soleil (revendeur RedHat en Français + support payant aux entreprises) Linux France, freenix et loriaLe site ftp
lip6 de Jussieu contenant archives, docs, distributions =85Linux international Linux Enterprise Computing Catégories Linux sur yahoo Linux Web Watcher Linux journal et Linux on the Web de SSC
Documentations :
Les HOWTO Linux (traduits en français) Linux Gazette (aussi en français) Le Logiciel Libre Is learning Unix worth the time ?
News :
Nouvelles Neuves de Linux (l'actualité en français) Slashdot.org (l'info sur linux, Internet, crypto, etc.) Linux Weekly news (tout les jeudis en anglais) Freshmeat (les sorties de programmes)
Applications / logiciels / programmes (GPL et commerciaux) :
Linux Applications and Utilities SAL =96 Scientific Applications on Linux Freshmeat apps index
Autres exemples de mise en oeuvre de Linux en entreprises :
Solutions Linux pour les entreprises Replacing Windows NT Server with Linux Microsoft Windows NT Server 4.0 versus Linux
Cyril Chaboisseau
E-mail:
chaboi@club-internet.fr