Like many free software users, I am greatly encouraged by the number of mobile phones that are starting to come out running some form of embedded Linux-based OS. Nokia's Maemo and Palm's webOS are shaping up and it seems every day we hear of yet another Android device. All of this is good news, but just how useful are these free software phones to the free software lover? Not as much as they could be it seems.
Thanks to the ubiquitous iPhone (you have to admire Apple's marketing skills if nothing else), mobile phones are all about the applications these days. I own an HTC Hero, an Android-based (but not Google-dependant) phone and mightily pleased I am with it too. I like the fact that there are plenty of applications, some useful, some silly and some a nice way to waste a few minutes waiting for a train. Installing new Android apps is a breeze -- as you would expect it to be -- but there's something missing from the listings: the licence. Sure some apps include their licence within the notes but those will be from the authors that feel the licence is important; and usually that's the free licences.
This makes it a right royal pain to find out what licence your preferred app is deployed under. I appreciate that for most people this isn't an issue: they simply don't care about the licence their software is released under. But for many people the reason they chose Android would have been for the licence the OS uses and we'd appreciate having a similar choice about the apps. Without knowing apps' licences, we aren't really given that choice. Like many I'd like to to see the amount of free software on Android increase but this is not going to happen if developers don't even know there is a choice -- let alone users. In response to this the community has created an Android Free Software wiki which lists free Android software and the licences they use.
From my -- albeit basic -- research it seems this problem extends to other free mobile OS platforms like Maemo and webOS as well. Of all the sites listing applications for mobile devices there is rarely if ever a way to see let alone filter by the licence. So starting with you Google, here's a call for the major users and pushers of free mobile platforms to start including the licence information in your listings.
Without significant hacking around you cannot sync a Linux-based phone with a GNU/Linux-based PC
Having gone to all the trouble of getting a 'phone with contacts-lists, calendars and to-do lists it would seem logical for most people to want to synchronise that with a desktop or laptop machine. If that other machine is not running a proprietary OS you might be in trouble though, even -- or especially -- if your 'phone is running a free OS. Take the HTC Hero for example. Plug it into a USB port and it presents as a USB mass-storage device. You are even given the option on the phone of running it in mass-storage or synchronising modes when you plug in the USB cable. The synching option will attempt to connect with a proprietary HTC application which is supplied with the phone and can be installed and run on Windows machines only. In fact the prompt on the handset for this options reads "Sync your phone with Windows". If you select the storage option it only the micro-SD card to be mounted on the desktop machine as mass-storage, not the phone's internal memory, so you can't access the contacts or calendar data directly. That means that without significant hacking around you cannot sync a Linux-based phone with a Linux-based PC. That is -- quite frankly -- ridiculous. Other popular free software phones seem to be the same. It's true that you can use Google's web apps and sync your phone with those databases (or even solely use the online apps) but there are some very good reasons for not storing such data on "the cloud". It's not much better for other free software phone systems. In fact the search for a mobile phone which will sync with a GNU/Linux-based desktop recently led one user to the conclusion that "The best smart phone for Linux users ... runs Windows Mobile?"!
Following hard on the heels of the synchronising issue above comes the firmware upgrades. This one may be specific to the Hero but for most Android phones you get firmware upgrades over the air. That is the upgrade comes via the handset. Because the Hero uses the Sense UI, it gets firmware via the sync application over USB. Spotted it yet? Yes the Hero only synchs with it's Windows "HTC Sync" application. So GNU/Linux users (and Mac users for that) are left out in the cold. To be honest I find this appalling, after ten years of using GNU/Linux I have become hardened to the idea of devices not working with my systems out-of-the-box but to supply a device such as the Hero with a Windows only application is a joke.
When Tivo released their famous box, charges of "denying the spirit of the GPL" were in plentiful supply. Their idea of encrypting the GPL software they used to prohibit users running their own versions (an over simplification but...) caused much outcry and eventually led to a key part of GPLv3: "And rightfully so", many would say, including me. Google, HTC, Palm, Nokia et al might not be going that far (although some of the phone network companies do seem to enjoy locking down their hardware) but they are almost as bad in terms of ignoring the spirit of the free software community. There's nothing technically wrong with what they are doing. The licences involved don't insist that they include GNU/Linux support, drivers and applications. Neither are they obliged to make it easy for us free software users when it comes to the "marketplaces" they host. Heck half the time we probably expect companies to ignore our needs -- it's part of the "fun" of using free software. But doesn't it smack of hypocrisy to use free software as they do, enjoy all the advantages and then shun the very community that will probably make up the larger part of early (if not all) adopters of their devices.
I'm aware that some will read this post as me whining because I bought an HTC Hero without checking if it worked with my GNU/Linux box. Just to be clear: I was fully aware of these limitations prior to purchase. I don't tend to sync my mobile devices with my desktop(s). I do back them up and right now that's all I need. So in reality the sync issue isn't a problem for me -- other than the firmware upgrade for which I must borrow a Windows box. But I -- like many -- chose the HTC because the software it was based upon was free and I wanted to support companies and products which utilised it. The same thing applies to other manufacturers. So, specifically HTC: Where is the synching and upgrading for non-Windows users? and generally for all: Because of your use of free software, GNU/Linux users are an increasing part of your customer-base, start recognising and addressing that factor you may well lose our custom.