views:

3176

answers:

40

C# Open Source Project Of The Year Award 2008

Let us decide which project should receive the honor, from the Stack Overflow community. And as the best programming community, I think the community opinion matters.


What's the best Open Source Project you've found, and loved in 2008? List it here, and let the community vote for the same. And in the end, we'll have a great list of interesting open source projects. Your entry should have a brief description, and a link to download the source code. You might consider entries from sites like Codeplex, Sourceforge.net, Codeproject etc.


Important: Please look in the existing list before posting your entry, if it is already there, just vote.

+12  A: 

Singularity Operating System - Click to download

Singularity provides Softare Isolation instead of hardware enforced protection domains and heavy context switching. Developed by Microsoft Research, now available at Codeplex as open source.

The implementation includes a IL to native compiler, a really good bootloader and the Sing# compiler

Go and download Singularity source and CD Image here

You can actually boot it on Microsoft Virtual PC (free download). Very interesting.

amazedsaint
Singularity is not Open Source. Look at its license: http://www.codeplex.com/singularity/licenseThat's shared source.
Manuel Ceron
Singularity ain't C# only, the base is C++ from what I know and it uses Spec# instead of C# mainly.
Dykam
It's also got some .asm jumbled in there..Dykam it strongly depends on where in the codebase you're looking.It's a very impressive project. To rebuild an OS from scratch like that just for a research project.
CaptainCasey
+3  A: 

I really like SourceGrid

  • SourceGrid is a .NET Windows Forms grid control written entirely in C# with managed code.
  • SourceGrid can be used to visualize or to change data in a table format.
  • SourceGrid can be used bound to a data source (typically a DataView) or creating each cell directly.

There are a lot of controls of this type available, but often are expensive, difficult to customize or too DataSet oriented. SourceGrid use only managed code (without API or Interop) and can be used with any .NET 2 compatible environments.

Nifle
New URL is http://www.devage.com/sourcegrid/SourceGrid_EN.html
Dour High Arch
Thanks, I edited the url
Nifle
+14  A: 

Sandcastle Help File Builder - I just can not live without this right now. From the description:

"Sandcastle, created by Microsoft, is a tool used for creating MSDN-style documentation from .NET assemblies and their associated XML comments files. The current version is the May 2008 release. It is command line based and has no GUI front-end, project management features, or an automated build process like those that you can find in NDoc. The Sandcastle Help File Builder was created to fill in the gaps, provide the missing NDoc-like features that are used most often, and provide graphical and command line based tools to build a help file in an automated fashion."

joseph.ferris
http://www.mobiusdevelopment.com/dev/Blog.asp?ArticleID=8725371905810427070 for how I'm using it
jwmiller5
+13  A: 

Screwturn Wiki is an open source wiki written in C#.

John
+4  A: 

I've used BugTracker.NET in multiple companies I've worked with, in both large and small teams.

Open Source ASP.NET/SQL Server Bug Tracking solution, which even interfaces with Subversion.

pearcewg
This is an older tool, but the question asked here is 'found and loved in 2008'.
pearcewg
+4  A: 

VDM

This virtual desktop program takes advantage of this new API and uses some tricks of its own to provide a powerful virtual desktop manager with a full screen thumbnail based preview. Vista and XP.

Daok
+26  A: 

Iron Python - Click to download

Surprised that we missed it!! IronPython is very hot as well. I really like th interactive programming and ability to host Python in my own apps :)

"IronPython is a new implementation of the Python programming language running on .NET. It supports an interactive console with fully dynamic compilation. It is well integrated with the rest of the .NET Framework and makes all .NET libraries easily available to Python programmers, while maintaining full compatibility with the Python language."

Most part of IronPython implementation is in C#. Must Watch!!

amazedsaint
+6  A: 

Managed Extensibility Framework

The Managed Extensibility Framework (MEF) is a new library in .NET that enables greater reuse of applications and components. Using MEF, .NET applications can make the shift from being statically compiled to dynamically composed. If you are building extensible applications, extensible frameworks and application extensions, then MEF is for you.

Cameron MacFarland
+9  A: 

Composite WPF (aka Prism)

The Composite Application Guidance for WPF can help you split the development of your WPF client application across multiple development teams, each responsible for the development of a piece of the application, and help you seamlessly compose those pieces together into a client application. The guidance includes a reference implementation, reusable library code (called the Composite Application Library), documentation, quick start tutorials and hands-on labs.

Cameron MacFarland
+13  A: 

Ninject

Ninject is a lightning-fast, ultra-lightweight dependency injector for .NET applications. It helps you split your application into a collection of loosely-coupled, highly-cohesive pieces, and then glue them back together in a flexible manner. By using Ninject to support your software's architecture, your code will become easier to write, reuse, test, and modify.

Cameron MacFarland
Fine, it's an IOC container, we get that. Now what makes it different from/better than other IOC containers? How does it compare to Castle Windsor?
Anthony
Visit the homepage and find out, or just use Windsor. I was simply answering the question. Also there's plenty of IOC questions here that debate the merits of both packages (and others.)
Cameron MacFarland
A: 

DotNetNuke, a great extensible opensource CMS system.

Nicholas
I suggest you add a link to download the source as well.
amazedsaint
um, look at the code. DNN is written in VB.
CAD bloke
I think it's down voted for another reason
Elijah Glover
+39  A: 

Mono - Website Here, Download Here

I think Mono is a good bet.

As we all know, "Mono is a cross platform, open source .NET development framework."

