This conversation on identi.ca has prompted me to publish the rough notes I had prepared for a proposed discussion on making the Android operating system experience more free-as-in-freedom at the Google I/O 2010 Conference Bootcamp "unconference". Unfortunately, my proposal was not one of the top vote-getters (it missed the cut by two votes), so we didn't get to have the discussion there, even though I'm sure we would have had an interesting discussion. But perhaps there's something worthwhile in the roughly formed thoughts that follow...
Making Android more "Free as in Freedom"
What do I mean?
Not "zero cost", but:
Free to run for any purpose
Free to study the source (a critical means of learning how to build better applications)
Free to redistribute verbatim copies
Free to modify the source and redistribute the modified version
Android the operating system may be FaiF, but Android the distribution is not
We have opportunities to win interesting development investments on Android over proprietary platforms; see the Wockets - open source effort to create very low cost motion measurement devices for hobbyists, researchers, and developers interesting in creating software and devices that measure or respond to movement that is developing with Windows Mobile first, and Android second. It's a shame to see an "open" research project being built on a closed base, but there might be some clues in these researchers' rationale that suggest ways that the freedom of Android could be improved.
Drivers (camera, GPS, etc) bundled as binary blobs are a problem for auditing, bug fixing, innovating
Current phones get applications delivered out of the box:
that sometimes suck (GTalk - no way of changing the Google account it uses)
that you won't use and don't want (Facebook!)
that you might not trust (this is your phone, +++)
that you can't legally redistribute (Market?)
that you can't remove (my precious space!) without installing a new firmware image
Can be hard to determine what apps are even free software; we might need to combine these multiple, partially overlapping, sometimes contradictory sources:
and the Android Market and SlideMe Market don't enable filtering by license
Opportunities abound for new Free-as-in-Freedom applications to gain a significant foothold:
No Skype = space for LinPhone / SipDroid to move in (given a quality contact mechanism)
No good multi-protocol IM client (libpurple via NDK?)
Boost the Replicant project
It's in our best interests as Android users and developers to have a free platform - we developers can build on each others work to create a better user experience, rather than starting from scratch every time in our own jealously protected niches.
I'm one of those people who actually keeps different passwords for every site and service I use. So far I'm up to over 400 passwords, so I'm dependent on a password manager. For a long, long time I have used Figaro's Password Manager (FPM) (and KedPM and most recently FPM2 as continuations of FPM), but now that I have an Android smartphone on which I can browse without wanting to die, I've been itching to get access to my passwords on that. I noticed that KeePassDroid was available, and that KeePassX would work on my desktop. I just had to get from FPM's password export format to one of KeePass's import formats. It turns out that nobody had made that particular leap before (or hadn't shared their conversion script).
Thus... I bring you the FPM to KeePass converter. A straightfoward Python script licensed under the GPL v3 that does a passable job of converting an FPM XML export to a KeePass 1.x or 2.x XML import file. It worked for me, and that's all that I needed; but maybe it will work for you, too.
For some reason, I keep having trouble finding this handy free-as-in-freedom list of Android applications when searching Google. So if I blog it for myself, I know I'll be able to track it down easily in the future. I'm sure there are more applications to add to that wiki, by the way, so if you know of some, go ahead and edit. LinPhone, a nice VOIP application, was my contribution to the list (where "contribution" means "added the pertinent links to the wiki").
Update: 2010-05-18 Of course the Replicant effort to create a 100% free software stack to run on HTC mobile phones has another list of free-as-in-freedom Android apps. The two lists have significant overlap but neither one appears to be a superset of the other; they also appear to be tracking slightly different metadata about each app. Seems like it would be a nice job for someone to build a database-backed list of free software Android apps that could generate whatever format was desired (e.g. A-Z list by app name, limit by categories / license, etc) and just replicate that data to the various sites of interest.