# DotGNU

DotGNU war ein 2001 vorgestelltes GNU-Projekt, mit dem Ziel, eine Alternative für die Erstellung von Webservices und von C#-Applikationen zu bieten und damit der Konkurrenz von Microsoft zu begegnen. Vorbild war der Erfolg des GNU-Projekts als Lizenzmodell für herstellerunabhängige Software. Wichtigster Bestandteil von DotGNU ist Portable.NET.
DotGNU stand zunächst unter der GNU General Public License. Im Januar 2009 wurde es unter die GNU Lesser General Public License 2.1 gestellt.
Offiziell seit Dezember 2012 wird am DotGNU-Projekt nicht mehr weitergearbeitet.

## DotGNU Portable.NET

Portable.NET ist der wichtigste Teil von DotGNU. Es war ursprünglich ein separates Projekt und wurde 2001, kurz nach der öffentlichen Bekanntgabe von DotGNU, zu einem Teil des DotGNU-Projektes. Fortan trug Portable.NET den Namen DotGNU Portable.NET. Bei dem Teilprojekt handelt es sich um eine Implementierung des .NET Framework bzw. des daraus hervorgegangenen internationalen Standards Common Language Infrastructure.
Zu den Bestandteilen von Portable.NET gehören im Wesentlichen die folgenden Komponenten (zumindest in der DotGNU-Version 0.7):
* treecc, ein Werkzeug zur aspektorientierten Programmierung
* pnet, bestehend aus Laufzeitumgebung, C#-Compiler, Programmierwerkzeugen
* pnetlib, eine C#-Klassenbibliothek
Auch ein Just-in-time-Compiler gehört zu Portable.NET. Dieser Compiler nutzt auch die Bibliothek LibJIT. LibJIT zielt darauf ab, eine Grundlage für verschiedene virtuelle Maschinen und dynamische Skriptsprachen zu bieten. LibJIT wurde aus DotGNU herausgelöst und nach der Einstellung des DotGNU-Projekts separat weiterentwickelt.

## Einsatz

DotGNU war standardmäßig in der Linux-Distribution Debian 3.1 enthalten.
Das Linux Magazine berichtete 2009, dass DotGNU in etlichen kommerziellen Applikationen zum Einsatz komme. Zum Beispiel setzte der Werkzeugmaschinenhersteller Trumpf DotGNU für die grafische Benutzeroberfläche seiner Software für ein Laser-Schneidegerät ein.

## Rezeption

Das britische Technologiemagazin The Register urteilte 2004, DotGNU und Mono seien „interessante Projekte für Menschen, die an Programmiersprachen, Compileraufbau und anderen, ziemlich esoterischen Hardcore-Gebieten der Softwaretechnik interessiert sind. Allerdings haben die Projekte keinen praktischen Nutzen und existieren nur mit der Unterstützung Microsofts.“
Die amerikanische Ausgabe des Linux-Magazins beurteilte DotGNU 2005 insgesamt als weniger ausgereift als Mono. Als Vorteile von DotGNU nannte der Artikel, dass es standardmäßig im Betriebssystem Debian enthalten sei und dass es Bytecode, der unter Windows generiert worden ist, ohne Modifikationen ausführen könne. Nachteilig sei, dass Windows Forms nicht vollständig implementiert sei, dass es Fehler bei der Ereignisbehandlung und keine passende Entwicklungsumgebung gebe.
Richard Stallman, Gründer des GNU-Projekts, sprach sich 2010 zwar für offene Implementierungen von .NET wie Mono und DotGNU aus, jedoch empfahl er, nicht in C# bzw. nicht für .NET zu programmieren, da die Gefahr von Patentklagen durch Microsoft nicht abgeschätzt werden könne.
DotGNU und Portable.NET wurden in etlichen Fachbüchern und wissenschaftlichen Publikationen vorgestellt und erwähnt, z. B. in Leuf (2005).