All this discussion of iPhone vs. Pre vs. Blackberry, and not a single
mention of Google Android? Android is a cell phone OS that consists of
Java-based phone software on top of ARM Linux. The whole shebang is
open source and extremely hackable -- you can write your own GPS
software, or install Emacs! And it even makes phone calls.

I'm quite happy with my HTC G1, one of the two Android phones
available now. I wouldn't recommend it to my non-geek friends, who
might not put up with the occasional glitch. But it's a lot of fun for
us curious folk who like to fiddle with our phones.