So where is my free phone?
There are numerous hurdles that must be overcome before a practical open source baseband firmware is a reality. Perhaps the largest of these is concerned with gaining GSM type approval for handsets using the firmware, without which use with public networks is probably illegal in most parts of the world, or at least is a violation of a network's terms of service. And it's questionable whether a handset would ever gain approval if the baseband firmware can be modified at will.
Porting the firmware to other baseband processors also represents a significant challenge as the documentation for these devices is generally provided under strict NDA. And in fact it appears that one of the reasons that the TI Calypso was chosen is that its documentation had been leaked and the OsmocomBB developers considered it to no longer be a trade secret. There will also, of course, be the usual challenges that are associated with porting code from one system or architecture to another.
Other technical challenges include getting the code for layers 2 and 3 running on the handset instead of an attached host, and providing integration with dialler and messaging, etc., applications. However, such challenges will be minor when compared with such things as gaining type approval and access to baseband processor documentation.
Source: OsmocomBB Project, CC BY-SA 3.0
In May 2011 project leader, Harald Welte, posted a message to the OsmocomBB mailing list explaining how he had been contacted by Richard Stallman who, not surprisingly, had expressed an interest in the project. Although the original motivation was not to create something that would be of practical use as a replacement baseband firmware, Stallman encouraged Welte to work towards this goal. And in December 2011 Welte stated that the project was "an arm's length away from being able to create a true Free Software phone".
3G and beyond
Of course, OsmocomBB only supports GSM at present, and 3G has been rolled out across many networks for a number of years and 4G/LTE is on the horizon. However, GSM offers certain benefits over newer generations of mobile telephony, such as lower power consumption and better coverage in buildings, therefore it's likely that GSM will be supported by most networks for quite some time. And engineering experiences gained with GSM now will provide a solid foundation when it comes to developing 3G and 4G/LTE support.
One area that may prove problematic with the evolution of OsmocomBB is patents, as many of those present in the original GSM specifications from 1991 have only recently expired, and 3G will remain patent-encumbered for some years to come. In practice this is likely to mean that licensing fees would have to be paid to patent holders for any commercial usage.
At the present time it looks as though an entirely free/open source software handset that can be used with public mobile networks is some way off, if it is even possible at all given regulatory requirements.
Additional motivation may come from baseband processor vendors seeking to reduce the costs associated with firmware development, or from handset vendors turning to open source in order to deliver features that would not be supported by proprietary firmware. And either one of these may be prepared to make the investment necessary in order to gain type approval.
Even without the ability to use OsmocomBB with public networks it has succeeded in delivering immense value. By providing an incredibly powerful tool used by security researchers to bring serious GSM shortcomings to light, and in enabling more people to learn about the inner workings of a critical communications technology in which so many of us place our trust.
In May of this year, early industry validation of OsmocomBB was provided by the discovery that Ericsson makes use of the code in its labs, praising it for its flexibility. As with any open source software it's impossible to know of everywhere that OsmocomBB is being used, and it may just be that it quietly gains support across academia and inside industry R&D labs, until one day it finds its way into a product or serves as the inspiration for a new open source baseband project that has substantial financial backing.
Andrew Back (@9600) is a freelance consultant who originally trained as an electronics engineer and first used Linux in the mid-90s. He has since worked at BT's open source innovation unit, Osmosoft, founded the Open Source Hardware User Group, and more recently co-founded SolderPad – a place to collaborate on electronic design.