Open source vs. Open Standards – complementing or competing?

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

Open source

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.

Companies

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.

For instance,

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)

Vodafone betavine

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

Comments

  1. Hi Ajit,
    For the analysis to be complete, it would be interesting to highlight the issues related to the open source in an open market. I love open source but I also know that some companies will not choose this option at all for developing for x reasons. A solution is viable when an ecosystem (Software market) is the host of diversity.
    An open source project is a piece of code developed under certain principles of visibility and sharing. There are very bad open source projects and very good. Some undocumented, some breaking compatibilities, …
    A technical specification is a document developped under certain principles and requirements. Some of these technical specifications are developed by a large community of interests, some are developed by one person openly or privately. The larger the community is, the longer the agreement takes. That’s normal.
    These are completely two different beasts. Some open source projects will use a technical specification to develop their code. Some don’t. Some commercial companies will use a technical specification which is open, some will use an internal document.
    The technical agreement, the interoperability are the results of the will of a market (community of interests) to agree on something. Be open source, be private interests, be a mix of both, the timeline and the constraints are pretty much the same: Community agreement because of money, fame, good will, sometimes laws etc.

  2. Sebastian Thalanany says:

    Hi, Ajit,
    Interesting perspectives.
    In a nutshell, the objectives of Open standards and Open source are complementary.
    Open standards are based on consensus, where the development of specifications is guided by a variety of diverse, often conflicting, requirements that are driven by regional and global market trends, through debate and discussion. The specifications that result from an Open standards initiative are expected to be crafted such that no infringements on implementation specific aspects occur, although the debate and discussion associated with the development process cover the implications of an implementation or a deployment. An Open standard specification always contains normative text, and in some cases contains informative text to exemplify applicability, through use case scenarios. The intent of Open standards is to promote interoperability across logical functions, through the use of well-defined reference points, interfaces, configuration options, protocols, procedures and APIs, to promote a ubiquitous framework for market expansion and innovation, while simultaneously reducing costs, independent of business models.
    Open source initiatives are typically associated with an implementation or a deployment. These initiatives are also applicable within the framework of an Open standard specification, since the objectives of an Open standard and an Open source initiative, are inherently orthogonal.
    Thanks.
    Regards,
    Sebastian

  3. Ajit Jaokar says:

    thanks Sebastian. Good comments.
    I agree that these requirements are sometimes orthogonal.
    However, I dont think that open source always is ‘within’ the standardization framework.
    for instance, there are five (at least) bodies standadising Linux. Android could have worked within the framework of one of them – but it is a different beast. similarlym there are many smaller OS initiatives designed to solve specific problems – such as Nokia S60 webkit. Hence, I think these areas are complimentory – however – clearly a third way is born. And with Android – the clock is ticking since the approach has got the mindshare(my blog for example and also other blogs !) i.e. this issue would not be on my radar except for Android!

  4. Ajit Jaokar says:

    thanks Karl. Good insights. My point is – a third way is born. Like I said in the previous comment – Android will provide a legitimacy to this approach. I think there are many things unclear about OS business models(maybe subject of a different blog) .. but the principle is valid. There are many instances(such as Eclipse foundation) where companies have driven collaboration via open source and have made a big impact in a short time. I have some more thoughts on this and will post soon kind rgds aj

  5. * Eclipse is a software. It interoperates with itself. :)
    * Android is an SDK. It interoperates with itself. From their site “Android is a software stack for mobile devices that includes an operating system, middleware and key applications.”
    * Libwww is another opensource library created by W3C implementing requirements defined in the HTTP specification. Libwww is used by a zillion of applications.
    But software and technical specifications are not the same thing at all. They are two different beasts at all.
    Technical specifications defines requirements for *multiple different softwares* to interoperate together.
    You could compare principles of community interactions in open groups, semi-close groups, close groups, etc. There is a lot to say about that. But that’s unrelated to Open Source vs Standard Organizations. The HTML WG and some others at W3C for example are completely *open*. Exactly like an opensource community. It creates its own constraints.

  6. Ajit Jaokar says:

    thanks Karl. have a lot to say about this but probably the subject of another blog. kind rgds aj

  7. Curro says:

    Hi Ajit,
    Very interesting comments about open source. Developers are happy with Android, but maybe Java developers aren’t so happy. Another ‘java’ platform? Open but new and incompatible? Well, market will say.
    By the way, the Betavine site has a forge (http://forge.vodafonebetavine.net) and it can be used for anyone as a code repository.
    Regards,

  8. In the grander scheme of things I think it is standards, not open source, that wins out. You can’t market open source, no matter how hard you try. Even though a third of Europe is using Firefox do you think they care that it is open and free? Hardly. Yet the standards (HTML, AJAX, CSS) established let it compete in the space dominated by IE and even lets smaller players (Opera, Safari) take a shot at the crown.
    Open is a buzz word I don’t want to hear anymore. Interoperable standards, while not as sexy, is necessary for this industry to flourish.