# Chorus Systèmes SA

Chorus Systèmes SA fut un éditeur français de logiciels racheté par Sun Microsystems en septembre 1997, onze ans après avoir été créée en 1986 pour commercialiser le produit de recherches effectuées à l'Institut national de recherche en informatique et en automatique (INRIA). Son produit principal était le système d'exploitation micro-noyau distribué Chorus, créé à une époque où la technologie micro-noyau était jugée très prometteuse pour l'avenir des systèmes d'exploitation, la plaçant au cœur de nombreux partenariats stratégiques concernant Unix et les systèmes associés.

## Origines

Lancé par Hubert Zimmerman, le projet de recherche sur le système d'exploitation distribué Chorus a débuté à l'Institut national de recherche en informatique et en automatique (INRIA) en 1979. Hubert Zimmerman, était connu comme un pionnier de l'informatique en réseau travaillant à l'élaboration du modèle de référence OSI qui est devenu un moyen populaire de décrire les protocoles réseau. Le réseau d'ordinateur Cyclades fut un précurseur du travail de Chorus$^,$, dont le projet était de capitaliser sur la recherche sur les réseaux afin d'ajouter la communication et la distribution au sein de noyaux de systèmes d'exploitation jusqu'alors monolithiques. Plusieurs itérations ont été produites à l'INRIA entre 1980 et 1986, et désignées par les créateurs de Chorus sous les noms de Chorus-v0 à Chorus-v2.
Au même moment, le centralien Michel Gien lance aussi à l'Inria le projet Sol$^,$ un autre ancien du même réseau d'ordinateurs, en vue de bâtir une implémentation du système d'exploitation Unix pour les mini-ordinateurs et les micro-ordinateurs français. Par cet aspect, il répond aux questionnements contenus ans le rapport Nora Minc sur « l’informatisation de la société », qui peu avant a été publié en décembre 1977.
Ce projet a utilisé le langage de programmation Pascal plutôt que C, dans le cadre de l'adoption de techniques d'ingénierie logicielle plus modernes. En 1984, le projet Sol a été fusionné avec le projet Chorus et, par conséquent, l'itération Chorus-v2 a adopté les interfaces d'Unix System V plutôt que d'avoir son propre ensemble d'interfaces personnalisées.

## Parcours
### Début

