Wednesday, December 22, 2010

My first open source project

Well, I finally did it.  I actually have a project that's hosted on https://bitbucket.org/Dauntless/sojourner (see my links to the left)

I decided to put up the work I've been doing on my clojure project there.  Eventually I will probably move it to github, but I know at least some of mercurial, while the only thing I know about git is how to clone something.  Unfortunately I don't think bitbucket has a good open-source plan like github does (hmmm, maybe that's why git is wining the DCVS contest).

Basically this project is first and foremost a learning project for me on many levels.  I've never done an open source project before...not even as a commiter.  Secondly, this will help me learn clojure.  Thirdly, it will hopefully have at least some practical value.  And finally, I wish to document this very well so that others can also learn from it.

This project has one major philosophical mantra:
1.  If it's not documented, it's a bug

I'm not just talking about API documentation either.  I like projects that have high level guides, tutorials or other documentation.  I find most API documentation next to useless (and I will point my finger here at clojure itself).  I will take a project that has less features but better documentation than a project with more features but little documentation.  It's a sad fact that most open source projects have poor docs.

I would also like the project to follow a test driven development philosophy, but honestly, I'm not sure how I am going to do this for a gui program (selenium?).  I also have to be honest and say that I still haven't yet wrapped my head around TDD despite being  Test Automation Engineer.  TDD makes sense when your API is already solidified, and therefore you have a spec to test against.  But how do you create tests when you are still exploring and shaping up the API?

Nevertheless I am stoked on this.  Even if no one else uses it, it is still a great learning tool for me.

No comments:

Post a Comment