Skip to main content
Background Image

Historique Unix

·2158 words
EduTiko
Author
EduTiko
Keep Cool

Histoire d’UNIX
#

Afin de mieux comprendre l’administration des systèmes LINUX il est important de faire un point sur son passé. Nous resterons tout de même bref et aborderons uniquement les grandes lignes de cette histoire.

Genèse d’UNIX
#

Cette histoire débute en 1964, à la suite de l’association de différents acteurs que sont le MIT, Bell Labs d’AT&T ainsi que General Electric, un nouveau projet prend forme sous le nom de MULTICS (Multiplexed Information and Computing Service).

Ce projet a pour but de répondre à de nouveaux besoins, avec entre autres le multiutilisateur, le multitâche, une meilleure sécurité, etc.

Développé sous un GE-645 (General Electric), le projet est jugé suffisamment stable pour passer en production. Cependant les performances sont en deçà de celles attendues.

Les développements traînent en longueur et le MIT finira seul le projet à la suite du départ de Bell Labs en 1969. General Electric, quant à lui, va vendre son département informatique à Honeywell.

GE-645
#

Ken Thompson et Dennis Ritchie, issus de l’équipe travaillant sur le projet MULTICS et collègues chez Bell Labs vont s’employer à créer un nouveau système d’exploitation sur un DEC PDP-7.

Ce système sera appelé UNICS (Uniplexed Information and Computing Service), puis plus tard rebaptisé en UNIX par Brian Kernighan.

Dennis Richie (Gauche) avec Ken Thompson (Droite) travaillant sur le DEC PDP-7

Pour des problèmes de portabilité de l’OS, Thompson et Ritchie s’associent pour créer le langage B qui ne convient finalement pas. Ritchie garde le langage B et développe le New B et avec Brian Kernighan le langage C.

Unix est donc réécrit en langage C à partir de 1973. Unix est le premier système basé sur une API écrite dans un langage évolué et non en assembleur.

Naissance de BSD et System V
#

AT&T, qui ne croit pas en un avenir commercial d’UNIX, fait l’objet d’un décret en 1956 lui interdisant de commercialiser d’autres produits que ceux visant son cœur de métier, les télécommunications.

Celui-ci diffuse donc en 1974 le système UNIX complet (excepté le code source du noyau) auprès des universités et entreprises. UNIX v6 en 1975 et v7 en 1978 sont les versions les plus diffusées. La v7 est la dernière version commune à tous les UNIX suivants.

AT&T va finalement rendre la licence plus restrictive ce qui va pousser les universités à continuer leurs développements à partir des versions antérieures à cette nouvelle licence.

Une Université en particulier va se détacher de part ces contributions. Dès 1974, l’université Berkeley commence à travailler et devient le plus gros contributeur à UNIX. BSD1 est basé sur UNIX v6 en 1977 et BSD2 basé sur UNIX v7 en 1978.

En 1980, un certain Microsoft commercialise un Unix pour machines équipées de processeurs Intel (8086) et Motorola (68000), notamment. Il s’agit de Xenix OS.

AT&T ayant perdu son monopole va pouvoir continuer à développer Unix : les versions 8, 9 et 10 vont voir le jour. Parallèlement, une version commerciale voit le jour sous le nom d’UNIX System III et est mise en vente dès 1982. En 1983 les premières versions d’UNIX System V sont commercialisées et sera la référence pendant longtemps.

GNU
#

En réaction, en 1984, Richard Stallman crée le GNU. Gnu is Not Unix. Cet organisme avait pour volonté de développer un système compatible Unix, mais libre. Cet objectif n’a pas été atteint, par contre il a développé la licence GPL : General Public Licence qui spécifie qu’un logiciel y adhérant sera ad vitam aeternam en Open Source.

OpenSource
#

L’Open Source est une méthode d’ingénierie logicielle qui consiste à développer un logiciel, ou des composants logiciels, et de laisser en libre accès le code source produit. Ce code source peut alors être exploité par les développeurs et les entreprises souhaitant soit l’adapter à leurs besoins métiers, soit affiner son intégration avec leur système d’information.

L’une des caractéristiques clés des logiciels Open Source est que leur conception et leur développement sont placés entre les mains de communautés d’utilisateurs et/ou de développeurs qui font évoluer le logiciel. Ces communautés Open Source constituent le cœur du développement du code source et le moteur principal de l’Open Source.

Ces communautés sont constituées de développeurs indépendants. Ceux-ci développent le logiciel sur leur temps libre.

Contribution
#

