¿Cuánto tiempo y habilidad se necesita para desarrollar un sistema operativo como Android?

Esa es una pregunta realmente difícil de responder, porque Android está construido sobre una gran cantidad de código fuente abierto escrito por muchas personas, incluido el kernel de Linux. Estimaciones para el número de años-persona de esfuerzo de desarrollo detrás de un rango de distribución de Linux típico alrededor de 60,000 años . Por supuesto, el Android no usa todos los componentes de una distribución típica de Linux (no incluye X Windows, por ejemplo, que es una gran parte). Pero aún es mucho.

Dicho esto, nadie construiría un sistema como ese “desde cero” en estos días; Si desea desarrollar su propio sistema operativo usted mismo como desarrollador individual, probablemente comenzará con una solución de código abierto existente y la modificará o construirá sobre ella.

Tenga en cuenta que si desea que se ejecute en una variedad de teléfonos diferentes, tendrá que hacer mucho trabajo para cada teléfono y tal vez necesite la cooperación de los fabricantes de teléfonos para poder trabajar con su hardware.

Android no solo fue creado por Google. Fue construido por miles (probablemente decenas de miles) de programadores de todo el mundo que ofrecieron voluntariamente parte de su tiempo en Android directamente o en uno de los otros componentes.

Solo por ejemplo, dibujar texto por sí mismo es una tarea enorme que requiere algunas matemáticas bastante avanzadas para convertir rápidamente los contornos de fuentes vectoriales en imágenes para mostrar en la pantalla. En Android, esto lo hace una biblioteca llamada FreeType que fue construida por varios programadores a lo largo de varios años. Eso ni siquiera llega a tratar con el diseño tipográfico de un texto internacional; la biblioteca solo maneja las formas de las letras por sí mismas. Por supuesto, si está creando su propio sistema operativo, no necesita hacer esto: puede usar la biblioteca FreeType existente en su propio proyecto. (Pero si admite totalmente las fuentes TrueType, es posible que deba pagar las licencias de Apple, Microsoft y Adobe por las patentes que poseen que cubren la tecnología TrueType; otro problema por el que deben preocuparse los aspirantes a desarrolladores de sistemas operativos)

Hacer un “SO de juguete” para divertirse basado en la tecnología existente es bastante factible para un programador individual, y puede ser una experiencia divertida y muy educativa. Hacer un sistema operativo de calidad de producción como Android es un gran proyecto.