Friday, April 30, 2010

Degree of openness

This week, I read about an interesting advice Steve Jobs of Apple had for Adobe. Apple was responding as to why Flash is not part of Apple products (iPhone, iPad, iPods etc). Apple argument was linked to Adobe's charge that Apple software is closed and proprietary and needed to open up. In return, Steve argues how the reverse is true. That article has inspired this one.

To me, the two most closed software entities (for justified or otherwise reasons) are products from Adobe and Apple. Maybe it is so because Apple had a 20% share in Adobe in its early days and Adobe's thought process may have been influenced by Apple's. Be that as it may, it was plain hilarious to read about Adobe and Apple charging and counter-charging and claiming how theirs is an open software and how the other is not.

Let us try to develop a scale that shows the degree of openness. Let it be a scale of 1 to 10, with 1 for closed and 10 for open. While what definition of closed is well and truly understood (the iron cage), it may be prudent to define what is open. An open system should provide free access to source code, should allow its free re-distrubution, should allow free distribution of derived work, the license should be technology neutral and should not be product specific. On such a scale, I would be tempted to rate both Adobe and Apple at "1".

But in reality, it is not that bad. Both Apple and Adobe, while closely guarding their respective softwares, do have opened up their software to the extent of interface APIs for developers from open community to develop applications using these softwares. Today, there is a huge developer and third party application community that develops unique and interesting apps for both Apple and Adobe, that are not shipped by them with the product. So they are a bit open. But they still are not open in the true sense of the word. The main engines are still closely guarded. So may be let me rank both at "2".

Let us look at the other side of the spectrum. Is there anything truly open? That is, is there any software that can be ranked at "10"? Well there are many. My favourite has to be Linux. When Linus Torvalds announced the launch of Linux in 1991 with an intention of tapping many volunteer programmers, the end product was a complete OS that one can build from scratch. The entire OS source code was available and it was truly an open system. What is remarkable 20 years hence, is that Linux continues to remain open and in the forefront of list of products that are truly open. I dont think anyone will doubt my intentions of ranking it with a score of perfect "10". Ofcourse there are many other open softwares that score a perfect "10". Apache HTTP web server, for example.

Couple of years ago, Google vowed for openness and announced launch of Linux based Android platform for mobile phones, that looked a relevant alternative to Apple iPhone OS. It wowed the enthusiastic amateur and developer. On the same scale of openness, I would be tempted to rate Android a perfect "10".

But wait! Soon it became apparent that Android was not open after all. There have been frustrations about lack of SDK updates. The new versions of the SDK were being released under NDA. Non-disclosure agreements, selective access to development tools are hardly emblematic of open source ecosystem and did not strike the right chord with the developer community. Unlike Linux release management, there was a lack of transparency in the development process for Android. What was promised a truly open OS, has not been so after all. So a perfect "10" becomes an imperfect "10" for Android. Maybe an "8".

User experience is most important. Steve Jobs says it is documented that integration of Flash brings down Mac OS. What open softwares do is allow a third party investigation. With one black box resident on the other (Flash on Mac OS, for example), it is difficult to judge. Flash may certainly have issues with Apple OS, but flash has also been a reasonable success outside of Apple products. There are many users of Apple products and many users of Flash.

In summary then, what is open is not so open, and what is closed is not so closed. There are shades of gray. But also, there are shining examples of products that are truly open and also of products that are truly closed! It is a completely different matter and matter of opinion, as to whether Apple can and should be allowed to take moral high ground in labelling "Adobe products as closed and proprietary" !

1 comment:

  1. As far as Andriod is concerned it may not be so open for the 2nd party developers (aka OEMs, handset manufactures) I think its open for 3rd party developers (aka those who want to flash their phones with their private build). So openness of Andriod depends on which party you belong to and what u want out of Andriod.