Some time ago I was talking with Michael Maddox about OSS project visibility and long-term maintenance, and one of the things he pointed out is the importance of having a central place that lists all your OSS projects. Not only that, but also which ones are active at any moment. I fully agree with him.
A profile page at ohloh does just that. Ohloh sorts projects by last commit date, and it shows a nice commit activity graph for each project, so you can see exactly what anyone is working on at any moment (provided that he/she has registered the projects on ohloh, of course).
Github profiles also sort projects by last commit and show activity by project and by contributor.
Still, I think it's worth posting a summary every once in a while for reference and maybe even raise awareness about the projects, since most of them are little and quite specific. So allow me to toot my own horn for a bit and list my projects so far:
- SolrNet is probably my best-known project. It's an Apache Solr client for .NET. I started it back in 2007, and the latest release as of this writing was a couple of months ago. Docs are on Google Code, binaries are available also on google code and via NuGet. Over the years the project got contributions from many people. Thanks!
- SolrIKVM is an Apache Solr server for .NET. It uses IKVM to port Solr Java binaries to .NET. I explained the rationale behind this project in a recent blog post. It's not production-quality yet. I don't expect to spend much time on it but I'm willing to help if interested people are willing to collaborate.
- GDataDB is a database-like interface to Google Spreadsheets for .NET. I wrote this back in 2008. Last year it got some attention and patches and I released another version in October 2010. Binaries are available on github and via NuGet.
- Quartz.NET web console: an embeddable web manager for Quartz.NET (a job scheduler) I wrote last year. Binaries available on github and NuGet.
- NHibernate web console is another embeddable web console for NHibernate-based web applications I wrote in 2009. It lets you query and browse your NHibernate-mapped database directly from your application. Binaries available on github and NuGet.
- Boo web console: yet another module that embeds Boo in your web application. I wrote this one back in 2009. Basically, with this you can run any code within your live web app. Binaries available on github.
- OpenX.Net: .NET client for the OpenX API, one of the most popular open source ad servers. Written in 2009. Binaries available on github and NuGet.
- ElmahFiddler is a little module that adds a Fiddler SAZ trace to ELMAH error mails. I wrote it about a year ago, and even though I didn't officially release it and haven't touched it in a few months, I've been using it in production and is stable.
On the F# front, I've started a few projects. This is where I'm currently spending most of my OSS time.
- Figment is a web framework inspired on Sinatra and Compojure. Original blog post here.
- FsSql is a functional wrapper around ADO.NET. Blogged here and here. Recently released 0.1, available on GitHub and NuGet.
- FsFormlets is an implementation of formlets based on the original papers. I wrote some articles about formlets recently, and I'll write some more in the near future.
- CsFormlets is a layer on top of FsFormlets that makes it usable on C# and VB.NET. I still have to blog about this one.
I've also been a proud member of the Castle team since 2009. Although I haven't really contributed much code to the core projects (only the occasional patch), I've been more in a support role, answering questions from users on the mailing list and stackoverflow about just anything Castle-related, writing articles about it, helping migrating Castle to git.
I also wrote some Castle-related projects:
- Quartz.NET integration for Windsor: as the name says, it's a Windsor facility that integrates the scheduler Quartz.NET. Blogged about it here and here.
- Castle.Windsor.Lifestyles: additional lifestyles for Windsor, blogged about it here.
- Castle.Fax: the first OSS project I wrote, back in 2007. It includes a facility to integrate Windows Fax Services, which can run on a client or a server. It also includes an IMAP monitor so you can send faxes via email, and a web manager to check the state of the fax server. I haven't touched this since 2009 and I no longer use it (and nobody else, it seems), so I guess it qualifies as a dead project.
As a contributor to other projects:
- FAKE: I added support for Gallio and some other things that I needed to replace MSBuild in SolrNet.
- GitSharp: I had a brief participation, helped automating the build and setting up continuous integration.
Most of my projects grew from scratching my own itches and are in production, except the F# projects which are more research-related. This doesn't mean they're not production-worthy, they just have a different origin and focus.