Open Source ist sicherlich eines der großen Themen 2007 gewesen und wird auch 2008 nicht minder erfolgreich sein. Wenn es allerdings um .NET geht, denken die wenigsten an Open Source. PHP, Java oder C++ sind meist die Wahlsprachen der Open Sourceler - meine Vermutung ist, dass Open Source in Verbindung mit einem Microsoft Produkt kaum vorstellbar ist.
Dass es aber tatsächlich sehr interessante Open Source .NET Projekte in den verschiedensten Bereichen gibt und sogar Microsoft langsam auf Open Source zugeht, möchte ich hier zeigen.
.NET Open Source Projekte
Paint.NET - Fotobearbeitung
Angefangen möchte ich mit dem wohl bekanntesten .NET Programm in dieser Liste: Paint.NET
Paint.NET ist eines der wenigen .NET Open Source Projekte, welche auch der normale Endkunde nutzen kann.
Kommen wir nun zu den anderen - nicht Endkundentauglichen - Projekten:
SubSonic - .NET O/R Mapper für MySQL, Oracle, SQL Server
SubSonic ist ein sehr schickes “Toolset”, wenn es darum geht, eine Objektstruktur aus einer Datenbankstruktur zu bekommen. Auch die ganzen CRUD Befehle kann man sich hier sparen. Auf der Website gibt es auch ein guten Einstieg (mit Video) in SubSonic und die API Dokumentation. Begonnen wurde das Projekt von Rob Conery, der nun für Microsoft am ASP.NET MVC Modell arbeit.
NHibernate - .NET O/R Mapper
Ähnlich wie SubSonic, ist NHibernate ein anderer O/R Mapper. Das Konzept ist hier etwas anders (per XML wird dieser konfiguriert), allerdings ist Hibernate schon lange im Java Umfeld genutzt und NHibernate die Portierung auf .NET.
CruiseControl.NET - Continous Integration Server
Um Builds und co. in einem Team besser im Auge zu behalten ist das Stichwort “Continuous integration” - also das automatische bauen der gesamten Solutions mit Tests etc. - sehr wichtig. CruiseControl.NET setzt hier ein und definiert sich selber als ein “Automated Continuous Integration server”
DotNetNuke - CMS
DotNetNuke ist eine Portierung von PHPNuke und basiert auf ASP.NET 2.0. Wie bereits PHPNuke ist dieses Projekt ein CMS für Web Portale, welches eine aktive Nutzerschaft verfügt und auch viele Module anbietet.
Subtext - Blog System
Subtext ist ein ASP.NET Blog System. Interessant ist aber hier, dass MySpace China eine modifizierte Version von Subtext für ihr Blogsystem nutzt.
DasBlog - Blog System
Ein anderes ASP.NET Blog System ist DasBlog.
DotNetKicks - Post Voting System
DotNetKicks ist eine Plattform ähnlich wie Digg.com. Da man solche Plattformen im Prinzip auf jedes Thema ausdehnen kann, ist es für den einen oder anderen bestimmt interessant, dass DotNetKicks Source Code offen gelegt wurde.
AForge.NET - C# Framework für Bildbearbeitung, Neuronale Netze, künstliche Intelligenz...
Das letzte Projekt hier ist etwas anders geartet - dafür aber umso interessanter. AForge.NET ist ein Framework für Bildbearbeitung/-manipulation, Neuronale Netze usw. (besser ihr lest selber nach, um was es sich dabei handelt ;) ).
Wo man sowas praktisch einsetzen kann, ist bei diesem CodeProject Artikel beschrieben: Motin Detection
Fazit
Es gibt sehr viele .NET Open Source Projekte und diese hier waren nur ein Teil davon. Interessierte Entwickler sollten sich den einen oder anderen Source Code mal anschauen.
… und wo bewegt sich Microsoft?
Vor einigen Wochen hat Scott Guthrie in seinem Blog berichtet, dass der Source Code des .NET Frameworks nach und nach veröffentlicht werden soll. Allerdings hat es Microsoft letztes Jahr wohl nicht mehr geschafft die Infrastruktur aufzubauen. In Micheals Schwarz seinem Blog wird gezeigt, was später möglich sein wird: Debug .NET Source Code.
Die Veröffentlichung ist ein großer Schritt für Microsoft. Microsoft hat dazu einige “Shared Source” Lizenzen veröffentlicht, darunter ist die “Microsoft Public Licence” auch offiziel von der OSI als Open Source Lizenz abgesegnet wurden. Mit CodePlex hat Microsoft seine eigene Open Source Project Hosting Plattform geschaffen.
Bereits im letzten Jahr hat Microsoft zudem den Source Code für die ASP.NET AJAX Extensions freigegeben.
Insgesamt scheint Microsoft langsam in die Richtung Open Source zu gehen - das es zum Teil “aus Zwang” ist, da der Markt es fordert ist die eine Seite, auf der anderen Seite findet man aber in vielen MS Mitarbeiter Blogs viel positives über den Open Source Gedanken.
Open Source, .NET und Microsoft - geht doch
Auch wenn der Firmenlenker von Microsoft desöfteren etwas abfällige Kommentare über Open Source gemacht hat (und bestimmt weiter macht), wird es wohl immer mehr Open Source in der Welt geben. In der .NET Welt gibt es schon einige gute Open Source Projekte und das Microsoft sich auch langsam für Open Source erwärmt, zeigt, dass Open Source nicht immer gegen Microsoft gerichtet sein muss.
(Die Logos die hier verwendet wurden, sind Eigentum der jeweiligen Urheber (siehe Links zu den jeweiligen Seiten).)