How I've started to contribute to open source

A couple of weeks ago, I read a post by Brandon Hays called ‘Why I still don’t contribute to open source’ wherein Brandon lays out his reasons for not yet having contributed to any OSS projects. To reiterate Brandon’s points:

  1. There’s no certification, ceremony, or merit badge that says, “you’re ready to contribute to OSS”.
  2. It’s not obvious where to start.
  3. Guidelines often make a maintainer’s life easier, and mine harder.
  4. Open source is for people who are better at this than me.
  5. Trying to contribute and failing makes me feel stupid.
  6. There’s no time.
  7. It’s pretty lonely.

I found Brandon’s article interesting because I can definitely relate to a lot of what he says.

How do I know I’m ready to hack on an open source project? And if I’m not ready but jump in anyway, won’t I potentially just be broadcasting my stupidity across the Interwebs for all to see? How do I know where to start? The code base seems so intimidating and I know nothing about it. Are any hazing rituals involved? Those guys are so much better at hacking code than I’d be after ten lifetimes, how the fuck did they get so smart? Or am I just really retarded? I’ve got my own stuff I want to work on. All these sentiments I’ve felt at one time or another.

But recently, I’ve started contributing to open source projects anyway. Read more...

The designer, the developer and the devigner

Traditionally in the website building and maintenance sector of the IT industry, there have been two sub-specialisations: the web designer and the web developer1.

To define my terminology more clearly, I’ll risk stating the obvious: web designers tended to have more of a graphic design background. These people might end up doing the ‘front end’ work on websites. They’d do the colour scheme, set the font, maybe do the logo and icons if they were good enough. As websites started to share the space with or become web applications, designers started to take responsibility for the user interface (UI) aspects, although UI design almost seems to have become yet another sub-sub-specialisation of it’s own. Web developers typically had more of a programming background and worked on the ‘back end’ of the website or web application. Server side and client side scripting, maybe some server and/or database administration.

but as the web has matured, the line between these two archetypes has continued to blur and it is this middle ground that I personally find myself standing on. Read more...