# Graphics Environment Manager

Der Graphics Environment Manager (GEM) ist eine grafische Benutzeroberfläche von Digital Research, die vor allem durch den Rechner Atari ST unter dem Betriebssystem TOS bekannt wurde. Es gibt auch Versionen für den IBM PC sowie eine Unix-Variante. Auf den Atari-Rechnern der ST-Serie bestand TOS zudem aus dem ebenfalls von Digital Research entwickelten GEMDOS, das sich stark an den bereits bestehenden Betriebssystemen CP/M und PC DOS/MS-DOS orientierte.

## Apples Urheberrechtsklage

Kurz nach dem Erscheinen der PC-Version GEM/1 1985 wurde Digital Research von Apple Computer Inc. verklagt, weil das Look and Feel weitgehend dem der Macintosh-Umgebung „System“ – später umbenannt in Mac OS – entsprach. Der Dateimanager von GEM, „Desktop“, war dem Finder von Apple sehr ähnlich. Um einem langwierigen Gerichtsverfahren aus dem Weg zu gehen, verpflichtete sich Digital Research, die PC-Variante von GEM deutlich zu verändern, insbesondere wurden die überlappenden Fenster sowie der Papierkorb aus dem Desktop entfernt. Nicht betroffen von den Einschränkungen war die Atari-Version, da deren Entwicklung in der Verantwortung von Atari selbst lag, das von Apple nicht juristisch belangt wurde.
Das Urteil, dass es ein Copyright auf Benutzerschnittstellen gebe, führte zu einem zeitweiligen Apple-Boykottaufruf durch die Free Software Foundation. Die zu PC-GEM in direkter Konkurrenz stehende Benutzeroberfläche Windows wurde Ende 1985 in Version 1.0 veröffentlicht und gewann schließlich ebenfalls größere Beachtung, nachdem auch Microsoft aus demselben Grund von Apple wegen Windows 2.03 verklagt wurde und, im Gegensatz zu Digital Research, das langjährige Verfahren in Kauf nahm und schließlich 1992 gegen Apple gewann. Windows wurde somit, anders als PC-GEM, ohne Auflagen weiterentwickelt.

## Interner Aufbau

Die Oberfläche GEM besteht üblicherweise aus folgenden Komponenten:
* Das Virtual Device Interface (VDI) stellt geräteunabhängige Zeichenfunktionen zur Verfügung (vergleichbar mit Microsofts GDI). Es untergliedert sich in folgende Unterkomponenten:
** Treiber für Bildschirm, Drucker, Metadateien etc. (geräteabhängig)
** geräteunabhängige Schicht (GDOS)
* Darauf aufbauend stellen die Application Environment Services (AES) Routinen für die Darstellung verschiedener Bedienelemente bereit (Menüs, Fenster, Dialoge etc.), außerdem für die Programmverwaltung, Accessories etc.
* Der Desktop ist der Dateimanager und Programmstarter, der wie eine Schreibtisch-Arbeitsfläche aussieht. Der Desktop 2.x hat aufgrund des Rechtsstreits mit Apple nur noch zwei Fenster fester Größe, aber es ist möglich, Desktop 1.x mit GEM 2.x zu verwenden.

## Portierungen

GEM wurde von Digital Research auf unterschiedlichen Prozessorarchitekturen und Betriebssystemen verfügbar gemacht. Programme für GEM sind grundsätzlich leicht portierbar. Neben den Versionen für PC-kompatibles DOS und Atari TOS wurde gemeinsam mit IBM sogar an einer Version für OS/2 gearbeitet. X/GEM ist eine Version für Unix und läuft auf dem X Window System, wobei es Versionen für i386 (32-Bit-x86 „IA-32“) und Motorola 68000 gibt. Zudem integrierte Digital Research GEM in FlexOS 386.

## Applikationen

Zu GEM lieferte Digital Research vorwiegend visuell orientierte Software. Dies sind unter anderem die Textverarbeitung „GEM Write“, das Vektorprogramm „GEM Draw“, das Pixelprogramm „GEM Paint“, die Balkengrafikanwendung „GEM Graph“ und der Präsentationssoftware-Vorläufer „Wordchart“.
Später wurde die Textverarbeitung „1st Word Plus“ zu einem der beliebtesten Programme.
Auf dem Schneider PC1512 wurde die Programmiersprache und graphische Entwicklungsumgebung Locomotive BASIC 2 mitgeliefert, die es 1986 schon ermöglichte, einfache Programme mit Fenstern, Grafik, Mausunterstützung u. a. zu schreiben.

### PC-Version

Aufgrund des Rechtsstreits mit Apple konnte GEM für den IBM PC nicht so weiterentwickelt werden, wie ursprünglich geplant. Unter anderem wurde die sich in Entwicklung befundene Multitasking-Version GEM/XM nicht fertiggestellt. Nach der Übernahme von Digital Research durch Caldera wurde der Quelltext der PC-Version unter der GNU General Public License (GPL) veröffentlicht. Einige Enthusiasten machten daraufhin die Einschränkungen rückgängig (z. B. ließen sie das Desktop-Programm 1.x unter GEM 2.x laufen) und sammelten alte Anwendungen, so dass PC-GEM wieder eine einigermaßen brauchbare Benutzeroberfläche für einfache, leistungsschwache oder historische PCs darstellt – aufgrund der Beschränkung auf den Real Mode ist der verwendbare Arbeitsspeicher in GEM auf 1 MiB begrenzt.
Unter dem Namen ViewMAX integrierte Digital Research eine funktionsreduzierte Version von GEM in DR DOS 5.0 – etwa zeitgleich lieferte Microsoft dessen Pendant DOS Shell mit MS-DOS aus.
Nach der Freigabe unter der GPL wurde die Entwicklung der PC-Version unter dem Namen OpenGEM bzw. FreeGEM fortgeführt, wobei GEM und ViewMAX wieder zusammengeführt wurden. Als FreeGEM/XM wurde auch die Multitasking-Variante verfügbar gemacht. OpenGEM 6 von 2006 und ein Release Candidate der Version 7 von 2017 sind die letzten Versionen, die auch in FreeDOS enthalten sind.

### Atari-Version

Die Atari-Version von GEM wurde nach dem Verschwinden der Firma Atari als Hersteller von Computern nicht mehr weiterentwickelt und ist auch keine freie Software. Stattdessen wurde das Betriebssystem TOS, einschließlich GEM, komponentenweise als freie Software neuimplementiert (siehe auch: MiNT, fVDI, XaAES, TeraDesk). Ebenso entstanden kommerzielle Projekte (siehe auch: MagiC bzw. Mag!X, N.AES), die z. T. das TOS sogar vollständig ersetzen und nur noch zum Hochfahren („Booten“) benötigen.
Durch die Freigabe der PC-Version von GEM unter der GPL wurde es möglich, den Betriebssystem-Ersatz EmuTOS, der zunächst für Emulatoren gedacht war, inzwischen aber auch originale Hardware bis zum Atari TT unterstützt, ein freies GEMDOS und GEM zu implementieren, welches der Atari-Version von GEM funktional und optisch immer ähnlicher wird, und es in vielen Bereichen bereits übertrifft, etwa bei Desktop-Features.
Durch diese neuen Projekte bietet GEM nun auch Multitasking-Funktionalität. Der Wechsel zwischen den einzelnen gleichzeitig laufenden Programmen kann dabei, ähnlich wie beim „klassischen“ Mac OS (bis Mac OS 9) von Apple, über Einträge in der Menüleiste erfolgen.