Android is a project spearheaded by Google to make an open-source phone. It uses Linux and its own Dalvik virtual machine, and applications are written in Java against the Android API and compiled down to Dalvik bytecode. Android does not expose the rest of the Linux services. Android phones are available from a few carriers [Update: quite a few now!]
Openmoko, funded by Openmoko.com, is at the other end of the spectrum: it also uses Linux, but exposes all of it to the developer. The "main" stack of phone apps has been re-written several times, using various X-based toolkits. The "official" OM2009 stack is in large part written in Python. C/C++, Java and Perl are all available. Openmoko phones are available only from Openmoko.com. [Update: only from https://projects.goldelico.com/p/gta04-main/[Golden Delicious]. However, because it is all open source:
- you can run Android on Openmoko hardware;
- you could (people have) run Openmoko software on other devices, including Palm PDAs, other Linux phones, and software emulators;
- you can probably run Openmoko software on Android hardware;
- you can run QTopia on Openmoko hardware;
- you can run one of half a dozen Linux distributions on your Openmoko hardware;
- you can (eventually) run other OSes such as OpenBSD on Openmoko hardware;
From another point of view, of course, they are competing. Competing for market share (neither has made much inroads in the consumer space [Update: Hey, I wrote this in 2009. What can I say?]). Competing for developer mindshare. Android tends to get a lot more press, partly because of the "big G" lineage.
People sometimes ask if I think Openmoko should just fold up and go on to something different, given how far ahead Android has moved? I've never been a fan of quitting while you're behind. Imagine if Linus Torvalds had quit while Unix was ahead; his then-little school project would never have seen the light of day, and we'd all be running BSD and System V. Nothing wrong with those - BSD was already on its way to becoming a full open source *Nix, as represented today by OpenBSD, FreeBSD and NetBSD - but things would be rather different in what is now the Linux community, to say the least. Or if Bill Gates had quit while IBM was ahead. Or if Steve Jobs had quit while MS-Windows was ahead. Or if the U.S. had quit the space race when the Russians launched Sputnik. You get the idea. Don't quit while you're behind, nor when you're ahead. As Nathaniel Branden once put it, "a beating heart is a living heart" - so keep on pumping!
And, at any rate, the "real" release of Openmoko software, OM.2009, is almost upon us; I am running a beta of it on my Freerunner (GTA02), and it's actually usable as a cell phone. Butt-ugly compared to some of the earlier releases, but it "just works". Formal release is expected this summer.