Una buena explicación de Tim Bray sobre las APIs de programación de Android:
La aplicación de mensajes SMS de Google tiene su propia base de datos, que emplea para guardar el historial de mensajes SMS, y crea su propio Proveedor de Contenidos para uso interno. Resulta que si leéis el código fuente, podéis averiguar cómo acceder a este Proveedor de Contenidos. Esto probablemente no se una buena idea, porque es parte de una aplicación que puede que no siga estando presente.
Personalmente, creo que los beneficios que aporta una plataforma Open Source (de código abierto) superan este tipo de inconvenientes — que alguien use el código fuente para aprender a hacer algo no muy inteligente.
Hay varias diferencias significativas entre las APIs de aplicaciones de Android y iPhone OS, pero la mayor diferencia tiene que ver con la política. Toda plataforma compleja tiene APIs que los programadores no deberían utilizar. Android es como Mac OS X (o Windows, u otros sistemas por el estilo) en cuanto que los programadores pueden decidir usar estas APIs privadas ignorando los consejos del fabricante, y asumir un riesgo. En iPhone OS, Apple aplica la prohibición de usarlas mediante el proceso de revisión de aplicaciones del App Store. Ahí está la diferencia.