Another suitcase in another hall…

My first day in the Symbian Foundation, and it’s like living in a building site. This is true for the physical building – there is drilling and hammering going on as the reception area is being constructed – but it’s also true for the software.

The Symbian Platform is being seeded by a massive contribution of software from Nokia, but nothing is ever that simple. It’s rather like buying a house: what you saw was someone’s home, when you agreed the contract there were things explicitly removed (“We are keeping the washing machine”), but when you take possession it feels like an empty shell. It takes work to make that house into your home, and it’s hard to see how much work will be involved until the day you get the keys.

In our case, what we saw was the working software that is being updated, built, tested and deployed in Nokia phone prototypes, supported by teams of people with well-established development cycles and delivery processes. What we received today is most of the raw source code, and our immediate task is to establish our own build and delivery processes.

Not all of the working software we saw belongs to Nokia: over the years many Make/Buy decisions have chosen the Buy option, and licensed software from other organisations, for example the Java virtual machine and standard classes. An enormous amount of work has gone into identifying precisely which source files can be contributed to the Foundation, but it’s only now that we can really see the result and discover how much is missing. Some code will have been removed by accident, and will be contributed later when Nokia have had a chance to separate their code, but other pieces are more fundamental.

I’m looking forward to getting stuck in, and I’m hoping that you will be interested in our progress.



Tags: , , ,

16 Responses to “Another suitcase in another hall…”

  1. Tyson Key Says:

    Out of interest, won’t Sun’s decision to release Java as open source, a while ago make a difference as far as open-sourcing the Symbian OS Java implementation goes? Or are they licensing it from another organisation/under different terms?

    • wtr1 Says:

      Unfortunately not – Java is released under the GNU Public License v2 which isn’t compatible with our intention to use the Eclipse Public License for the Symbian Platform. We would be worried about the GPL conditions spreading out to parts of the platform as we implemented various Java Native Interfaces to access platform APIs: the JNI implementations are clearly extensions of the GPL code, and so we would be required to contribute them under the GPL license.

      Existing Symbian phones include Java under a commercial license.

      I don’t yet know how we are going to resolve this one. Everyone has to have Java these days, but it’s not really much of an opportunity for product differentiation, so it would make sense for the Symbian Platform to include a Java implementation that everyone can use. We may need to do it under some kind of R&D license: everyone can develop using it, but anyone selling devices using the Symbian Platform would still have to get their own commercial license with the IP owner.

      One thing I do know – we aren’t going to do dual licensing or switch from the EPL. The EPL is a fine license for our basic approach, and creating special licenses doesn’t work…

  2. Tyson Key Says:

    Given by how influential Nokia (and by extension the Symbian Foundation) are, won’t Sun budge/give some leeway as far as licensing goes? I’m sure that they could use their CDDL license, which I believe is compatible with the EPL.

    On another note, I wonder if RealNetworks will join the Foundation, given that their code ships on a large number of Symbian OS/S60-based phones today, and they’ve been running an open source initiative for a while.

  3. Mark Wilcox Says:

    I doubt it, Sun dual-licenses under the GPL because they know that most (all?) device manufacturers can’t live with the conditions of that license and will pay for a commercial alternative.

    I don’t think many people see much of a future in Java ME, so most likely this will be resolved by manufacturers independently licensing the Sun implementation for the time being.

    Longer term, there are other possibilities, like the Dalvik VM (which is licensed without copyleft) or some mobile version of Java SE (which still needs license issues resolving of course).

    RealNetworks Helix client had (still has?) a kind of semi-open model where you have to sign up to a legal agreement to get full source access. I believe they still licensed their own codecs separately and of course the client branding is important to them too. I’d be surprised if they EPL’d everything but it isn’t completely out of the question.

  4. Tyson Key Says:

    Re: RealNetworks – It appears that most of the source code for a player, and a number of codecs is there as part of the Helix Project (released under the RealNetworks Public Source License, RealNetworks Community Source License or GPLv2), although they seem to have restricted access to the repositories containing Symbian OS port for some reason.

    Naturally, you still have to license the RealAudio and RealVideo codecs from them, if you want them, as well as RDT, although they cover the basics otherwise – MP3, AAC/MPEG-4, H.263, H.261, SMIL, Sun Au, AIFF , Ogg Vorbis and Ogg Theora, WAV, most image file formats, and as far as I know, AMR.

  5. Mark Wilcox Says:

    I guess one reason for the Symbian version being closed is that it uses APIs that are not yet public.

    Also remember that many codecs have open source implementations but are still covered by patents that need to be licensed. Nokia has avoided Ogg because they’re concerned about such a patent infringement apparently (although this is strongly refuted by Ogg supporters). Also note that codecs for mobile devices are typically implemented on a separate DSP and it’s not likely that the source for the DSP code will be part of the platform either (although there will probably be a binary for the reference platforms available). Maybe one day.

  6. Tyson Key Says:

    Having thought about this stuff some more, yesterday. Although I’m not willing to dampen enthusiasm, does this essentially mean that the resulting open-sourced code will be an empty husk, devoid of any useful functionality? (Assuming that it’s still capable of booting, of course).

    Given that the chances of a Java implementation being available are minimal, thanks to deep integration, the fact that mundane stuff like the font renderer of all things are licensed from a 3rd party (Agfa Monotype, if I remember correctly), and that some software functionality is reliant upon corresponding hardware (like our multimedia codecs), I’m starting to have doubts – although I’m sure that the Foundation have an ace up their sleeve, and they’ll manage to reveal more later.

    • wtr1 Says:

      Not an “empty husk”, but it will certainly have some blemishes and difficulties – predictive text input is another licensed technology which will be missing, but as mpwilcox points out, font rendering is OK because the platform contains the Freetype rasteriser as an alternative to the Monotype iType rasteriser.

      Do we have aces up our sleeve? The honest answer has to be No. We are talking to IP owners about contributions or binary licences, but we have stated that it could take up to 2 years to resolve all the holes. I’m expecting to see things move faster when people can contribute solutions to the problems which most affect them.

      • Tyson Key Says:

        Hmm, thanks, you raise some interesting points. I take it that the framework is modular/flexible enough (i.e. has APIs suitable for the type of functionality described, and doesn’t have too many over-interdependant components) to allow people to prise out things like the font renderer and PTI system and implement their own versions, if they wish?

  7. mpwilcox Says:

    Initially you might not be able to do much without membership of the Symbian Foundation, but when everything’s in EPL is won’t be an empty husk.

    Java ME is on it’s way out, so the lack of it isn’t such a big deal – a port of Dalvik to Symbian has already started (plus you could build the GPL’d Java ME source from Sun and use it yourself if you really wanted). You’ll still be able to include the Helix client, even if some components are only available as binary (which goes for several other things too I expect). If you followed the building phones thread on the main Symbian blog you’ll see that a guy from TI responded to say they were open sourcing the base port, so you’ll certainly be able to boot on their reference platform. There’s always Freetype font rendering, even if you can’t use the commercial version that most vendors ship – perhaps it’ll even inspire people to improve the performance of Freetype for embedded devices.

    We know there’s no point in open sourcing code that you can’t do anything with, so problems will be solved.


  8. wtr1 Says:

    The architecture I would like is one where the Foundation owns the API to define the “hole” into which the functionality must go, together with some compatibility tests to confirm that an implementation works properly. The Foundation code must be buildable without any implementation code, so that the implementation(s) can be added later as built binaries.

    The font renderer is already like this, but I don’t yet know about the predictive text input method.

    I’m intending to do a blog posting which goes into this in more detail – it is an important part of the Symbian story, because if we do it right it enables a lot of things, from competing commercial implementations to the use of GPL code within the Symbian platform.

    • Tyson Key Says:

      At the risk of sounding trite, innovation isn’t a one-way street.
      I know that ideally, the Foundation would like everyone to essentially “visit” the code and put their contributions into the Foundation codebase, but what about cross-pollination and folks who want to do feats like rehosting Symbian OS on top of L4 or Linux, or try and port AVKON to X11? Should/would the Foundation actively discourage that, by using licensing as a tool? (I’m merely curious)…

  9. mpwilcox Says:

    The Symbian Foundation has chosen its licensing and stated that fairly clearly. The EPL (which the code is all intended to transition to over the next year or so) is fairly permissive. The main issue is that isn’t compatible with the GPL, so you have to be very careful mixing the two.

    If people want to use bits of Symbian code elsewhere, that’s fine. If they make changes to it in the process they should make those available under the EPL, so they could potentially be taken back into the platform. No-one in their right mind would want to run Avkon on X11 though. 😉

  10. wtr1 Says:

    People are welcome to use the EPL code in any way that’s consistent with the license – if someone wants to create a hosting environment on top of some other OS then they are welcome to try. The Symbian Foundation won’t actively put obstacles in their way, but we might not be able to give them much support either.

    Having said that, we aren’t jumping directly into the full-on EPL world. Most of the code is currently under the Symbian Foundation Licence, which is EPL plus some conditions. One of those conditions (3.1.iii) is that the code only be used with the Symbian platform, i.e. it does actively prevent porting to Linux. We’ve promised to get all of the code over to the EPL within 2 years, and I’m personally arguing for it to happen a lot sooner.

  11. Wondering what on earth I’m doing here « William Roberts Says:

    […] of raw source code and needed to develop the ability to build and ship it as soon as possible (see my first blog posting for more details). We decided to use 1 week sprints to allow for frequent […]

  12. Wondering what on earth I’m doing here | NeutronTech Blog Says:

    […] of raw source code and needed to develop the ability to build and ship it as soon as possible (see my first blog posting for more details). We decided to use 1 week sprints to allow for frequent “corrections”, and I […]

Leave a Reply

Please log in using one of these methods to post your comment: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: