Mobile and embedded software developer. Loves technology and loves to help people.
Sorcery-ltd | 18 July, 2008 14:53
It's been a few weeks since the big announcement and I think I've finally digested it.
My fellow champion Gabor Torok has already collected a lot of interesting analysis but there are a couple of more recent links with inside perspectives that are worth a read. There's an interview with Nokia's chief development officer where the practicalities of opening the source and the motivation for the change are discussed. It's stated that as part of the move to becoming an internet company, Nokia wants to get out of the "plumbing business". I assume that means they want to reduce the engineering effort they put into integrating phone software rather than stop making devices all together one day...? There is also a conversation with a Nokia employee who has a rather less rose-tinted view of the move...
"S60 is costing us a load of money, since we have to essentially carry it on our own shoulders. Pretty much the only community around S60 is the community we pay to be there (a few lone, strong, awesome warriors notwithstanding)."
"I doubt that open sourcing Symbian is going to help in the community building though. There are two kinds of OSS developers: the guys who do things for fun, and the guys who do OSS because they are paid to do so. In order for an open source project to really flourish and take over the world, you need both."
Which is a concern that I share, although I am perhaps a little more optimistic about it. I'm not sure Symbian + S60 really needs to flourish and take over the world - it's already in the top spot, staying there is a slightly different game. I'll come back to that when I discuss licensing issues later. I thought this comment on the future Symbian Foundation code base was amusing (if a little harsh) but it also highlights one of the benefits of going open source, even if the only participants are paid by various network operators and device manufacturers...
"Spreading the manure out in the field where everyone can step on it does not necessarily make it better than keeping it in your closet. It does, however, make new things grow better. Still, I think this is a smart move. Open source improves quality by using the embarrassment factor. People suddenly sharpen up in their coding when they know their work could be inspected potentially by millions of people - even if nobody ever bothers to do so. And that, while it sounds insignificant, does actually go a long way."
One of the most important things in open source is the license...
I've been doing some of my own thinking too and one of the interesting things for me is the choice of license (EPL) for the foundation code. A quick check reveals that the EPL is incompatible with the GPL, that is, combinations of code licensed under the two schemes cannot legally be distributed. You'll be able to develop free software (GPL) applications against a Symbian Foundation SDK (as you can now with closed source Symbian) because there is a "system library" exception clause in the GPL. I think (although I'm no software copyright law specialist) that you'll also be able to develop GPL'd plug-ins for Symbian Frameworks under the same exception, but that is a bit of a grey area and you certainly couldn't distribute them as part of a foundation release. In fact the foundation releases will not be able to take GPL'd code from the rest of the open source world at all (although they can use code licensed under the LGPL). Similarly, GPL'd code bases like the various mobile Linux variants probably won't be able to use anything from the foundation code. This is where I wonder how many of the current open source crowd will convert... I suspect not many. There is always the potential to attract new developers to a newly open platform though, particularly with the prospect of getting your contributions onto several hundred million devices... and the one saving grace is Qt (which will be in an interesting position for licensing itself, currently dual licensed - GPL and proprietary). Qt (with a Symbian port) has the potential to be the first truly cross platform native mobile development environment. Definitely something to take an interest in if you're a mobile developer. Maybe that will entice some of the open source community to start new projects?
Reference platforms?
If we're going to have a level playing field in the Symbian Foundation, rather than all the other manufacturers hanging on to Nokia's coat tails, then we're going to need reference platforms. When S60 is closed source they can choose a device model internally from the upcoming Nokia range and use it as a reference to help determine whether bugs exist in the platform code or only on a specific device or hardware platform. If there is a wider range of manufacturers with an even wider range of hardware designs there there will be a strong need to have a common test platform (or possibly a few) for this purpose. Who will produce them? One obvious choice are the silicon vendors, but there is a lot of software work involved in getting the reference working that they currently don't have the in-house expertise for. Another option would be to choose an recently released product and run the newer version of the foundation code on that - the danger there is always having out of date hardware. I'd be interested to see some plans for this area made public fairly soon because now would be a fairly good time for OEMs wanting to target the first foundation release to start looking at component selection and hardware designs - a first product will probably take at least 18 months because of the learning curve. With experience it should be possible to halve that.
Optimism
When I wrote on this blog about an Open Mobile Software Foundation in April, I was hoping for something like the Symbian Foundation but not expecting anything near this scale. I really think open source is the only sensible way to go for software projects of this scale and complexity. Even if the "community" consists almost entirely of commercial developers rather than enthusiasts hacking in their spare time, I think there are a lot of benefits to be gained from a a truly open platform for both the device manufacturers and developers of add on applications and services. With a common, open code base, as well as standard programming environments provided by the likes of Open C/C++ and implementations of various industry standards, along with a vastly improved UI toolkit in the form of Qt, the fragmentation and lack of documentation that have plagued mobile development from the start may finally be coming to an end. (Disclaimer: I'm a bit of an optimist these days and my views should be interpreted accordingly).
Thanks for reading, your comments are encouraged!
Mark
General |
Permalink |
Comments (5) |
Trackbacks (0)