I was sitting in a train in the middle of rainy Ireland when I received a mail that Nokia has bought Symbian and is releasing it as Open Source. I didn't believe a word of it. But the web was full of news about it, so it was true. This is an amazing turn of events that I didn't anticipate at all. (You may or may not know that in my previous job I was heavily involved with Symbian programming. Ironically, one reason I left just 6 months ago is that I wanted to work in an Open Source environment :-)
In my mind I had the mobile world all figured out: Symbian was strong but loosing, all but Nokia looked like they were planning on abandoning ship. (Ericsson sacked half of their UIQ developers the same day this news broke.) Open Source would eventually win as the others would bet their chips on some Linux based solution - although it has to be said that the current LiPS and LiMo efforts look very much like business as usual in the telco world: there are committees who meet to talk about licensing and Intellectual Property, no code repositories or programmers in sight, not what I'd call Open Source at all. But eventually Linux and Open Source would win, and Steve Jobs with the Iphone would come in as a cool second. (That Microsoft need not be considered should be clear by now, if they were going to succeed they would have done so now.) Nokia would stick with Symbian for years, and it would be the leading platform for years, but eventually Linux would win. But this week all of this changed.
Why it made sense for Nokia to do this
If you look at the numbers, it all becomes easier to understand: Nokia paid 264 million euros for the half of Symbian it didn't already own. I've seen conflicting estimates on the web this week, but all of them considered this should correspond to 1 or 2 years of the licensing costs Nokia was paying Symbian anyway. So with smartphone shipments on the rise, this was a bargain!
Having bought all of Symbian, the remaining question is, what is the most cost efficient way of maintaining and developing this "in-house" piece of software further? We all know it: Open Source! Also consider that, very likely there would have been only a few or none other Symbian users left if Nokia had kept it to itself. Being stuck with a complex operating system that you are the only organization in the world to be familiar with is not a good place to be in: You bear all the costs alone, and recruiting becomes quite hard. In contrast, Nokia already knows they are winning against all the other Symbian based manufacturers, and with the Symbian+Nokia combination they clearly employ the best Symbian developers in the world anyway, so they have nothing to fear and everything to win from creating a vibrant Open Source community.
Finally, maybe also the other owners of Symbian were willing to sell specifically on the condition that Symbian had to be Open Sourced.
In hindsight many things are obvious, but I must congratulate the Nokia management for seeing this and making such a surprising move!
BTW, to put the price in some perspective: 100% of Symbian - the dominant smart phone operating system - was valued at 528 million euros, whereas recently aqcuired MySQL - this little Open Source database - was aqcuired for 1bn dollars -> about 660 million euros. There must be something to this Finnish hockey coach's wisdom: "Hockey is a momentum game". While shipping hundreds of millions of units a year, Symbian still had only a handful of customers, and was loosing some of them. MySQL was a smaller company, but is powering most of the Web2.0 explosion, getting new customers and increased adoption all the time.
Why we should have known
With the Internet Tablet and everything, it seemed like Nokia too was going towards a future where - eventually - Linux would also be the de facto mobile operating system. "Eventually", because right now Symbian is a good operating system for Nokia, they dominate the smartphone market with good margins, so there was no rush to get there, but eventually of course they would have to follow the rest of the world onto Linux. (And this was also why eventually the mobile world would also be Open Source.)
But what is lesser known is that Nokia has been working on pulling Symbian away from the dead end it may have been destined towards. For instance, last year they published Open_C which brings the same Posix API to Symbian that Unix applications used. This is the reason Nokia then was able to port Apache, MySQL and PHP to their phones. And Python was already ported. With Posix available, it becomes feasible to port most Linux applications to Symbian. And they had good experiences with WebKit, the Open Source web browser you have on all phones. Why would anyone do that kind of investments, if the platform was destined for a slow death and replacement by Linux? The answer is obvious, Nokia intends for Symbian to live a long life, where we have only seen the beginning.
So is Symbian going to win?
Yes, at least it is to be taken very seriously. What is important to understand is that Symbian is the leading smartphone OS for a reason. While for a developer it might seem very arcane to have to hand-code the exception handling and use the weird two-phase constructor, Symbian has for all these years had an advantage compared to Linux, which after all was initially designed for desktops and large servers. So it may be hard to develop on and it may not have the sexiest user interface (actually, that is the one thing I think Sony Ericsson has that Nokia's S60 hasn't!) but it has had the features that matter in the mobile world: It requires less memory, less battery and runs on smaller processors. This is by the way the same reason Microsoft has not been successful in the mobile phone market, some years ago you couldn't have a Microsoft phone that fitted in your pocket and had a battery that would last for more than a day. And it is the reason Java was never really used either (sorry Jonathan) other than for games. If you have a processor that barely runs your C++ apps satisfactorily, it doesn't run your Java code satisfactorily, that's just how it is.
These things matter in the mobile world... I always remember a great example by my university lecturer, who also worked for Nokia, that put things in perspective for me: At that time phones had their firmware on Flash chips that may have been about 64MB and 128MB in size. So suppose the bigger chip costs 1 euro more than the smaller one. Suppose then that the operating system and applications of a new phone need 69MB of space. Does it matter? What would you pay a programmer that could optimize the code to make that 5MB go away? To save the 1 euro... Consider now that you'll ship maybe 100 million phones... What would you pay that programmer to save 1 euro per phone?
It is for these kinds of strange reasons that Symbian has been the most popular smartphone OS to date. It was for years the industry choice for producing small phones with less hardware with long battery lives. (That is not to say the most popular phone OS, which may very well be Nokia's proprietary OS known as S40 with the "not-so-smart" phones.) And while Linux has been getting there in the last years, Symbian has been there all the time and has dozens of devices that have shipped hundreds of millions of units.
So technically Symbian has its strengths, and now that you can choose to program more POSIXy code on it too, it may actually draw new developers as it becomes available Open Source. And of course you can share applications between Symbian phones and Linux phones, which is the whole point of Open_C of course.
The key question is how Nokia (and the other members of Symbian Foundation, let's not forget) succeeds in creating a vibrant Open Source community of Symbian developers. Like a wise man once said, it's all about Developers, Developers, Developers, Developers... :-)
The key difference between the Symbian world compared to both the Windows and Linux camps is that it has always been a small close-knit and almost closed society. Symbian wasn't taught in most universities until some years ago, and what's worse before the Eclipse-based Carbide there wasn't even a free development environment available (you had MS Visual Studio and something called Metrowerks Codewarrior) so it was really impossible for a hobbyist to get into Symbian development at home. Such developers were practically extinct. The only places you could find Symbian developers were at the phone manufacturers and their subcontractors, which had to run their own training curriculums, since there were no Symbian developers "out there" they could have hired. To change this past into something where the Symbian community is as vibrant as the Linux community, or at least the Eclipse community, after which the Symbian Foundation is modeled, is the key to whether Symbian will succeed or not.
But it is still locked...
Some of my friends have pointed to a recent discussion around Ari Jaaksi and the fact that Symbian phones will still come with SIM locks, DRM and signed software, not very open at all.
Yes, and Tivo will still lock down Linux too - tough luck. What is important here it to understand the difference between Open Source software and what a manufacturer of a particular device is doing. If you have a problem, just buy another device!
What is there left to do?
The Open Sourcing of Symbian - a full Operating System which is dominant in its market - is such a big contribution, it deserves to be put into some historical context. It is actually now 10 years ago that Netscape released the Mozilla browser code as Open Source in 1998. And this was the first time that a significant commercial closed source piece of software was Open Sourced, in fact it was the event that led to the birth of the term "Open Source" in the first place. Before that we had "Free Software", started mainly by Richard Stallmans GNU project in 1984 and anything before that is just apolitical pre-historic times.
Within these last 10 years we've had many significant Open Source releases happen: OpenOffice (SUN), Eclipse (IBM), Solaris (SUN), Java (SUN), InterBase, Ingres, Solid, etc databases... Out of these I'd say Java perhaps can be compared in commercial value to Symbian. But in my mind it was OpenOffice and Mozilla that were crucial building blocks in the Open Source stack, without of which life on Linux would have been hard. We could actually have lived without Java being Open Source, there are many Open Source languages to choose from and Mono in particular would have been very Java-like, but it is of course really nice that JAva is Open Source. To further emphasize my point: The Open Sourcing of all those old databases hasn't really affected the dominance of MySQL and Postgres.
The release of Symbian is therefore such a major thing, the final question is, what's there left to do? Not much, if you ask me...
- On the Linux desktop you have some complaints about NVidia closed source drivers and Adobe's Flash, but these are really small things and both of them will clearly be dealt with one day or another.
- What if Oracle or Microsoft started going 100% Open Source? That would be big, but does it really matter? Would you switch to using Windows and .Net? I know I wouldn't if I just could avoid it...
- In the "devices" category, Linux can already power most ADSL and WiFi boxes (it doesn't always do that, but it can), you can have your entertainment center run on Linux (really cool video).
- Gaming. There are Open Source games, but the most popular ones are still closed source. This is however not such a big issue, your business or important data is typically not reliant on a closed source game. The dynamics of the gaming business seem to be different than the rest of the software industry, that's all.
What I'm left with is the question: Are we there? Is this it? Is all that is left just some minor cleaning up after the big battle has already been won?
I think it might be. For me, somehow the day I read the news of the release of Symbian as Open Source marks the milestone when it was clear that we had "won". It was the big battle, Waterloo, Normandy, whatever you'd call it, the decisive point after which it is clear that the world has changed.
If that indeed is true (and you may not agree and that's fine) it leaves us with the final question, what will the next 10 years be about? (Other than the "cleaning up" of Nvidia, Oracle and Microsoft.) My guess is that the next 10 years we will see new business models based on Open Source, and Open Source business models competing against each other rather than against closed source, which will eventually become marginalized. I believe there are new business models yet to be conceived of, and some that will perhaps disappear (for instance, nobody sells Linux distribution CD's anymore).
Therefore, the history of Open Source could be written as:
1970-1983: Development of C, UNIX, Internet (implicitly a Free Software culture)
1984-1997: "Free Software and the GNU project era", actively furthering Free Software ideals by individuals developing Free Software
1998-2008: "Open Source era", companies getting involved in Open Source projects and releasing their own code as Open Source.
2009-....: The world is Open Source. There is therefore nothing revolutionary about being in an Open Source business, it is weird if you're not. But new and better business models are still innovated in response to the changed dynamics in the new world.