What is Open Source software and why does it matter?
I am still surprised how few people seem to understand what open source (aka ‘free as in freedom’) software means and why it is important for us all. Therefore I shall try to explain, as best I can, concentrating mainly on the, primarily Google funded, mobile device OS, Android (for that is perhaps the most familiar open source software to most people today).
In a nutshell, open source software makes the source-code freely available to all, to do with as they wish. This is true of Android, Linux and so many more projects that nobody could hope to list them all.
So that means I can download Android, for free, and put it on my own device? Yes. I can tinker with it, make it do what I want? Yes, with one proviso – if you share the compiled (binary) changes with anyone else then you must also share the source code, so everyone can take what you’ve done and tinker with that themselves. That’s the deal – if you take and change then you also give those changes back.
This sort of community spirit openness might sound almost scary, wild west territory. Instead it has given us things like the effort to run Android on the Raspberry Pi and the Ouya, a games console that anyone is free to write software for, without the crippling licence fees, potential content censorship and expensive development kits of the established players. This cannot be stressed enough – students, the curious and the paranoid can all examine and learn from the Android source code. You want to know how any of it works, then it’s right there in black and white. I should also stress that Google did not need to be involved or even asked permission (let alone paid any money) for Android to be put on the Raspberry Pi or Ouya. Open source software is a resource for all and projects like Ouya could not hope to exist otherwise.
Why does this matter to me, I’m not a programmer? It matters because Android is effectively a community resource, those that can program are free to submit their improvements back to the Android Open Source Project. That’s how open source software thrives, lots of people scratching their own itches and submitting their ideas and software changes for all. But people aren’t that generous are they, they’ll just keep the changes for themselves? No, even with those who do think that way it quickly becomes too much effort – every time there is a new version of Android released they have to reapply their changes to the code, it’s easier to submit it ‘upstream’ into the official version.
What happens if Google really goes evil on us? You mean the Google that employs so many highly skilled (and therefore highly paid) people to work full time on Android and then gives that code away, for free, to everyone and anyone? Unlikely but not impossible, I suppose – management changes, circumstances change. In that case the community just takes the Android source code and ‘forks it’, which is to say they simply build a competing version of Android based on the same, mainly Google funded, source code. Anybody is perfectly entitled to do that. In fact, in essence, Amazon have already done just that with the Kindle Fire. In that instance it was for their own commercial purposes rather than a community-led move, so it will always be something of a dead-end fork but that need not be the case if there were community consensus. Maintainers of open source software, such as Google, always need to be mindful of their user and developer community, lest they lose their project from underneath them. This is what will make Google stick to their ‘Don’t be Evil’ motto more than anything else.
Well, I’ve rambled on in a manner that was rather less convincing that I intended. Clearly I’m not quite in the rhetorical mood I need to be!
It boils down to this: when you invest in open source platforms you potentially enrich us all, instead of the few. Think about the sort of person you are – are you one of those self centred people that you might find working in the City of London or the sort that values freedom and sharing?
You might think it’s just a phone. It’s not. It’s an ethos.
I totally agree with the sentiment of this post – Open Source development and technology is like helping everyone rather than just yourself.
Just a point of clarity – I believe that Android (operating system) is released as an Apache 2.0 license – which means that changes to the original code don’t have to be submitted back.
http://www.apache.org/foundation/license-faq.html#Distribute-changes
I also think that there are (or were) components (GSM code springs to mind) that are proprietary and not open source.