
Il était une fois, au Laboratoire Bell, une équipe de chercheurs sur le point de révolutionner l’informatique. A sa tête, Ken Thompson, à gauche sur la photo, l’inventeur du langage de programmation B, et Dennis Ritchie, au centre (ne me demandez pas qui est le type à droite ). Cette équipe travaillait, avec d’autres, sur un système d’exploitation du nom de Multics, qui devait permettre à de multiples utilisateurs de travailler sur le même ordinateur. Il faut dire qu’à l’époque, un ordinateur remplissait une pièce entière et tout le monde n’avait pas le sien sur son bureau.
Multics était un ensemble de programmes très sophistiqués, donc chacun pouvait réaliser toutes sortes de tâches. Inversement, pour une tâche donnée, plusieurs programmes étaient susceptibles de la mener à bien et entraient donc en concurrence. Cette configuration déplut profondément à l’équipe du Laboratoire Bell, qui décida de repartir de zéro et de créer Unics : un OS dans lequel chaque tâche était prise en charge par un unique programme, qui ne faisait qu’une unique chose mais qui la faisait bien. L’orthographe Unics céda vite la place à UNIX.
Le code-source d’UNIX, sa recette de fabrication, fut d’abord écrit en Assembleur, un langage de programmation très bas niveau (proche du langage machine et très difficile à comprendre pour des êtres humains). Puis, à partir de 1971, Dennis Ritchie développa un nouveau langage, très largement inspiré du B : le C.
L’entreprise de téléphonie AT&T, propriétaire des laboratoires Bell, aurait bien voulu commercialiser un OS aussi brillant qu’UNIX. Cependant, certaines subtilités législatives américaines lui interdisaient de vendre des logiciels. Elle vendait donc le code-source d’UNIX, sa recette de fabrication, à des entreprises et des universités qui pouvaient le modifier selon leurs besoins avant de le compiler : de le transformer en programmes compréhensibles par des ordinateurs.
Le statut juridique de ce code-source, et la question de savoir si les universités et entreprises clientes avaient le droit de le redistribuer, était assez mal défini : il faudra attendre le début des années 90 pour qu’une série de procès clarifie la situation. On vit donc apparaître, à partir de 1977, plusieurs versions améliorées d’UNIX, et notamment :
-
BSD UNIX (Berkeley Software Distribution, 1977), distribuée gratuitement par l’Université de Californie Berkeley. Son principal développeur était un étudiant : Bill Joy.
-
Xenix (1980), oeuvre d’une petite entreprise américaine répondant au doux nom de… Microsoft.
-
Sun OS (1982), version payante de BSD UNIX vendue par Sun Microsystems, la société fondée par Bill Joy après ses études.

Puis, malgré les lois anti-trusts, AT&T parvint finalement à commercialiser, non pas l’UNIX original, mais une version dérivée : System III.
Mais alors, il y a combien d’UNIX différents ?
Il y en a beaucoup. UNIX n’est plus, aujourd’hui, un système d’exploitation unique. C’est toute une famille. Un peu comme pour Linux, qui a de nombreuses distributions. Voici une « généalogie » simplifiée des principaux systèmes UNIX :

La licence d’un logiciel est un document juridique indiquant ce que l’utilisateur a le droit de faire avec (et, bien souvent, ce qu’il n’a pas le droit de faire). Pour les UNIX modernes, trois cas peuvent se présenter :
-
Licence de type « propriétaire » : La société qui commercialise le logiciel en conserve la propriété, même après l’avoir vendu (eh oui, c’est très fort
). L’utilisateur n’achète en réalité que le droit de se servir du programme d’une certaine manière. En particulier, il ne peut ni consulter le code-source du logiciel, ni le modifier, ni le redistribuer, même à titre gratuit. Parfois, une partie du code-source peut tout de même être accessible (ex : Mac OS X et Solaris).
-
Licence BSD : Tout le contraire de la précédente. L’utilisateur peut faire ce qu’il veut du logiciel. Il peut consulter son code source, le modifier et le redistribuer sous la licence de son choix. Tout ce qu’on lui demande, c’est de citer l’auteur du logiciel original dans sa documentation.
-
Licence CDDL : C’est une licence libre de type copyleft (comme la licence GPL de Linux). Par rapport à la licence BSD, elle introduit une contrainte supplémentaire : si vous redistribuez une version modifiée du logiciel, vous devez employer la même licence. Les différences entre GPL et CDDL sont très techniques et je n’entrerai pas dans ces détails. Sachez cependant qu’elles sont incompatibles.
Vous trouvez le schéma ci-dessus trop compliqué ? Bon, alors, contentez-vous de retenir ça :
