I have been thinking of this idea for some time especially after the launch of Android/OHA – and a recent email from Curro Dominguez of Vodafone Betavine R and D who attended my IMS course at Oxford university prompted this blog.
I seek thoughts on this – and admittedly I may not have got everything right here. Note also that this article/blog is specific to the mobile domain – however similar principles may apply to the Web as well.
So .. Here we go ..
Interoperability and standards
In any consumer based service, we need interoperable standards for the market to blossom
There are three ways to do enable interoperability – the first is by a monopoly i.e.. A single standard controlled by one company. The second is via open standards and standardization bodies and the third(which I find most interesting) is via open source
The open standards process is now well known. For instance, W3C is a standardization body and its process is outlined HERE
As with any standardization body, it comprises submissions, committees, consensus, working groups, draft proposals – so on and so forth.
The result is – all standards from any standardization body have three problems:
a) They are slow i.e. they take a long time to materialise
b) They are ‘standard’ i.e. they leave little room for differentiation
c) Even when there is some effort towards standardization/consensus, there is no guarantee that the market will not fragment(such as in the case of J2ME)
Besides this, there are other problems – for instance -
a) Some companies actually thrive on fragmentation(transcoding companies/testing companies etc) and on the flip side – there are business models built around standardization by standardization entities themselves (for example testing, compliance mark, certification, training etc)
b) IPR management is also an issue
c) Finally, many companies support standards retrospectively. This means they are ‘compliant’ but only later when it makes little difference anyway.
The result is a slow, imperfect process, which does not always work. However, the options are much worse .. Essentially a commercial monopoly
Can Open source offer a third way forward?
It appears to be a road which companies are increasingly taking – especially with Android/OHA.
Firstly, for the sake of this discussion, let us differentiate between Open standards, Open systems and Open source
We have already discussed Open standards above – i.e. standards which are consensus driven and created by a consortium of companies with some form of community/committee process
Open systems is a term where users are not restricted by any commercial or technological means i.e. no walled gardens. The meaning of ‘open’ in this case is dependent on context. Recently, facebook opened up it’s APIs to third parties. In that sense, facebook is ‘open’. However, within facebook itself, you cannot contact any user without an introduction(unlike in MySpace). So, in that case, facebook is ‘closed’. Hence the meaning that : open = users should not be restricted by any commercial or technological means – is generally valid
Which brings us to ‘Open source’. For once, the Wikipedia article on Open source is not very clear. Hence, I am using a very simple, concise viewpoint to explain this, rather emotive for some people, term
Open source software is managed and promoted through an organization called Open Source Initiative -which maintains an OSI definition and endorses a set of Open source licenses which comply with the OSI definition.
All this is simple enough. However, the term ‘Open source’ was created to distinguish from another term called ‘Free software’ coined by the free software foundation. .
The principal philosophical difference between the free software foundation and the open source movement lies in ‘what to do with derived works’ also called Copyleft . The free software foundation believes that derived works should also be covered by the same terms as the licence(copyleft). In other words, if you modify software under the FSF licence, then the derived work must also be released back into the community.
In contrast, depending on which license you adopt from the open source foundation, derived works need not be released back to the community(there is a secondary question of what constitutes a derived work – but we will leave that aside for the moment). Specifically, the Apache licence v 2.0 covered under Opensource is not copyleft. In other words, any derivatives need not be released back into the community (thereby preserving IP rights of the person modifying it).
There are philosophical debates about this (and one can argue that the copyleft principle is more viral – see wikipedia link on copyleft above)– but the counter argument is that – companies will want to preserve their modifications for commercial reasons and there will be no commercial incentives for people if you force them to also release any derived works.
Of course, none of the open source (and for that matter the free software) licenses mandate ‘commercially free’ i.e. you are free to charge people (or not) for the software and derivatives.
Open source and Interoperability
Open source conjures up images of pony tailed geeks writing Linux code .. but there is another class of contributors enabling the rise of open source.
Why would companies want to contribute code under open source?
To facilitate interoperability and to grow the market.
In addition, unlike standardization which is top down, complex and committee driven : Open source initiatives are grassroots, simple and needs based since they are often solutions to specific problems. This makes the whole process simple and quick with unviable initiatives cut down at the source.
The biggest proponent of Open source in recent times is Google – with Android. The Android user space software is released under Apache version 2.0.This provides a commercial incentive for companies to develop modifications in the application space. See this fantastic post on why Google chose the apache license over GPL v2 for a detailed discussion on this topic.
Of course we have to reiterate that open source is not always better than standardization and ultimately I expect that the two will coexist. But certainly, it is a space to watch.
Others have spotted the same trend.
Readwerite web correctly (in my view) identifies open source as the most promising trend of 2008 but wrongly(again in my view) mixes the three terms Open source, Open systems and open standards(for example the Opera lawsuit is not about Open source – it is about open standards since Opera itself is not open source as I understand it)
Finally, we come to the email from Curro Dominguez of Vodafone who works with Vodafone betavine
I have blogged about betavine before and people like Dan Appelquist and Stephen Wolak who work with it are very clued on guys – so I am watching betavine with interest
Hence, I was interested when Curro told me about MobileScript which is an ECMA script that allows developers to access device functionality (calls, messages) in a simple manner.
It’s also one of the first projects to be released as Open Source (GPL v2)
See this YouTube video
As Vodafone are doing (correctly in my view), I see this to be an increasing trend – and it will be beneficial since companies will address specific problems, they will court developers, Android/OHA will provide legitimacy to the whole area and we will balance the objectives of fast development cycles, interoperability and with no monopolies
Also, I wish to acknowledge the thinking from Andreas of visionmobile which I have used to clarify some of my own questions in understanding Open source.
Any comments welcome
Related blogs coming soon:
The Blu Ray debate about openness
The iPhone debate about openness