La technologie du micro-noyau était considérée comme très prometteuse pour faire progresser l'informatique distribuée et son centre l'amélioration globale de la technologie de système d'exploitation. C'est ainsi qu'en 1986, Chorus Systèmes SA a été fondée afin de valoriser les résultats de la recherche de l'INRIA. Les cofondateurs étaient Zimmerman et Gien. Après avoir passé une décennie ou plus empêtrés dans la politique des travaux de recherche financés par des fonds publics, tous deux ont estimé qu'il était temps de tenter une start-up, d'autant plus qu'ils avaient vu d'autres personnes qu'ils connaissaient le faire (comme le pionnier américain des réseaux Robert Metcalfe fondant 3Com). Des ingénieurs Chorus de l'INRIA les ont rejoints dans cette nouvelle aventure. Hubert Zimmermann est devenu PDG$^,$. Michel Gien étant directeur de la recherche.
À l'époque, les startups technologiques étaient rares en France, faute de capitaux-risqueurs, selon la revue professionnelle 01 Informatique$^,$. La société ILOG a été fondée peu après, elle aussi à l'avant-garde. Chorus a donc réuni des financements provenant de projets européens en plus de ceux de l'INRIA et de France Télécom.
La société était domiciliée à Saint-Quentin-en-Yvelines en région Île-de-France, au 6 avenue Gustave Eiffel. Elle a recruté des ingénieurs du monde entier, grâce aux relations des fondateurs dans le monde de la recherche, mais aussi à cause de la nature intéressante du travail, en plus de la perspective de travailler dans la région parisienne.
Par respect du mandat de ses bailleurs de fonds, Chorus Systèmes s'est concentré, au cours de ses deux premières années, sur la technologie Chorus, sans aucune tentative de générer des revenus via des activités de conseil ou similaires. L'itération Chorus-v3 est ainsi sortie vers 1988, améliorant les capacités en temps réel et distribuées en s'inspirant d'autres projets de micro-noyau ; selon un article universitaire publié par deux cadres de la société, avec pour objectif de « [s'appuyer] sur l'expérience des systèmes de recherche de pointe... tout en tenant compte des contraintes de l'environnement industriel. » Chorus-v3 proposait également une variante d'Unix, appelée MiX, de telle sorte que, comme l'a dit un article de Chorus, « nous ferons référence à la combinaison du noyau Chorus et de l'ensemble des serveurs de sous-système Unix System V comme le système d'exploitation Chorus/MiX ™. »

### Une société centrée sur Unix

La société avait une idée affirmée de la direction technologique que Unix allait prendre et nourrissait de grandes ambitions dans ce domaine$^,$. En effet, presque dès le début, Hubert Zimmerman proclamait que la technologie Unix existante avait atteint la fin de sa vie utile et qu'elle avait besoin d'une nouvelle approche du noyau pour aller de l'avant. Dans ce cadre, Zimmerman souhaitait étendre l'utilisation d'Unix à de nouveaux domaines et, en quelques années, capturer dix pour cent de ce marché élargi. À ce titre, les dirigeants de l'entreprise ont rencontré des représentants de l'Open Software Foundation et d'Unix International (les deux camps de la guerre Unix qui se déroulait alors) pour obtenir leur approbation du micro-noyau Chorus et pour connaître leurs exigences.
De même, Chorus Systèmes a collaboré avec un certain nombre de fournisseurs de matériel pour tenter de les convaincre d’adopter la technologie Chorus. Début 1990 GEC Plessey Telecommunications a accepté d'adopter Chorus pour une nouvelle génération de son produit System X, un système de commutation numérique. À l'époque, il s'agissait de la plus grosse transaction réalisée par Chorus Systèmes, et elle fut par la suite mentionnée dans la presse généraliste. Chorus Systèmes a également conclu un accord avec Gipsi SA, fabricant de terminaux X. En 1990, Unisys a accepté d'utiliser Chorus comme base pour un système d'exploitation Unix. La même année, le groupe Scientific Computers d'Intel a accepté d'utiliser Chorus pour son supercalculateur Intel iPSC.
Ces succès furent suivis en 1991 par des ports du micro-noyau Chorus sur l'architecture transputer d'Inmos et sur le processeur ARM3 RISC d'Acorn Computers « pour une utilisation dans une station de travail multimédia ». L'année suivante, Tolerance Computer a accepté de travailler avec le micro-noyau Chorus pour créer le premier Unix tolérant aux pannes pour un système de niveau micro-ordinateur. ICL a utilisé le micro-noyau Chorus dans l'architecture logicielle de son produit GOLDRUSH MegaSERVER : un serveur de base de données parallèle comportant jusqu'à 64 éléments de traitement basés sur SPARC, chacun exécutant son propre serveur de base de données dans un environnement Unix System V Release 4 basé sur le micro-noyau Chorus, et accédant à un magasin de fichiers commun et cohérent. Ce produit utilise spécifiquement Chorus/MiX V.4.

### Aspects commerciaux

La principale concurrence sur le marché du micro-noyau était le logiciel Mach de l'Université Carnegie Mellon$^,$, en plus de deux autres projets de micronoyaux, Amoeba de la Vrije Universiteit Amsterdam et V de l'Université de Stanford. Chorus et Mach partageaient de nombreuses caractéristiques similaires dans leur conception extérieure. Les différences concernaient la dénomination, l'adressage et les schémas de protection. Dans certains cas, cela a donné un avantage à Chorus, grâce à plus de flexibilité à la frontière entre le mode noyau et le mode utilisateur, en plus d''être le seul de ces projets à offrir un produit commercial$^,$.
En 1990, la société a créé une filiale à Beaverton, dans l'Oregon$^,$, présidée par Will Neuhauser et chargée d'une mission d'évangélisation de la technologie, y compris aux États-Unis. Mais au début, le chiffre d'affaires provenait essentiellement d'Europe.
La société a réalisé dès 1990 un chiffre d'affaires annuel d'environ 6,5 millions de dollars. Au fil du temps, Chorus Systèmes a reçu divers investissements de fonds extérieurs. À la mi-1991, 63 % de la société était détenue par ses fondateurs et ses salariés ; 16 % par Innovacom ; et des parts inférieures à 10 % par, par ordre décroissant, Soffinova, Crédit Lyonnais, Banexi Ventures et Banque Hervet.
En 1991, Unix System Laboratories (USL), une émanation du fondateur d'Unix AT&T, a conclu un accord avec Chorus Systèmes pour s'engager dans un travail coopératif sur la technologie du micro-noyau Chorus, avec l'idée de prendre en charge Unix System V Release 4 d'USL sur Chorus/MiX et de le rendre ainsi plus évolutif et mieux adapté aux applications parallèles et distribuées$^,$. Dans ce cadre, USL a pris une participation d'un million de dollars dans Chorus Systèmes$^,$. Une grande partie du travail du chœur USL a été réalisée dans les locaux de l'USL Europe à Londres. Cela faisait partie du projet plus vaste Ouverture, un effort de 14 millions de dollars qui faisait lui-même partie du Programme stratégique européen de recherche en technologies de l'information (ESPRIT), supervisé par la Commission européenne.
Les micro-noyaux offrent également la possibilité de faire fonctionner plusieurs systèmes d'exploitation côte à côte sur la même machine. La capacité de Chorus à prendre en charge cette fonctionnalité a rapidement intéressé Novell, qui avait acquis USL et cherchait un moyen de combiner son produit phare NetWare avec UnixWare basé sur SVR4 d'USL. En 1994, Novell a commencé à décrire publiquement ses plans de développement de « SuperNOS », un système d'exploitation réseau basé sur un micro-noyau qui exécuterait les services réseau de NetWare aux côtés des services d'application d'UnixWare et serait ainsi un produit qui pourrait concurrencer avec succès Windows NT de Microsoft$^,$. SuperNOS, qui a attiré une attention considérable de l'industrie, était basé sur le travail qui avait déjà commencé entre USL et Chorus Systèmes, et un nombre important d'ingénieurs lui ont été affectés$^,$. Le projet a fait l'objet de débats architecturaux internes prolongés, notamment entre Gien et le scientifique en chef de Novell , Drew Major, qui étaient en désaccord dans la presse spécialisée sur la question de savoir si la technologie Chorus existante était à la hauteur de la tâche. Quoi qu'il en soit, plus tard en 1995, Novell a vendu la technologie Unix à The Santa Cruz Operation (SCO) et SuperNOS a été abandonné.
SCO avait elle-même eu ses propres relations avec Chorus Systèmes, remontant à 1992 avec un accord entre les deux sociétés pour un travail coopératif dans le cadre de la combinaison de la variante OpenServer d'Unix de SCO avec le micro-noyau Chorus pour une utilisation dans des environnements de traitement en temps réel dans les télécommunications et d'autres domaines. Le premier résultat de cette démarche, un produit à double fonctionnalité appelé Chorus/Fusion pour SCO Open Systems Software, a été publié en 1994. D'autres travaux entre les deux sociétés ont eu lieu au cours des années suivantes ; en 1995, SCO avait mis en place une unité commerciale pour l'entreprise et dépensait des ressources d'ingénierie considérables sur ce qui était désormais une réimplémentation d'OpenServer pour fonctionner sur le micro-noyau Chorus, dans ce qui allait être appelé la plate-forme SCO Telecommunications OS. En 1996, SCO et Chorus ont dévoilé une feuille de route technologique pour son produit OpenServer/Chorus, donnant un nom de code MK2 à un produit destiné aux commutateurs téléphoniques, à la téléphonie et aux serveurs multimédias, et annonçant son adoption par Siemens Private Communications Systems. Mais le projet a fini par être abandonné avant d'avoir abouti.

### Autres projets

Les systèmes d'exploitation orientés objet étaient un autre domaine de recherche actif à l'époque et plusieurs efforts ont été faits pour en fournir sur la base de micro-noyaux. L'un d'eux était GUIDE, un projet des universités de Grenoble, qui a implémenté leur système d'exploitation orienté objet sur Chorus, Mach et Unix classique, et a établi des comparaisons entre les trois.
Un autre était COOL et a été entrepris par Chorus Systèmes lui-même. Abréviation de Chorus Object-Oriented Layer, la première version de COOL a été réalisée en collaboration avec l'INRIA et le SEPT, laboratoire de recherche de France Télécom, et a vu le jour fin 1988. L'un des principaux objectifs du travail de COOL était de soutenir les applications de groupware distribuées ; avec cet objectif en tête, COOL a été considérablement révisé en une architecture à deux couches avec des clusters sur la couche inférieure et des objets représentés par la couche supérieure. Cette révision a été élaborée en partenariat avec les projets ISA et Commandos sous l'égide d'ESPRIT et matérialisée fin 1991. Les résultats du projet COOL ont été décrits dans un article paru dans Communications of the ACM en 1993.
Des recherches indépendantes ont également été menées sur l'intégration de Chorus avec Mac OS, en suivant une approche superficiellement similaire à celles déjà adoptées avec d'autres technologies de micro-noyau telles que Mach 3.0 où DOS ou Mac OS étaient exécutés en tant qu'applications au niveau de l'utilisateur. Dans la continuité des travaux antérieurs qui ont porté le logiciel de simulation Chorus sur le système d'exploitation A/UX d'Apple, permettant d'acquérir de l'expérience avec Chorus lui-même, ces efforts ont été poursuivis jusqu'au portage de Chorus sur le matériel Macintosh IIcx, permettant à Chorus d'être démarré dans l'environnement Mac OS et à Chorus d'apparaître comme une application dans cet environnement, réalisant une forme de « cohabitation ».

### Changement de focus

Les efforts de développement se sont progressivement orientés vers des systèmes d'exploitation en temps réel pour les systèmes embarqués. Dans le cadre du projet STREAM d'ESPRIT, Chorus a été structuré en une série de capacités évolutives, la plus petite d'entre elles étant un « nanokernel » de 10 Ko avec une logique exécutive et de gestion de la mémoire simple jusqu'à un système d'exploitation distribué complet capable d'exécuter Unix.
Par la suite, Chorus a pris ses distances avec Unix, en estimant que ses clients étaient plus intéressés par la plate-forme logicielle Java et ses capacités sur les appareils en temps réel. En février 1997, la société a annoncé le produit Chorus/Jazz, qui était destiné à permettre aux applications Java de s'exécuter dans un environnement système embarqué distribué et en temps réel. La base de Chorus/Jazz était que Chorus Systèmes avait obtenu une licence JavaOS de Sun Microsystems et avait remplacé la couche d'abstraction matérielle de cette technologie par le micro-noyau Chorus. À ce stade, Chorus Systèmes proposait trois produits pour le secteur des systèmes embarqués : Chorus/Micro, pour les petites applications en temps réel ; Chorus/ClassiX pour les applications plus grandes, compatibles RT-POSIX, et Chorus/Jazz dans le domaine Java.
En 1997, Chorus Systèmes comptait parmi ses clients dans le domaine des télécommunications Alcatel-Alsthom, Lucent Technologies, Matra et Motorola. Ses revenus s'élevaient à 10 millions de dollars.
À ce stade, Chorus Systèmes cherchait à se faire acquérir par une autre société. Quelques années auparavant, SCO avait enquêté sur une telle possibilité, mais estimait que Chorus Systèmes se valorisait trop. Mais avec le travail en cours sur Java et une connexion personnelle que Gien avait avec le cofondateur de Sun, Bill Joy, il y avait une possibilité évidente à cet égard.

## Acquisition par Sun Microsystems en 1997

En septembre 1997, il a été annoncé que Sun Microsystems acquérait Chorus Systèmes SA. Le montant total payé pour l'entreprise équivalait à 26,5 millions de dollars. L'accord s'inscrivait dans le cadre d'une volonté globale de Sun Microsystems d'entrer sur le marché des systèmes embarqués, un secteur en pleine croissance qui attirait l'attention des analystes et des investisseurs. Compte tenu de la baisse d'intérêt pour les micro-noyaux, la publication spécialisée Computergram International a estimé que Chorus Systèmes avait de la chance d'avoir trouvé un acheteur.
L'acquisition de Sun a été finalisée le 21 octobre 1997. La technologie Chorus est devenue partie intégrante d'un nouveau groupe d'activités de logiciels de systèmes embarqués chez Sun. Le nom de Chorus lui-même a été changé en ChorusOS. Une partie du travail effectué chez Sun consistait à fournir une combinaison de ChorusOS et de Sun Solaris pour les systèmes à haute disponibilité sur le marché des télécommunications.
Par la suite, Sun a connu une restructuration au cours de la récession du début des années 2000 et a décidé d'abandonner la technologie ChorusOS. Une trentaine d'employés de Sun travaillant sur Chorus ont formé leur propre entreprise, Jaluna, qui a utilisé des approches analogues au micro-noyau pour le domaine de plus en plus important de la virtualisation. Cette société a ensuite été renommée VirtualLogix, qui a ensuite été acquise par Red Bend Software en 2010.
Deux des cofondateurs ont ensuite créé la startup Twinlife pour l'application Twinme, offrant des services proches de ceux de Messenger ou WhatsApp mais sans donner d'email, nom ou numéro de portable, l'utilisateur donnant seulement à ses correspondants un code barre, qui est différent pour chacun d'eux. Skyrock a réuni 8 millions d'utilisateurs autour de l'application Skred, utilisant la licence de Twinme. Les deux applications, Skred et Twinme, ont ensuite fusionné en 2021.