Monday, April 6, 2015

What is Open Source? (part 2)

This is the second post in a series on Open Data and Open Government. I'm assuming the audience is not technical, but has heard these terms used in the media. See the first post for more about me and my motivation.

Disclaimer: I've monitored the Open Data space for some time, and I'm a software professional, but I'm not an expert. (I am passionate however, attending the 3rd IODC in Ottawa in May.) I'm also non-partisan. Though I hope to participate in a dialogue at the municipal and provincial level, I'm not endorsing any party or platform.

What is Open Source?

The term Open Source is often used in conversations around Open Data and Open Government, but it is rarely explained. In my view, the concept and especially its culture form a critical bridge between Open Data and Open Government.

Rather than struggle through definitions, let's consider a non-geek example that will be familiar to residents of PEI.

Fruitcake Recipe

Fruitcake has a long tradition on The Island, at weddings and Christmas, and my parents' house is no exception. My mother's fruitcake has won several awards and many raves; for decades, I've seen many people beam with delight at receiving one of hers.

I've also heard, often, that baking one ain't easy. The recipe was handed-down by a dear, elderly neighbour, Granny MacPhail, decades ago. There's a long list of ingredients. Some are obvious, such as many types of raisins and nuts etc. Others are more involved: e.g. fresh-brewed coffee and homemade strawberry jam! The preparations start on the night before, and the fruitcake must bake for 3-4 hours. Though the odds improve with experience, there's simply no guarantee on how it will turn out.

What if ... we went 'open source' ?

As a thought experiment, what if my mother were to share her recipe with the world?

If she published the recipe online, it's likely the following would happen:
  • Others would benefit by trying the recipe for themselves. They might try it outright, or use it as inspiration for new ideas.
  • If they contributed ideas back to my mother, she might incorporate them into her own recipe.
  • In any case, it's unlikely that anyone would match my mother's baking, as they simply don't have the experience. That is, opening the source doesn't really compromise her talent, or her potential to make the best fruitcake around.
Now, to be honest: my mother will never publish the recipe. She from a generation where such things are guarded secrets. (I'm working on her, but there's little cause for hope.) Either way, the example gives us enough material to define some terms.

Open Source

In the parlance of Open Source, the fruitcake recipe is, you guessed it, the source. The act of publishing it online makes it open. (The current state of Mom's recipe is called closed or proprietary source.) 

As with Open Data, the source is published with a license that dictates the terms of use. For example, my mother may insist that any recipes derived from hers are also published openly and so on.

Publishing & Collaborating

There are many ways to publish the recipe as open source, but these days, the king is a site called GitHub. GitHub is a darling with software nerds, and is used for a lot more than just software code (including recipes,  the US Budget for 2016, and -- spoiler alert! --  legislation proposals).

GitHub is built on top of a technology called Git. Together, they allow a collaborative workflow where:
  • Alice publishes the source
  • Bob copies the source and works on it independently
  • Bob can offer changes back to Alice
  • Alice can accept and incorporate the changes into the original work
This workflow is very common in Open Source and differentiates it from Open Data. With a dataset (such as weather info), we don't often contribute back: we consume and build upon; with source, we can collaborate in a 2-way dialogue.

Got it. But is this cyber-communism?

Nope. Many open source nerds want to maximize what is open, but it's not a requirement. e.g. GitHub, itself, is not open source (!).

And there's nothing preventing anyone from making money by adding values via services, advertising, and so on. I've already mentioned that my mother could go open source without fear: no one can match her decades of experience. In fact, if we were to start a fruitcake business, it might be a clever marketing campaign: "here's the recipe... Betcha can't beat our product!".

OK. When will you get to Open Government ?

Soon. The reason I wanted to introduce Open Source is because of the 2-way dialogue and collaboration. In the Open Gov space, this collaboration goes by another term: civic engagement.

If you're interested in chatting more about Open Data/Gov, please contact me at codetojoy @t gmail dot com

No comments:

Post a Comment