Software giants feel open source pressure
War for developers escalates
Developer support is critical to the success or otherwise of the smartphone platforms and Microsoft and Nokia are both adapting some measures of openness to encourage programmers to their operating systems. As software rather than devices become the basis for competition, Microsoft can no longer have a free run at client OSes, and in turn will increase its dependence on services as Java dominates on the handset. In the cellphone world, Microsoft is trapped uncomfortably between two mighty pressures on its traditional business model - the handset makers' determination to control the software environment of their devices on the one; and the implacable rise of open source on the other.
Microsoft had hoped, when it launched Windows Mobile, to turn the first of these trends to its advantage by presenting its operating system as one that could form the basis of carrier-specified handset designs, and so provide a counterweight to systems controlled by the phonemakers, notably SymbianOS. However, the cellcos were not blind to what had happened in the PC world and, in general, refused to leap out of the Nokia frying pan into the Microsoft fire. Instead, they are turning to technologies that they can be more confident of moulding to their designs, most of these Java-based.
That has left Microsoft exposed on one flank to Java and to carrier dominated technologies such as SavaJe, and on the other to Linux. The situation becomes even graver as Sun shows increasingly strong signs that it will open source Java too, leaving Microsoft - and Symbian too - under growing pressure to adapt their models or be left behind. The clearest indication yet that the Windows giant is feeling the pressure is this week's announcement that it will introduce a measure of open source to the CE variant of its OS, which is targeted at handheld devices and the embedded market and is the basis of Windows Mobile.
New rules for Windows CE
Windows CE 5.0, which will be released next week, will be fully open for the first time - although not free, as there will still be a licensing fee of $3 for every device running CE, the toolkit is priced around $995. However, this is a major step forward from the half-hearted steps towards open source that Microsoft made in April 2003 with its CE Shared Source Premium Licensing Program. This was expanded to allow manufacturers, chipmakers and integrators to sell products incorporating CE code that they had customised, but manufacturers could still be compelled to license some of their changes back to Microsoft for no royalty, which amounted to free R&D for the giant.
Under the terms of the shared source license for CE, there were two types of terms - modifications to improve CE, and changes made to differentiate a vendor's own product. When a vendor made the latter type of change, it had six months of exclusive rights to market devices with the amended version of CE, and after that Microsoft gained a royalty-free license to the technology, and any developer could use the changes. That highly-unpopular policy is now ended, and the open source program is available to all, not just selected partners.
Now, by making CE available to the public, Microsoft expects to boost its developer uptake beyond the 250,000 who have already downloaded the current OS. The new version will allow people to see more than 2.5m lines of available sourcecode - the kernel, graphical user interface, file system, device drivers, web server and more.
With its limited open source moves, Microsoft is seeking to improve its image among developers, and so attract them to its platform, in markets where it cannot rely automatically on its installed base - notably mobile handsets and embedded devices, both areas where Linux is making headway. The company can also see the benefits of community involvement in terms of innovation, faster time to market for improvements and lower R&D costs, and as such is establishing a program similar in scope to Sun's for Java.
Java - open source?
Java, too, has a strong community process for new developments, but remains controlled by Sun. This, of course, is likely to change in the coming year or two, with Sun saying that it will open source the technology at some unnamed point to speed adoption through attracting more developers and lowering costs. Among its many announcements at this week's JavaOne conference, Sun said that it has open sourced its 'Project Glass', which is working on a three dimensional interface to improve the often basic UI of Java devices. This is a critical project for the operators, which need sophisticated Java facilities to enable them to customise their interfaces, and the new licensing terms are another clear sign that Sun is hurrying towards opening Java itself.
While this is generally applauded in the enterprise market, which is increasingly moving towards open source systems, there is a far more ambivalent view in the mobile world, where many developers fear further fragmentation of the platform if Sun relinquishes control.
It is a myth that all developers and software houses favour open source J2ME. In the fast moving mobile world, the main fear is of anything that slows down or confuses Java and so makes it less appealing to the operators. A quick look at the Java games development community site, javagaming.org, shows that most phone-based games creators would prefer Java to remain closed, feeling that Sun's control results in a higher quality, more consistent platform (although the site is hosted by Sun, it does not moderate this forum).
Some representative comments include: "If this happened I'd probably never use Java for any more commercial projects. I have been a professional C programmer, and if I'm to go back towards that hell (the chaos of an uncontrolled mainstream language) then there are better languages to use. C++ as a value proposition gains a great deal (comparatively) if Java becomes yet another open source limp biscuit without standards and with-out control."
If the real issue for the vendors is control, the real issue for developers is uniformity, without which they will struggle to achieve mass market in the mobile world. The JCP has not been wholly effective at creating a single platform, though it has certain strengths - for instance, it uses a process called Technology Compatibility Kit testing to ensure consistency, which supporters claim is more reliable than what Apache calls the 'Darwinist' approach of open source to uniformity, which treats non-conformance as a bug to be fixed.
For reasons like these, it may be more productive to improve the mechanisms of the JCP in the mobile world - for instance, by making it easier for smaller developers to submit improvements - than to go for complete openness.
Sun president Jonathan Schwartz, who has heavy personal input into the software strategy, highlighted the issue at JavaOne, saying that the biggest challenge would be to adopt open source without losing compatibility between Java on different devices. Because open licenses allow programmers to move in different directions, compatibility problems may arise. "If you write to Red Hat Enterprise (Linux), it's not going to run on SuSE Linux. That presents Red Hat with an opportunity to increasing pricing," he said.
And then there is Nokia. Like Microsoft and Sun, the Finnish giant is torn between its habitual iron control of its technology and the need to make them competitive by adding a level of openness. This is especially vital as its ability to set the agenda in handset design comes under fire from the operators' power, turning its attention to software as its primary route to setting industry standards and tying the mobile world into its technologies.
Its Series 60 development and user interface technology, which is licensed by other phonemakers, and its dominant influence in the Symbian consortium, are currently its sharpest weapons in this respect, and both are showing some shifts towards open source as it seeks to build a developer community to rival Microsoft's and to make its phones an unavoidable choice for carriers. Series 60 device architecture.
Its latest move towards boosting its developer base has been to expand support for Java programmers on CDMA platforms and allow GSM applications to be ported easily to CDMA devices. Forum Nokia, the company's developer initiative, has also up-dated its tools and software developer kits for the Java-based Eclipse Integrated Development Environment (IDE), which is rapidly becoming a de facto standard for enterprise oriented projects, which are critical to Nokia's strategy of pushing the Symbian/Java handset as an alternative to the PC in the corporate environment. This quest will be heavily dependent on developer support and Nokia has certainly learned many lessons in the past year about how to support programmers. It has put significant resources into expanding the Forum Nokia community and has started to listen to the feedback from that group, even appointing its first vice president of developer relations, Lee Epting from Handspring.
Last year, Nokia took its first step to making Series 60 more friendly to novices - and its first nod to open source - when it agreed to support Psion's old language OPL, which is similar to Basic and has a loyal programmer base. Symbian open sourced the 20-year old language, though Epting concedes that it needs to gain some buy-in from various parts of Nokia.
Other items that the Nokia developers' community, Forum Nokia, has demanded, and which Epting aims to address in the coming months, include improved documenting of APIs; better integration and support for 'smart downloading'; and the ability to support 'DRM forward lock', which allows someone who owns an application to forward it in a trial format to a friend. Nokia says that 1.3m developers have downloaded software tools for its platforms, and that its new moves are based on a poll of their most common complaints.
This is very far from open source, of course, but Nokia is banking on the combination of a Series 60 platform that is open to other vendors to license, and of a friendlier approach to developers, to strengthen its products against Windows. The signs are, though, that its real war is with the operators' bid for control of the handset platform, and their increasing determination to make Java work for them in this battle.
This is more immediately threatening to Nokia and Series 60 than Windows. Microsoft's moves towards openness show it is feeling cornered in a way that it has never been in the PC world. It is likely to remain just one among several players in the mobile market, and not the strongest, which makes its current business model unworkable on phones.
Like other companies that can no longer rely on the device alone to deliver market dominance, such as Motorola and Nokia, Microsoft will turn increasingly to services and integration as a way to establish its influence with operators and mobile enterprises. This week the giant said it would work with MMO2 and TeliaSonera in Europe to provide real time location services, to enable businesses to track and manage assets and people. The service, built around Microsoft's MapPoint Location Server, is likely to be the first of many such deals. Rather than luring the phone industry to standardise on Windows directly, Microsoft will have to adapt to a more modern model, where it infiltrates its technology - and boosts its margins - through providing complete business solutions.
© Copyright 2004 Wireless Watch
Wireless Watch is published by Rethink Research, a London-based IT publishing and consulting firm. This weekly newsletter delivers in-depth analysis and market research of mobile and wireless for business. Subscription details are here.
On Sun, Java and Open Source
MS baits .Net with CE 5
MS, open source, The Facts and the fit-ups
MS expands WinCE 5.0 'shared' source licence
MS Compact Framework squares up to Java
Nokia fights Microsoft by addressing Series 60 developer complaints
Sponsored: Hyper-scale data management