Mais, l’Open Source ayant monté en puissance dans l’IT moderne, de plus en plus de sociétés ont décidé de s’intégrer aux communautés pour prendre plus facilement part aux développements. Cette participation à un projet Open Source, qu’elle soit technique, organisationnelle ou personnelle, est alors qualifiée de contribution.

Fondation
#

Si chaque projet Open Source est considéré comme indépendant par nature, les communautés, les développeurs et les entreprises qui contribuent peuvent aussi faire le choix de soumettre leur projet à une fondation. Cette fondation Open Source a alors la charge de la gouvernance du projet, et décidera de façon collective (établi selon son modèle de gouvernance) de sa feuille de route, des fonctionnalités, des orientations ainsi que de toutes les évolutions du projet.

Certaines fondations, après avoir créé un modèle de gouvernance pour un projet donné, le mettent à disposition d’autres projets. C’est le cas par exemple de la fondation Apache (Apache Foundation – à l’origine conçue pour le serveur Web), de la fondation Eclipse (Eclipse Foundation – à l’origine créée par IBM pour l’IDE Java) ou encore de la fondation Linux (Linux Foundation – à l’origine conçue pour Linux, mais ouverte désormais aux projets collaboratifs).

En revanche, d’autres peuvent s’être constituées et se maintenir autour d’un unique projet. C’est le cas par exemple de la Document Foundation qui encadre la suite bureautique LibreOffice.

Licence(s) Open Source
#

L’Open Source est souvent opposé au modèle propriétaire. Alors que l’Open Source impose l’ouverture et l’accès au code source, le modèle propriétaire propose une approche plus fermée, puisque celui qui achète le logiciel n’a accès qu’à une version compilée et packagée du logiciel ou des composants logiciels. L’utilisateur achète également une licence pour une période donnée ou un nombre d’utilisateurs donné.

Ceci étant, la licence existe également dans l’Open Source. Mais elle sert à définir les méthodes d’utilisation du logiciel.

L’Open Source Initiative est l’organisme certificateur garant du caractère Open Source d’une licence. Cette institution tient à jour une définition de l’Open Source (Open Source Definition) que les licences doivent respecter.

Parmi les licences Open Source les plus utilisées par les communautés et les entreprises, on retrouve la licence Apache, BSD, GNU GPL, MIT, Mozilla Public Licence ou encore Eclipse Public Licence, comme l’indique le site de l’OSI.

Open Source, quel intérêt pour les entreprises
#

Depuis plusieurs années, la méthode de conception logicielle Open Source a gagné les principales couches de l’IT moderne, du moins côté infrastructure. Les couches du Cloud Computing, IaaS et Paas, installées dans les datacenters, reposent pour l’essentiel sur des serveurs motorisés par des OS Open Source.

Les moteurs principaux des applications dites de Big Data, qui font usage des données en volume, sont Hadoop ou encore Spark, tous deux Open Source – et hébergés dans la Fondation Apache.

Ces projets ont ainsi pu évoluer rapidement, au rythme des exigences de la communauté et des besoins des entreprises. En s’impliquant dans les communautés, les entreprises ont la possibilité de faire entendre leur voix et leurs besoins – tout en restant alignées sur la gouvernance du projet.

Gratuité
#

Généralement, la gratuité des logiciels Open Source est présentée comme l’argument n°1 en termes d’adoption. S’il est vrai que le code source est gratuit, l’optimisation des coûts vient aussi du fait que l’entreprise a la capacité d’adapter le logiciel à ses besoins stricts. Chaque euro dépensé l’est dans l’adaptation du code aux exigences et besoins.

Cette logique économique de l’Open Source se retrouve également dans la participation à des communautés. En décidant de choisir de s’appuyer sur un logiciel Open Source, on décide de s’appuyer sur un socle standard, développé de façon communautaire, et dont les coûts de R&D se retrouvent du coup répartis. La valeur viendra alors d’ailleurs, de ce que les entreprises décideront de faire du logiciel, de leur capacité à l’adapter pour favoriser l’innovation.

Un code source gratuit, mais pas sans coûts

Pour autant, un logiciel Open Source n’est, au final, pas gratuit, pour des usages professionnels. Les entreprises désireuses d’implémenter dans leur SI une solution Open Source ont le choix entre : le faire elles-mêmes (et cela implique de disposer des ressources internes adéquates) ; soit de faire appel à un éditeur Open Source.

