Open Source

Tuesday, 10 June 2014

by Silumesii Maboshe

It was a happy accident, my discovering a free(!) operating system called Red Hat Linux at the turn of this century (sounds like eons ago doesn’t it?). At the time, for me, the world was split between Microsoft Windows and Apple Mac OS. I don’t think I’d heard of UNIX yet, let alone its cousin Linux. The world of computers was exciting, limitless but most basic of all … expensive. Learning that an operating system could be free left me bewildered and curious.

Before my first semester of studying Computing Science at University, an Aunt was kind enough to buy me a copy of “Red Hat Unleashed”. It weighed as much as a baby and had a set of CDs in it with the Red Hat 5 version of Linux. I didn’t have a computer at the time but these are the faith journeys that young men take. A new world opened up to me in those pages … email servers, web servers, domain name servers, FTP servers … and all of it for free! I thank that book for my interest in the Internet. Actually making use of that knowledge would come many years later.

If Apple had not switched the internals of the Mac OS to BSD (and Mach), I would never have bought a Mac. With its new rock-solid, UNIX core, the Mac taught me so much about Open Source and closed source development. In retrospect, there was always tension between “open” and “closed” on the platform. I happily use Ubuntu now. For a designer and developer in Zambia, I have to say that using Ubuntu feels right. Open Source software powers my laptop and my servers. It powers my business.

What is Open Source?

When a software project is called Open Source, in very simple terms, it means that the whole world has access to the source code of the project. Think of it as a book that anybody is free to make better whenever they want to from wherever they are.

Open Source is about more than “free software”. It’s about ideas. Thousands of people give up time, talent and even glory to realise their ideas in software. Open Source is about allowing anyone the opportunity to make something better for everyone else. At its best, it illustrates how the best ideas rise to the top.

The Heartbleed bug clearly showed how Open Source software is not perfect. For the most part, however, the Open Source model continues to deliver some astoundingly reliable software.

Taking and Giving

For several months now, I’ve thought of Zambian developers as selfish. I include myself in there. We take Open Source software and don’t give back. Look at how many Zambian websites use Joomla! and WordPress. Look at how many designers start with Bootstrap. How many developers use the MySQL database or Apache webserver? Does your phone run Android? Yup, that’s Open Source too.

Contrast that with how many of those developers and designers have submitted a patch to a codebase? How many Zambian developers do you know that have a profile on GitHub or BitBucket?

I have wanted to talk about this for a while but couldn’t because if I did, my hypocrisy would trap me. Instead, slowly, I decided to do something about it. So, I:

  1. Opened an account on GitHub.
  2. Started talking about Git at BongoHive.
  3. Opened up the code for the Pencil Case Studios website and some tools I use.
  4. Started to participate in conversations about software I use (like RVM, Compass, Bootstrap and Foundation).
  5. Signed up on IRC—Thanks to Seemant Kulleen.

By participating, I have become a much better developer and have an Open Source Report Card to prove it.

Contributing, instead of taking, brings back the sense of wonder that reading the Red Hat book did all those years ago.

Open Minds

If Zambians changed from a “take” to a “make” mindset, we could get a lot further a lot faster. I think there is tremendous opportunity in us making our own software (open and closed).

Open Source is not limited to software. The Open Compute Project, which started at Facebook, invites people to participate in designing the technology that powers data centers. The OpenBTS Project from Range Networks reboots the mobile communications model and allows anyone to build a cellular network. They even ran a pilot in Macha, Central Province, Zambia.

Reading this, I hope that you’ll take away a sense of ownership of the Open Source software you use. If you own it, you’ll do something about it to make it better.