Last week I had the privilege to participate in a panel at PARC where the main topic was the Openness of the Mobile operating systems. One of the key misconceptions is what defines an "open" platform. Many people think anything related to Microsoft is closed, which is in many cases based only on a prejudice:
- Does Open = Free? I don't think so. If this is the case, there is plenty of free software from Microsoft: from Visual Studio 2008 Express Editions to SQL Server Express to Windows Movie Maker to Sharepoint Express to many other software products available at the download center. While everyone likes not having to pay for software, without an economic model it is hard to trust on continued investment and long-term viability of any technology.
- Does Open = Source Access? I don't think so either. I don't think there are many people who really look at all the source code. Code is hard, and it is hard to understand what a piece of code does without understanding a lot of code. If this is the case, there are plenty of programs from Microsoft to make the source available to customers an partners - including Windows CE to Windows Vista.
- Does Open = Joint Development? Even putting aside all the risks of letting all kinds of people contribute code in a software project, there are a few cases where the open source model has produced quite good technology and other that have been more chaotic. Two challenges of this model are fragmentation (just look at how many distributions and version of Linux are there) and vision because when everyone contributes equally, decision by committee usually results in an agreement to the lowest common denominator.
What do I mean: let me illustrate with an example: PlayStation (to avoid using Xbox, another Microsoft example, although it applies equally): The PS platform from Sony is as "closed" as platform come: Sony makes all the decisions on the platform hardware, business model, APIs, etc. Developing a game for PS requires a significant investment in money and following Sony's rules. For all its lack of Openness, the PS model has one thing going for itself: consistency. All tens of millions of PS2 platforms worldwide are essentially the same, which means a game developer can invest millions of dollars creating a game because the game will run on millions and millions of consoles. Try that on a J2ME phone created by the JCP committee.
- Maybe Open should mean a platform people can innovate on top of and make money. From this perspective, Windows Mobile is a pretty open: 18,000 commercial applications, hundreds of thousands of developers have downloaded the SDK to develop applications to the fully documented APIs, thousands of partners are 'Mobility Competent" (a specialization in the Microsoft Partner Program), Over 50 device manufacturers are innovating on top of the OS, thousands of system integrators are adding value in software and services on top of it. In other words: Microsoft has provided a base platform on top of which many many people are innovating and making money today.
Then, what is "Open"? and maybe a better question, is Open good?