# Open Watcom

Le compilateur Watcom C/C++ est désormais une implémentation open-source des langages de programmation C et C++ disponible sur diverses plates-formes et systèmes d'exploitation.

## Aperçu

La société Watcom International Corporation avait été fondée en 1981 par trois anciens employés (Fred Crigger, Ian McPhee et Jack Schueler) du département d'informatique de l’Université de Waterloo, au Canada. Watcom développa plusieurs logiciels.

### Compilateur propriétaire

Le compilateur Waterloo BASIC, l'un des premiers logiciels commercialisés par Watcom, préexistait à l'enregistrement de la marque : il avait été programmé entre 1978 et 1979 pour l’IBM Series/1, un PC 16 bits. En 1979, le compilateur a été porté pour VM/CMS tournant sur les IBM 370, 3030 et 4300, et un accord avec IBM a permis sa mise sur le marché. Il y eut plusieurs mises à jour de 1980 à 1983 ainsi qu'une version portée sur l’interpréteur de commandes MVS/TSO et sur VM/CMS. La société développait parallèlement des compilateurs pour d'autres langages : WATCOM APL, WATCOM GKS, WATCOM COBOL, WATCOM Fortran (WATFIV puis WATFOR-77), WATCOM Pascal et l'assembleur Waterloo 6809. Ils étaient fournis avec le Commodore SuperPET.
Vers le milieu des années 1980, Watcom développait des compilateurs pour les ordinateurs Unisys ICON tournant sous le système d'exploitation QNX, en particulier le compilateur Watcom C/C++, qui devint l'outil de choix pour le développement d'applications embarquées.
En 1988, Watcom mit sur le marché son premier compilateur C pour IBM PC et compatibles, dit bizarrement « version 6 » : c'était un clin d'œil au fait que les compilateurs C de ses concurrents, Borland et Microsoft, en étaient précisément à leur version 5. Le compilateur Watcom parut d'abord produire du code plus cursif et plus rapide d'exécution que ses deux concurrents.
En 1992, Watcom s'intéressa au marché des systèmes client-serveur avec la mise sur le marché de Watcom SQL, un système de gestion de base de données. Malgré un effectif très modeste (seulement 8 programmeurs), WATCOM maintenait son rang sur le marché du logiciel : Watcom SQL est toujours diffusé, sous le nom de Sybase SQL Anywhere.

### Passage en Open source

Watcom fut racheté par Powersoft en 1994, puis Powersoft fusionna avec Sybase en 1995. Au mois de mai 2000, Sybase tâcha de faire du compilateur Watcom C un RAD visuel interactif baptisé Optima++ mais, cette application se trouvant concurrente d'un autre produit du groupe (PowerBuilder), son développement fut interrompu en 2003.
Sybase ayant mis un terme à son exploitation commerciale, les sources des compilateurs Watcom C/C++ et Watcom Fortran ont été rendus open source à l'initiative de SciTech Software ; sa distribution n'est cependant pas gratuite.
L’Open Source Initiative lui a accordé sa licence, mais les projets Debian, Fedora, la Free Software Foundation et le projet GNU refusent de reconnaître sa licence comme « libre » parce qu’« elle vous oblige à rendre public votre code source chaque fois que vous déployez ce compilateur, et « déployer » englobe ici plusieurs formes d'utilisation à des fins personnelles. »
Le code est portable et, à l'instar de plusieurs autres compilateurs open source tel GCC, il est disponible pour diverses architectures processeurs.
Il y a un fork officieux d’Open Watcom V2 sur GitHub. Un embryon de variante de la bibliothèque pour DOS 16 bits CRT a été développé sous WASM.

### Systèmes d'exploitation cibles

Ce compilateur tourne sous DOS (MS-DOS, FreeDOS), OS/2, Windows et les systèmes d'exploitation Linux. Il tolère également les modules NLM pour Novell NetWare. Des développements en cours visent à l'adapter à Linux et aux systèmes BSD modernes (par ex. le système d'exploitation FreeBSD), x86, PowerPC, etc.
La version 1.4 d'Open Watcom C/C++ de décembre 2005 a désigné Linux x86, émulée sous Windows NT ou OS/2, comme la plate-forme d'essai. Le code d'une version avortée pour QNX est disponible, mais les bibliothèques logicielles nécessaires à la compilation ne sont pas open source.
La dernière version stable, la version 1.9, a été publiée en juin 2010.
La syntaxe d’Open Watcom accepte les conventions d’autres compilateurs, comme ceux de Microsoft et de Borland, par exemple celles relatives au nombre d’underscores dans les macros. Le code-source écrit pour un compilateur spécifique plutôt que pour un compilateur C ou C++ compatible avec la norme est souvent correctement analysé par le compilateur Watcom.

### Réalisations sous Open Watcom

Vers le milieu des années 1990 certains des jeux vidéo sous MS-DOS les plus ambitieux techniquement (Doom, Descent, Duke Nukem 3D et Rise of the Triad) ont été programmés avec Watcom C/C++, et certains, comme ROTT, sont basés sur l'extension mode protégé de DOS/4GW avec le compilateur Watcom.