DotGNU war ein 2001 vorgestelltesGNU-Projekt, mit dem Ziel, eine Alternative für die Erstellung vonWebservices und vonC#-Applikationen zu bieten und damit der Konkurrenz vonMicrosoft zu begegnen. Vorbild war der Erfolg desGNU-Projekts als Lizenzmodell für herstellerunabhängige Software. Wichtigster Bestandteil von DotGNU istPortable.NET.
DotGNU stand zunächst unter derGNU General Public License. Im Januar 2009 wurde es unter dieGNU Lesser General Public License 2.1 gestellt.[1]
Offiziell seit Dezember 2012 wird am DotGNU-Projekt nicht mehr weitergearbeitet.
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.[2] Fortan trug Portable.NET den NamenDotGNU Portable.NET. Bei dem Teilprojekt handelt es sich um eineImplementierung des.NET Framework bzw. des daraus hervorgegangenen internationalen StandardsCommon Language Infrastructure.
Zu den Bestandteilen von Portable.NET gehören im Wesentlichen die folgenden Komponenten (zumindest in der DotGNU-Version 0.7):[3]
Auch einJust-in-time-Compiler gehört zu Portable.NET. Dieser Compiler nutzt auch die Bibliothek LibJIT. LibJIT zielt darauf ab, eine Grundlage für verschiedenevirtuelle Maschinen und dynamischeSkriptsprachen zu bieten.[4] LibJIT wurde aus DotGNU herausgelöst und nach der Einstellung des DotGNU-Projekts separat weiterentwickelt.
DotGNU war standardmäßig in derLinux-DistributionDebian 3.1 enthalten.[3]
Das Linux Magazine berichtete 2009, dass DotGNU in etlichen kommerziellen Applikationen zum Einsatz komme. Zum Beispiel setzte der WerkzeugmaschinenherstellerTrumpf DotGNU für diegrafische Benutzeroberfläche seiner Software für einLaser-Schneidegerät ein.[5]
Das britische TechnologiemagazinThe Register urteilte 2004, DotGNU undMono seien „interessante Projekte für Menschen, die an Programmiersprachen, Compileraufbau und anderen, ziemlichesoterischen Hardcore-Gebieten der Softwaretechnik interessiert sind. Allerdings haben die Projekte keinen praktischen Nutzen und existieren nur mit der Unterstützung Microsofts.“[6]
Die amerikanische Ausgabe desLinux-Magazins beurteilte DotGNU 2005 insgesamt als weniger ausgereift als Mono. Als Vorteile von DotGNU nannte der Artikel, dass es standardmäßig im BetriebssystemDebian enthalten sei und dass esBytecode, der unter Windows generiert worden ist, ohne Modifikationen ausführen könne. Nachteilig sei, dassWindows Forms nicht vollständig implementiert sei, dass es Fehler bei derEreignisbehandlung und keine passendeEntwicklungsumgebung gebe.[3]
Richard Stallman, Gründer desGNU-Projekts, sprach sich 2010 zwar für offene Implementierungen von .NET wie Mono und DotGNU aus, jedoch empfahl er, nicht inC# bzw. nicht für .NET zu programmieren, da die Gefahr vonPatentklagen durch Microsoft nicht abgeschätzt werden könne.[7]
DotGNU und Portable.NET wurden in etlichen Fachbüchern und wissenschaftlichen Publikationen vorgestellt und erwähnt, z. B. in Leuf (2005).[8]