amazedsaint
+7  A: 

Banshee

Play your music and videos. Stay entertained and up to date with podcasts and video podcasts. Discover new music with Last.fm radio. Sync your G1 phone, iPod, and other devices. We think you'll love the new Banshee!

Manuel Ceron
Also, crossplatform Linux, Mac and Windows (yet to come)
igorgue
A: 

Ra-Ajax - "Create stunning and lightweight Web Applications without hassle" - Quote Me... ;)

PS! Yes I work with it...

Thomas Hansen
+2  A: 

Coolite

Diadistis
+12  A: 

CruiseControl.NET

Alex
+3  A: 

I like http://www.dotnetblogengine.net/. It's a .net blog platform that supports MySQL which is pretty cool.

brendan
BlogEngine.NET has my vote :)
m3rLinEz
A: 

Npgsql - .NET provider for the PostgreSQL object-relational database management system - a good one, too.

Orentet
+3  A: 

Clone Detective for Visual Studio

Clone Detective is a Visual Studio integration that allows you to analyze C# projects for source code that is duplicated somewhere else. Having duplicates can easily lead to inconsistencies and often is an indicator for poorly factored code.

Mindaugas Mozūras
It might not be the project of the Year, but certainly deserves beeing mentioned. Used it myself, when had to do some work on a year old code, written by someone else.
Mindaugas Mozūras
+4  A: 

Autofac

Justice
+32  A: 

ASP.NET MVC

Justice
+14  A: 

NHibernate

Justice
cannot over-emphasize the greatness of NHibernate. It's a great port of a great idea (with the caveat that it has to be used properly, like all tools)
sobedai
The greatness of NHibernate is NP-complete. But we'll get a more concrete quantification as soon as Jon Skeet can get around to calculating it.
Justice
+6  A: 

Gallio/MbUnit

Justice
+4  A: 

Silverlight Toolkit

Terrarium 2.0

Jacob Adams
To bad it won't start on my machine. I tried 1.0 back in the days... I loved it... wonder why they quit supporting it
TimothyP
+4  A: 

Windows Installer XML Toolset

Makes creating Windows Installer packages easy and similar to writing code. Uses a compile/link approach to build MSI packages from xml source. Most of the toolset is written in C#.

Martin
A: 

VisualWebGUI

The best of the bred Open Source RIA AJAX Framework with full server approach and zero client footprint.

Is this open source? I thought this product was for purchase?
asp316
+1  A: 

TracExplorer

This is a Visual Studio addin for Trac integration and, in turn TortoiseSvn's bugtraq integration.

Mladen Mihajlovic
+3  A: 

ZedGraph for graphs as you might have expected ;)

Scoregraphic
+1  A: 

ZedGraph

Well written easy to use charting package for WinForms. Better and more fully functioned than many commercial ones.

JDunkerley
+7  A: 

SubSonic 2.2 has been very, very good to me. Great Data Access Layer generator that works very well with C#, VB, F#, MS SQL, and (after some tweaks) MySQL! The tutorial videos are excellent.

James Hugard
A: 

Java - it seems a fair few libraries are just Java ports. If it wasn't for Java there would be no .NET.

mP
Java is not a C# open source project is it?
Svish
Java: Not C#, not open-source
Tom Savage
Actually, Java is open source now (mostly). GPL'd. But no, not C#
Mystere Man
... nor is it from 2008.
Dour High Arch
A: 

Rawr

I am a former wow junkie and I spent so much time hacking on this and using it, almost as much time as I spent playing wow.

Dolphin
+3  A: 

StructureMap

Matt Hinze
+4  A: 

Stateless from Nicholas Blumhardt is an elegant implemetation of a state machine. We have used this instead of the Windows Workflow state machine. The beauty is that with very few lines of code you can configure a state machine with conditional triggers.

Below is a sample from Nicholas's site:

    enum State
    {
        OffHook,
        Ringing,
        Connected,
        OnHold,
        PhoneDestroyed
    }

    enum Trigger
        {
            CallDialed,
            HungUp,
            CallConnected,
            LeftMessage,
            PlacedOnHold,
            TakenOffHold,
            PhoneHurledAgainstWall
        }



var phoneCall = new StateMachine<State, Trigger>(State.OffHook);

phoneCall.Configure(State.OffHook)
    .Allow(Trigger.CallDialed, State.Ringing);

phoneCall.Configure(State.Ringing)
    .Allow(Trigger.HungUp, State.OffHook)
    .Allow(Trigger.CallConnected, State.Connected);

phoneCall.Configure(State.Connected)
    .OnEntry(t => StartCallTimer())
    .OnExit(t => StopCallTimer())
    .Allow(Trigger.LeftMessage, State.OffHook)
    .Allow(Trigger.HungUp, State.OffHook)
    .Allow(Trigger.PlacedOnHold, State.OnHold);

phoneCall.Configure(State.OnHold)
    .SubstateOf(State.Connected)
    .Allow(Trigger.TakenOffHold, State.Connected)
    .Allow(Trigger.HungUp, State.OffHook)
    .Allow(Trigger.PhoneHurledAgainstWall, State.PhoneDestroyed);
David Robbins
+1  A: 

FubuMvc

Jake Scott
+1  A: 

S#arp Architecture

JohnL
+1  A: 

Fluent NHibernate

JohnL
+1  A: 

DotNet Zip http://www.codeplex.com/DotNetZip

Priyan R
A: 

CodeProject

murasaki5