Ces éditeurs Open Source ont bâti leur modèle économique sur la « digestion » de la souche Open Source, développée par les communautés, pour en faire une solution prête pour un usage en entreprise. Une partie de leur métier consiste ainsi à tester et certifier cette souche pour la caler sur les exigences des entreprises et la rendre prête pour la production (respect des SLA, haute disponibilité, sécurité, virtualisation, …).

Cette version dite premium ou entreprise est généralement associée à une offre de support et maintenance. Ces prestations d’édition et de support sont payantes, facturées généralement à l’abonnement.

Open Source VS Logiciel libre
#

L’Open Source et le logiciel libre sont souvent considérés comme équivalents. S’ils partagent certes des valeurs communes (l’accès au code source), leur approche diffère néanmoins.

L’Open Source est - rappelons-le - une méthode d’ingénierie qui permet de lire le code source du logiciel produit. En revanche, en fonction de la licence choisie, le partage, la modification et la redistribution des modifications apportées au logiciel, ne sont pas imposés.

Le logiciel libre, comme défini par la Free Software Foundation (et par Richard Stallman) y ajoute la notion fondamentale de liberté dans l’utilisation, la modification du code source, ainsi que la redistribution du logiciel.

Free Software Foundation
#

La Free Software Foundation (FSF) (litt. « Fondation pour le logiciel libre »), est une organisation américaine à but non lucratif fondée par Richard Stallman le 4 octobre 1985, dont la mission est la promotion du logiciel libre et la défense des utilisateurs. La FSF aide également au financement du projet GNU depuis l’origine. Son nom est associé au mouvement du logiciel libre.

La fondation est à l’origine des quatre règles fondatrices du logiciel libre :

  • La liberté d’exécuter le programme, pour tous les usages (liberté 0).
  • La liberté d’étudier le fonctionnement du programme, et de l’adapter à ses besoins (liberté 1). Pour ceci l’accès au code source est une condition requise.
  • La liberté de redistribuer des copies, donc d’aider son voisin (liberté 2).
  • La liberté d’améliorer le programme et de publier des améliorations, pour en faire profiter toute la communauté (liberté 3). Pour ceci l’accès au code source est une condition requise.

En concevant les licences GNU GPL, LGPL et FDL sous l’égide de Richard Stallman et d’Eben Moglen, la fondation devient une protection légale pour GNU. Dans un environnement juridique marqué par l’empreinte du droit d’auteur, le projet GNU s’organise dès l’origine en cédant ses droits à la fondation.

La notion de copyleft introduite par la GPL permet de protéger la construction communautaire du projet GNU. C’est une forme de gouvernance adaptée aux biens communs et représentée par le projet politique de la fondation. Ce mécanisme sera plus tard reproduit par la fondation Mozilla.

Début 90
#

Au tout début des années 1990, les positions se figent dans le monde Unix. Alors que Sun (Solaris) & AT&T ont décidé de collaborer autour de Unix System V Release 4, DEC, HP (HP-UX) et IBM (AIX) fondent l’OSF (Open Software Foundation).

À peine un an plus tard, un jeune étudiant finlandais, Linus Torvalds, réalise la première brique d’une “troisième voie” qui s’avèrera avec le temps être la voie royale.

À partir de Minix, un clone d’Unix réalisé en 1987 pour des machines à base de processeurs Intel x86, il développe Linux, dont la première version de test (la 0.01) est disponible en septembre 1991.

Fait crucial, il décide de mettre le code source de ses travaux sous la licence GPL (pour General Public Licence), une licence établie en 1984 par la Free Software Foundation et qui sert de référence aux logiciels dits “libres”.

Linux ne décolle pas tout de suite. Si la première “distribution Linux” (le noyau plus un ensemble d’utilitaires) sort en 1991, la première distribution commerciale (Slackware) ne voit le jour qu’en 1993 et la version 1.0 de Linux n’est disponible qu’en 1994. Un an avant, le projet Debian avait été lancé, tandis que cette même année 1994, Bob Young fondait la société Red Hat.

En résumé, les trois principales familles de systèmes Unix sont :

  • les BSD et ses dérivés (FreeBSD, OpenBSD…);
  • les Unix System V (dont l’éditeur américain SCO, qui les tenait de Novell, qui lui-même les tenait du propriétaire initial AT&T, est l’actuel possesseur des droits - et le fait d’ailleurs savoir par ses revendications) et ses dérivés (HP-UX, AIX) ;
  • les “hybrides” comme Solaris (d’abord basé sur BSD, maintenant plus proche de System V) et Linux (un cas particulier, plutôt proche de System V mais compatible BSD).