If you're not tweaking the OS, you could have written applications for many of the phones out today.
- Any Java-ready phone can support custom applets.
- Nokia provides a library for all their Symbian-OS based phones, which can be downloaded along with programming guides for free from their website.
- Like-wise for RIM/blackberry.
- Any Windows mobile ready phone has application support for .NET Compact Framework or the older Windows CE. Very easy to get started and you see results really fast if you're using VS .NET. They even package a version of VC++ 6 embedded for free to use with the .NET compact framework if you don't own VS .NET. It includes an IDE and everything.
All you need is the standard data cable or dock used for synchronizing that respective phone.
The only advantage with the true open source is that the kernel and OS are also open source, allowing you to make tweaks that you might not be able to do with a proprietary OS.