Monday, January 26, 2009

Show me the code!

As part of my job at INdT, I was responsible for providing a unified solution for hosting the source code for our open source projects, such as QEdje, Carman and the yet to become free, Canola, amongst others.

There was only one major requirement: Git as our VCS. Of course we could simply provide a server with access for writing restricted for a few selected users and running gitweb for anyone interested in following the development of the projects.

We had already tried this approach with our projects internally, but it had proven to become visually a mess as the number of projects and users grow along time. Also, the amount of time spent with the server administration was really bothering many of us.

Enter Gitorious

Back in September, when some of our colleagues came back from a trip to Oslo, Norway, where they worked for a couple in collaboration with Qt Software guys, they brought with them lots of fresh and great ideas on how to improve our own processes.

One of these ideas was to make use of Gitorious as a tool for managing our git repositories. I had already used gitorious before, during the 2008 edition of Google Summer of Code, when I co-mentored a student in the implementation of bluez-python. One thing I didn't know though is that Gitorious itself is a Free Software project and its source code is available in the very own website.

Artur and Caio worked hard to setup an instance of Gitorious running on our internal server. We started using it for a few selected projects experimentally, and in a couple of months all of them had been moved to the brand new host. In time, this is just one the countless advantages of Git (and maybe others DVCS) over a centralized VCS. It was just a matter of adding a new remote and pushing the repository to it.

With Gitorious I was able to have contact with a completely new world in the Computer Science universe (at least for me): Web development. It is written in Ruby over the Rails Framework. At a first glance, everything looked awfully weird, from the language syntax to the Rails ways of doing things. It took me considerable time to get used to them, but I could successfully adapt the code to our needs.

You can see the final result in As it can be easily noticed, we have created just a few projects there, but the idea, as already stated, is to move all of our Free and Open Source Software projects to this new server as soon as possible. Notice that the site is not meant for openBossa/INdT employees exclusively. If you want to contribute to one of the existing projects over there, it is just a matter of getting in contact with the owner of the project and try to convince him you deserve an account. Even better, if you have a developed something related to one of our own projects, such as a Canola plugin, we are more than happy to host it. :)

No comments: