In a previous life I had a product on PalmOS. Not only were the APIs pretty good, but they'd give you the source to PalmOS APIs. You didn't get the kernel (AFAIK it wasn't theirs to give), but you knew how the APIs you called interpreted their arguments.
It was a good community, and in between that, Palm, and Metrowerks, you had lots of support. Oh, and CodeWarrior... those were the days...
And finally, you never worried about Palm screwing you as an app vendor, which is a concern from Apple (I'm a mac fan, and have written on MacOS, but I'm also realistic cough Watson cough). They're not playing the walled garden game, they just did their side of the system well and encouraged app developers to do the same with good tools, docs, & support.