Free and open source software in mobile devices
by Rowan Wilson on 12 January 2009 , last updated
A staple element in the advertising of portable computers such as smart phones, tablets and netbooks is the concept of freedom; freedom from wires, monitors and offices - the freedom to read your email, plan your calendar and snap a photo wherever you are on a device that slips into your handbag or pocket. It’s not all advertising hype and smiling models emailing each other photos from sunlit cornfields either. As mobile devices progress in functionality and wireless internet access becomes more speedy, widespread and affordable, many everyday computing tasks really are achievable on the road using mobile devices. However, freedom is a complex concept, and where it increases in one respect it can consequentially decrease in others. For example, reporting of criminal trials has made us all familiar with the idea that our everyday movements can be reconstructed in a previously unimaginable way from our mobile phone provider’s records. Global positioning system technology and mapping software in our phones allow us to do an internet search for the nearest available pizza while at the same time telling our search provider exactly where we are at that moment. Increasingly your mobile device is likely to know where you are, what you are scheduled to do next, what music you like, when you get hungry and what you like to eat. Many technology commentators are concerned that the escape from the desk will come at the price of lost privacy and disturbingly well-targeted advertising.
So if your mobile device is doing more for you, in more places, and gathering more data about you than ever before, what about another aspect of freedom - the freedom to examine your device to know what it is doing and how? For most of their history mobile devices have been largely devoid of open source software - at least in the form of manufacturer-provided operating systems and software. Enthusiasts have - of course - been hacking their mobile phones and PDAs to run free and open source software for as long as such devices have existed, but this usually works only for the technologically-dedicated minority, and then often at the cost of some features that simply do not work without prohibitively time-consuming reverse-engineering. In recent times, though, this situation has begun to change. This document looks at the reasons that free and open source software has been excluded from mobile devices until recently, and why it is has now made inroads.
What are the problems?
Free and open source software has been appearing in consumer electronic devices such as digital video recorders, home computer networking equipment and media players since the late 1990s. It has made less convincing progress, however, in the arena of mobile computing and telephony. Why should this be? After all, there are stable and useful free and open source operating systems available - such as uClinux - that have been specifically designed to work well in battery-operated devices with limited system resources.
Dr Ari Jaaksi, then Nokia’s Vice President in charge of software, gave a speech at the Handsets World conference in Berlin back in June 2008. He gave some interesting insights into the mobile phone industry’s attachment to ‘closed vehicles’ - device software which does not incorporate any free or open source software: “We want to educate open-source developers. There are certain business rules [developers] need to obey, such as DRM, IPR, SIM locks and subsidised business models… Why do we need closed vehicles? We do… Some of these things harm the industry but they’re here. These are touchy, emotional issues, but this dialogue is very much needed. As an industry, we plan to use open-source technologies, but we are not yet ready to play by the rules; but this needs to work the other way round too.”
Jaaksi attracted some criticism for these comments, but they do very usefully sketch out the perceived problems with free and open source software as a component in mobile phones. Let’s look at them one by one.
SIM locks and subsidised business models
Since the late 1990s mobile phone ownership worldwide has soared. In large part this is attributable to their increased affordability. Mobile phone technology has been available to consumers since the 1980s, but it was only in the late 1990s that providers began to deploy business models that treated the device itself as a no- or low-cost subsidised throw-in to encourage customers to sign lucrative fixed-term service contracts. The cost to the provider of the phone would be made back on profits made on call-charges, text message fees and line-rental over the lifetime of the contract. Central to this model is the concept of a ‘SIM Lock’, a limitation built into the phone’s system software which prevents it being used in other countries, with different kinds of customer identification cards (SIMs) or with a different network service provider. The ‘SIM Lock’ acts as a technological proxy for the terms of the service contract, making it more difficult to breach them by selling the phone on or switching providers.
Digital Rights Management
As well as selling network connectivity, mobile operators and associated businesses have in the past made significant amounts of money from selling games, ringtones, video clips and music to their customers wirelessly, although increasingly these are now being sold from online stores associated not with the network provider but the device manufacturer. In some cases the copyright owners of these items only allow their sale if they are technologically protected from unauthorised copying and redistribution. Increasingly mobile devices need to enforce licensing conditions on their users to prevent the ‘piracy’ of these kind of materials if they are to win the approval of the copyright-supported industries.
Intellectual Property Rights
There is an erroneous but widely-held perception in the larger software community that free and open source software licensing is akin to throwing your intellectual property in the dustbin. While this is essentially incorrect, there are some issues in this area that bear closer examination. Mobile phone manufacturers put vast resources into producing robust, speedy and efficient layers of software for actually making and receiving data and calls wirelessly - the so-called ‘GSM Stack’, standing for “Global System for Mobile Communications”. In many countries a high level of reliability in this software is mandated by law - after all a telephone is an essential device for reporting emergencies, and it’s of little use if you can’t ring the fire brigade because it has crashed. Consequently mobile phone manufacturers are extremely protective of their successful implementations of this functionality, patenting innovative processes and litigating vigorously to prevent unlicensed use of this intellectual property. This in turn makes it less likely that manufacturers will be willing to release the source code to their implementation under free or open source licences. Even if the GSM stack (or any other piece of software technology which a manufacturer wishes to keep proprietary) is made available as closed source software, it could conceivably be argued that it is running as part of a free or open source operating system renders it a derivative work of that operating system, and therefore, under certain FOSS licences, may need to have its source code made available. Whether this is actually the case would depend on how the software was implemented and which licence the operating system in question was released under, but in practice the tiny possibility of an enforced source release is so terrifying that many manufacturers have in the past preferred to avoid the perceived issue entirely by having nothing to do with free or open source software (although of course the issue is, in the main, with the so-called ‘copyleft’ licences which mandate use of the same licence on derivative works, and not free and open source software as a whole).
As well as this perceived legal risk, there is also a perceived public relations risk that employing free or open source software while strongly protecting intellectual property assets like patents will lead to accusations of hypocrisy from the community. In fact it is really this socially-defined, community responsibility that is perhaps hardest for mobile phone manufacturers and network providers to engage with. It is in reference to this that Jaaksi says: “we are not yet ready to play by the rules…”. For there is little reason why software for enforcing SIM locks and DRM should not be derived from and released as free and open source software, legally speaking. Most free and open source licences do not mandate that you allow your customers to upload modified code onto their device - an omission that led the Free Software Foundation to add just such a provision to their recent third revision of the GNU General Public License. When Tivo produced their wildly popular digital video recorder using software they obtained under the GNU General Public License v2, they met their responsibilities under the licence by publishing their modified source code while at the same time using digital encryption and signing technology to make sure that customers could not run their own modified code on their own Tivo boxes. While this was not a violation of the licence, it did (some argued) violate the spirit in which the free and open source community operated, and Tivo attracted much negative comment. Faced with these social pressures to abide by not just the letter but the spirit of free and open source licences many manufacturers have decided that they would far rather build their own software from scratch internally than risk waves of negative comment from the internet.
These problems have meant that for many years the device in your pocket was extremely unlikely to have been delivered from the factory with much if any free or open source software installed. Despite notable exceptions like the Linux-based Sharp Zaurus SL, personal digital assitants have been as FOSS-free in their internals as their telephonic counterparts, although this is somewhat mitigated by the ability to install free and open source user applications.
As mobile phones become more complex, however, they are increasingly taking on the role which personal digital assistants previously fulfilled, and consequently the restrictions cited above are becoming more relevant for all mobile devices. These converged devices, generally known as smartphones, have been a relatively small but steadily growing segment of the overall PDA and mobile phone market for many years. To begin with this market was divided in the main between the closed source operating systems Symbian (owned for most of its history by a consortium of mobile manufacturers, and more recently acquired, opened then abandoned by Nokia) and Windows Mobile (owned by Microsoft). Industry analysts have long predicted that - as customers’ requirements escalate, the smartphone with its advanced capabilities will become the mobile device of choice for many more consumers (market research firm Nielsen have predicted that smartphones will represent over 50% of the US mobile phone market by the end of 2011).
In January 2007, Apple Computers announced that they would be releasing the iPhone, a smartphone companion to their astonishingly successful portable media player, the iPod. The iPhone - which itself includes some free and open source software but is largely closed - has been an enormous sales success, despite some technical teething problems. Many have interpreted the iPhone’s success as a sign that the smartphone market is taking off, with users becoming increasingly focused on seeing their phone as a platform for running complex applications, not just a simple voice communications device.
Fear of fragmentation
The success of the iPhone - and its operating system iOS - gave emphasis for its competitors to an issue that had been festering for some time. As mentioned above, the smartphone operating system market was - pre-iPhone - largely divided between Symbian and Windows Mobile. This bald statement hides an ugly issue, however. A developer wanting to write a smartphone application might start out naively thinking that they could get away with writing two versions of their code - one for Windows Mobile and one for Symbian. However, they would soon discover that things are not quite that simple. Each operating system runs on many, many different devices, with differing screen sizes, processors and peripheral capabilities. To write an application that even addressed just the majority of smartphone market required testing and debugging on hundreds of differing devices. In contrast Apple offered a single target device with known capabilities. Even with a single figure percentage of the overall mobile phone market, the iPhone represented the largest unified market available to smartphone developers.
On less-than-smart phones the situation was even worse, with every device manufacturer producing their own miniature operating system to drive their phones. Java Mobile Edition (ME) had been introduced in 2000 to create a single development environment for Java-capable phones, but in practice the dream of write-once-run-anywhere had not come true, and J2ME developers were also forced to test on many target devices to create something stable and usable.
How had this situation emerged and persisted? The main driver was the reluctance of phone manufacturers and network providers to allow a single software company to dominate their industry in the way that Microsoft dominates so much of the desktop computer industry. While application compatibility remained a minority problem, it made sense for the device manufacturers and network providers to specify and create a diverse range of devices running different operating systems. It catered to the many and various tastes of their customer base while helping ensure that no individual operating system provider became too powerful. However, faced with Apple’s new device, it became increasingly clear that the ludicrous fragmentation of the rest of the mobile operating system market would be a huge competitive disadvantage. If customers were going to start buying phones based upon which applications they could run, then wooing the mobile application developer would suddenly become a very important component of a device’s success. With mobile application developers flocking to the iPhone due to its unified design (although even iOS is beginning to fragment with the introduction of the larger screen formats in the iPad, iPhone 4 and iPod Touch 4G), many in the industry began to feel that simply choosing to unite behind a competing proprietary operating system would be an unwise move, almost guaranteeing that one or other of them would end up dangerously dominant. How could they have an operating system that unified their devices into an attractive single platform while not handing too much power to any single operating system company?
Opening the OS
In November 2007 search engine giant Google announced that they were working on a Linux-based smartphone operating system to be known as Android, in cooperation with a group of mobile manufacturers to be known collectively as the Open Handset Alliance. Then in June 2008, Nokia announced that they were buying out Symbian’s other owners and placing the software in a not-for-profit foundation dedicated to pursuing Symbian’s development as an open source operating system. The Linux Mobile Foundation (LiMo) had been created back in January 2007 - the same month as the iPhone was announced - as an affiliation of handset manufacturers and network providers dedicated to producing a Linux distribution for mobile phones. These new projects joined OpenMoko, a small pre-existent mobile Linux project run by FIC, a Taiwanese PC manufacturer and Motorola’s Motodev mobile Linux initiative. As time went on however many of these initiatives faltered. Symbian failed to deliver a compelling user interface redesign to compete with Android and iOS, and Nokia controversially dumped it entirely in favour of Microsoft’s Windows Phone OS in early 2011. LiMo and Meego are in the process of merging into a new mobile Linux project run by the Linux Foundation known as Tizen. Hewlett Packard, which bought the ailing semi-open WebOS mobile platform from Palm in 2010, has now abandoned its plan to create more devices based on the software and has released it as fully open source through the Open WebOS project. While these events could be seen as a repudiation of open source by mobile customers and phone manufacturers, companies continue to invest in open source smartphone operating systems, and it should be noted that even proprietary operating systems often contain some open source code.
It may well be that the industry is coming around to a mature understanding of exactly what free and open source software does and does not do. As it moves into the mainstream there are simply more consultants and lawyers in the community who can advise sensibly on the legal responsibilities involved in the inclusion of open source in a device or operating system. The list of ‘touchy, emotional issues’ that Dr Ari Jaaksi cited back in June 2008 - SIM locks, DRM, subsidised handset provision etc. seem to be well accommodated in the emerging handsets from the new FOSS mobile operating systems. For example most Android phones do not grant the user permission to replace certain software components on the phone. While it may be possible to remove the entire operating system and replace it with a modified version that does grant these permissions, this would likely violate the terms of the user’s contract with their connectivity provider and there is no guarantee that some of the network-available features that make the phone attractive in the first place will continue to function as expected.
Happily ever after…
For the educational community, it is clear that many of the functions of educational establishments will need to integrate with future mobile technologies. Mobile learning, reading and communication, as well as the provision of maps of campuses and other basic student survival tools, may well be better delivered wirelessly to mobile devices than printed and posted in pigeonholes. For IT staff charged with investigating these new delivery models, openness may be less important than unity in the mobile device market. Within limited budgets, adapting information for multiple target devices is likely to be prohibitively expensive.
It is for this reason that some commentators argue that de-fragmentation of the mobile platform will take place not at the level of the operating system, or even the application software, but at the level of the web browser. Whether your phone supports the latest (for example) Facebook application becomes irrelevant if every mobile platform can capably render and make usable the core Facebook website, or a widget derived from it.
So to return to the question we asked at the beginning, how does the adoption of free and open source software in mobile devices affect our freedom as users? The availability of source code for our mobile devices core components should, to an extent, make it possible to know better what our devices are reporting to their manufacturers and our network providers. However this freedom is somewhat mitigated by the general inability to actually run modified versions of the code on the devices themselves; we can know what is happening but we cannot change it, at least not without compromising some of the functionality of our device and - in all probability - violating our contracts. As long as network providers can persuade mobile phone users to contract out of the freedoms provided by the licences to open source software, they will have an effective means to suppress modifications that they perceive to be detrimental.
So if our freedom as phone users is still limited, will the move to FOSS mobile operating systems at least cure the fragmentation of the mobile market? This remains to be seen. Skeptics argue that the answer is contained in the fact that we now have at least three free and open ‘unifying’ solutions. As things stand, the undeniable fact that more and more handsets will be running free and open source operating systems going forward does not in itself result in an easing of the issues of fragmentation for developers. With Microsoft finally unpdating its closed Windows Mobile/Phone platform in late 2010, it may be that closed operating systems will win back market share. Closed or open, each separate OS and hardware profile introduces greater complexity to the task of creating good and functional cross-platform software. While openness may increase the willingness of industry players to interact with each other, this must in turn result in real collaboration and agreed standards if the new open systems are not to be as frustratingly fragmented as the old, closed ones.
Open source software such as that used in mobile technology is created by a broad community of people working collaboratively in a public and transparent way. The principles of such Open Development Methods are discussed in Avoiding abandon-ware: getting to grips with the open development method.
- ucLinux [http://www.uclinux.org/]
- Apple’s iPhone [http://www.apple.com/iphone/]
- LiMo Foundation [http://www.limofoundation.org/]
- The Open Handset Alliance [http://www.openhandsetalliance.com/]
- Google Android [http://code.google.com/android/]
- Maemo platform [http://maemo.org/]
- Meego [http://meego.com/]
- WebOS [http://webos.org/]
- Openmoko [http://www.openmoko.com/]
- Symbian Foundation [http://www.symbianfoundation.org/]
- “Nokia urges Linux developers to learn business” ZD Net [http://news.zdnet.co.uk/hardware/0%2C1000000091%2C39432956%2C00.htm]
Related information from OSS Watch: