My First Open Source Project

In my recent Hacking Bath with Socrata post I described how to create a simple map, plotting points taken from a Socrata data store. As a result of that experience Bath Car Parks was created. This was a dodify joint effort as my designer friends provided a mock-up of the interface as well as colours and icons to be used. The whole project took about 6 hours total from idea to production.

The project received mild interest and open sourcing it was the right thing to do. Thankfully everyone seemed on board. The code was already on GitHub so the process was hypothetically relatively simple, except for the fact that I had never open sourced anything beforehand.

Admittedly I am quite "shy" about my own code and I like things to be as neat as they can, especially if other people are going to take a look at it. So it soon turned out that, at least for me, open sourcing a project is not a straight forward experience. Here are a list of steps I had to take care of before going public:

  • Cleaning the code and documenting appropriately, this should be a de facto even if not going open source;
  • Except for HTML files, I like code to be 80 chars wide maximum and I ensured this was the case. Although this is not very relevant with modern wide screens I noticed it has somehow come back in importance. With people viewing code directly from the GitHub web interface avoiding the horizontal scroll bar as much as possible is big plus in my opinion;
  • Adding a README file and ensuring that it included all information required for someone technical to start up and run the website with minimal effort;
  • Choosing and adding a LICENSE. I reviewed the most popular licenses and The MIT License (MIT) seemed the best fit. It enforces attribution but gives as much liberty as required. Although tempting, I avoided creating my own license and I would always suggest not to unless you have a legal team;
  • Making sure the project structure was clear.

Without further ado you can find the Bath Car Parks source code on GitHub under the main dodify GitHub account. If you think I have missed something important or if you have any suggestions please leave a comment and I will fix as soon as possible.