Making a new Free Software Project

Over the past few days I’ve been playing with NodeJS. It’s been an eye opener to see how JavaScript would work out on the server (notice I didn’t say server-side JavaScript, which I don’t yet think it is suitable for, in liue of a nice templating system).

My initial plan was to write a small queue system, much like AWS‘s SQS. In the end, I created one in less than 130 lines of JavaScript though I know that can also get smaller.

It’s been a good eye-opener to see what NodeJS can already do, added to the fact that it’s an event driven language – much like JS in the browser is – so it’s pretty fast. Even though it is an interpreted language, the V8 engine it is using (the one from Google) is heavily optimised and the main developer of NodeJS, Ryan Dahl, is always careful to write non-blocking C code when developing Node itself, or it’s modules.

For my future plan, I intend on writing a couple more infrastructure services. A queue system which is distributed and uses the above simple queue would come in very useful, as would a publish/subscribe system much like the new AWS SNS.

Maybe in the future, I’ll also try out some other things too.

But the purpose of this blog entry is to describe what I’m doing to make sure that the project starts out the Open Source way from the beginning. Usually I add copyrights and suchlike later, but hopefully will do it all properly from the start.

I have (so far) been following two articles, one from my good friend Francois and one from the Gnu site:

* How to Use the Gnu Licenses for your Own Software * Choosing the Right License for your Free Software/Open Source Project

To see the result of this, go and have a look at the GitHub repo I have pushed to. The project will be called ‘sensi’ and will expand in the near future.

* Sensi @ GitHub

One final point to mention is how I figured the name ‘sensi’ was ok. I trawled through the searches of all of the following sites to make sure it wasn’t already used:

* GitHub * SourceForge * Google Project Hosting * Ohloh * FreshMeat

Anything else I should do now whilst the project is still young? Any other code related or repository websites I should have checked to see if the name was unique? Any other ideas for (FOSS) ‘Infrastucture as a Service’?

Tags: gitfosssensi

Posted: 08 May 2010