The warm glow of contributing to open source.

I've been benefitting from using open software of all sorts for years. While I have been active on discussion forums for some projects, I have never actually contributed any code...until now! It's hardly the most sophisticated bit of coding, but it's a contribution, which gives me a wam fuzzy glow.

I've been playing around with the StatusNet microblogging software for a while (the software behind identi.ca), running a discussion forum called the Mule Stable. One of the big challenges I've found running a microblog is managing spam. These days the big sites like twitter and identi.ca live with the fact that spammers will get onto their sites and rely on users blocking and reporting them. What this means is that the public timelines of these sites tends to have a lot of spammers in them. However, since not many people bother to visit the public timelines, this is not much of a problem. It's only when the spammers start using @ replies that they can get really annoying.

However, for the Stable, the user-base is still small enough that most people would just read the public timeline and so spammers are very obvious when they appear. Putting in a recaptcha distorted word question cut out quite a few spammers, and requiring email validation cut out some more, but there were some that still got through...a lot of them Russian for some reason. So, I wrote a simple plugin for StatusNet which "sandboxes" new users by default. This means that while they can still register and post messages, these posts do not appear on the public timeline, so only people subscribing to them (initially no-one!) would see the posts. I can then un-sandbox legitimate users.

This is a fairly manual process, so would not be feasible for large sites, but since I thought it would be very useful for other people running small sites, I sent what I'd done back to the developers. It has now made it into the 0.9.x of StatusNet!

StatusNet is a great initiative and so it feels good to give something back, if only in a very small way.