Thursday, 29 March 2007

Cost/Benefits of open sourcing for Symbian

Over at The Mobile Lantern, Fabrizio Errante raises the idea of open sourcing Symbian OS. This has been raised before, so I thought it worth addressing.

Many people seem to forget that open sourcing has costs as well as benefits. The question for any particular product/project is, do the costs of open sourcing outweigh the benefits, or vice versa?

Let's do a quick overview for Symbian:

  • Access to a bigger pool of developers to work on the codebase
  • Access to niche-specialist developers
  • Codebase becomes free (benefit to the customer)
  • Buzz
  • Codebase becomes free (cost to the provider, who can no longer make money from licensing)
  • Loss of control of codebase
  • Loss of control of developer quality (to be honest, much OSS is of very dubious quality, leading me to believe that either the developers don't have the time/energy to put in quality work, or there are few quality developers working on OSS)
  • Product direction driven by niches, rather than mainstream

I contend that the above costs and benefits (which are not exhaustive), apply to all OSS projects, not just Symbian. But the impact of these costs and benefits are different for different types of projects. So how do they affect Symbian?

Well, the main one bandied about is the codebase becoming free. I have seen quite a number of comments about how Symbian will eventually lose out to Linux due to the COG (cost of goods) pressures on phones. The most recent example is from a analysts at ABIresearch. This, of course, flies in the face of significant evidence that indicates otherwise: the continuing success of Windows as a desktop OS, despite intense pricing pressures on PCs. But then, analysts usually don't seem terribly connected to reality.

The problem with all of this is, ironically, exactly what MS argues: OSS software is only free in the sense that the codebase, as it is, doesn't cost anything. Of course, the chances that the existing codebase will be satisfactory are fairly slim. (The irony in MS pointing this out, in case you haven't guessed, is that MS's codebase is far from satisfactory, and MS seem incapable of rendering it so.)

So the TCP (Total Cost of Production; made that one up in lieu of searching for the real term) of a Linux based phone is likely to remain at least as high as a Symbian one. So there is no real benefit to the customer (i.e. the handset manufacturers), and a very real cost to Symbian (they can't get any licensing revenues if Symbian is OSS).

How about the access to more developers and niche-specialist developers? Well, this benefit is offset by the cost that these developers are a) relatively poor quality and b) relatively uncontrolled. For Symbian, these costs matter. Symbian is creating an OS, not some dodgy web 2.0 app. Quality is critical for this type of software, and so is tight control. A poorly controlled API leads to fragmentation (just look at Linux). As for quality, Linux has demonstrated that OSS can deliver quality, but it seems to come at the cost of fragmentation (again) and bloat (both of code size and app UI).

Don't get me wrong, I use Linux (Fedora), but only as servers, where bloat and fragmentation aren't as critical. But on a phone? Give me a break!

The problem is that these forces are a natural by-product of the OSS process. They can be fought, but not completely neutralised. And they are all inimical to Symbian's strengths.

So should Symbian consider OSS?

No way!

Should Symbian release source code via a free license to developers? Hey, that's a different (and great) idea. And so should Nokia (with S60) and UIQ. The old days of ER5's Eikon source being available in the SDK were both better (access to the source meant inheritance was a lot easier in some ways because you could see what you were inheriting) and worse (Psion was lazy with documenting the code, because you had the source). Heck, if MS can release source to some of its UI code, I'm sure Symbian can.


Markus said...

I very much disagree with your opinion that open sourcing a codebase leads to a loss of control of a) codebase b) developer quality and c) direction.

Looking at major open source projects such as Linux kernel, Firefox, Apache web server or the X11 system we can see that even though all are ran by a community of developers there is a very clear leading person or a group setting a direction. Also, not just anybody can submit code to one of these projects. There almost always exists a group of trusted senior developers who screen the entries by the more junior participants. Access to this senior inner circle can be had by repeatedly submitting quality code and thus proving yourself. The inner circle also has very much say in which direction the development will go.

In the case of corporate backed open source projects such as Java, StarOffice or Eclipse the inner circle mostly consists of the employees of the corporate backer because they get paid to participate and thus can contribute more. The biggest hurdle in open sourcing a product is actually building a community and attracting some outside contributions.

Anonymous said...

Find and download that you need at Rapidshare Search Engine.
Top Site Lists Free Proxy Site Free Download mp3 Michael Jackson song All Michael Jackson Lyrics Hollywood Celebrity Gossip Download Mp3 Gratis download naruto download naruto shippuuden windows 7 activator