Converting to Open Source

I went to the Symbian Partner Event yesterday, and then grabbed some dinner with a bunch of folks from Symbian and Nokia afterward. Most of what I was interested in hearing about was how they plan to convert to open source. There’s some info up already at the Symbian Foundation website, but that’s all very much marketing oriented material without too much detail about the major important factor – the code. Charles Davies gave a presentation toward the end of the day that laid out some additional details though.

The folks at Symbian and Nokia are just putting together the disparate code bases they work with and trying to unify the layout. They’ve been breaking up the code into sets of modules, it’s looking like there will be about 100 modules all told. The code roughly breaks down into operating system elements, middleware and API elements, application elements, and then some desktop packages. Not everything is going to be open sourced right off the bat, they’ve mentioned that before, due to encumbrances of existing licensed code in the base as it stands. Whole modules will be open sourced however, so that when you get some code it should represent the full set necessary to understand and debug a particular function. I was concerned initially that the open sourcing might follow some kind of horizontal stratification, which would be a lot less useful to anyone looking to dive in and understand how something works.

Which leads to the next question, if you’re a developer at least, can I compile the open source bits and run them somehow? I asked David Wood that later on in the evening, are the parts that aren’t open yet going to come in a binary form that I can use with my own compiled modules to link up a running system? Actually, that is the plan, but the details are still getting worked out it seems. Which would be awesome, I would love to be running a hacked version of my E71 firmware that adds a few functions to the standby screen. However, the partially open model is going to mean that porting to a new platform isn’t something that the standard basement hacker could undertake for a while.

The other interesting bit in his presentation was their approach to branding and ensuring a consistent platform across Symbian based devices. They’re actually putting together a software test suite to exercise the APIs and behavior of a base system and using that as the yardstick for compliance. And the test suite itself is part of what goes out as open source. If your product passes the test suite, you should be good to go. Very nice.

Overall though I think the foundation has some learning to do still about interacting with developers and really enabling a larger ecosystem. Lee Williams, the current Executive Director for the foundation, spent an awful lot of time bashing the Apple and Google store models because they’re old style thinking “control points.” And people need to get away from thinking in terms of control points and start thinking about enabling. So I asked a question about application binary signing, which is an excellent example of control point thinking and a common stumbling block for folks looking to do Symbian development. And his answer was pretty much “Well, that we need because this is telecommunications, and that’s the way telecom works, it’s actually a benefit not a hindrance” and went back to bashing Apple and Google. Booo. Bad form.

Fortunately David Wood and a few folks from Symbian where around later on to pick up the conversation that Lee tried to shut down. Although signing will probably exist going forward in Symbian, they are looking at reworking the mechanism and making things easier for developers. In particular I tend to use the example of getting GPS support into Python for S60. One of the benefits of Python on S60 is supposed to be that you can develop for it without having to get into the details of dealing with the standard SDK (great for me, I don’t use a Windows machine). You cut off that benefit if the developer needs to sign Python modules in order to get access to the interesting functions. In my mind Python is great to enable prototyping and experimentation. Exactly the areas where you would like to expose new and enhanced functionality. I think some of the folks heard the message, but it certainly wasn’t universally received.

Hopefully this is a learning process, and we’ll see the Symbian Foundation folks moving more and more toward genuine open thinking. Right now there seems to be a mix of marketing oriented open thinking together with some deeper understanding of the technical benefits of being open. That’s one of the nice things about being open however, it’s a model that tends to overtake other models.

This entry was posted in Community, Open Source, Software, Technology, ThisIsMobility. Bookmark the permalink.

5 Responses to Converting to Open Source

  1. Pingback: Open Source Symbian and N97 Hands-On | Wap Review

  2. JonB says:

    “The other interesting bit in his presentation was their approach to branding and ensuring a consistent platform across Symbian based devices. They’re actually putting together a software test suite to exercise the APIs and behavior of a base system and using that as the yardstick for compliance. And the test suite itself is part of what goes out as open source. If your product passes the test suite, you should be good to go. Very nice.”

    I read this and thought I’ve read something very similar recently. Sounds like Google are doing something similar with the Android platform according to Rich Miner, who was talking to the MIR guys at FoM.

    http://www.mobileindustryreview.com/2008/11/mir_show_-_week_46_-_rich_miner_from_google.html

  3. bcarney says:

    “asked a question about application binary signing, which is an excellent example of control point thinking …..”

    On the contrary, and this is the most widely misunderstood aspect of Symbian Signed; i.e. it’s primary purpose since inception, has been to ensure openness and prevent a control point.

    Symbian Signed consists of an independently obtainable identity certificate (Publisher ID), independent test houses and an industry agreed test criteria.

    Symbian Signed is not controlling, censoring or profiting from anyones application. The result, for almost all of the device capabilities, if you meet the requirements of the test criteria (a basic common sense regression test) your app will install on any Symbian S60/UIQ device on any operator network via any distribution channel anywhere in the world?

  4. miker says:

    Hi Bruce! There’s definitely upside to be had from a signing process that validates authenticity and guarantees compatibility. The process should get out of the developers way unless they feel like taking advantage of those traits however. The current system feels like it’s tilted way too far in favor of carrier/operator concerns instead of developer or even end-user. I might be biased because the signing process has caused me headaches before, and I haven’t yet at all derived any benefit at all from it in any form across any project. Maybe that’ll change at some point if Skyfire gets big enough. But we haven’t hit that inversion point yet.

  5. Pingback: Mike Rowehl: This is Mobility » Blog Archive » Continuing Symbian Signed Conversation

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">