Seamos claros, Apple no es una de esas empresas que quiere apoyar el código abierto, literalmente tienen CERO software popular de código abierto que contribuyeron, a pesar de que se beneficiaron toneladas de la comunidad de código abierto, literalmente construyen su sistema operativo utilizando FreeBSD.
Compañías como Apple y Amazon son como sanguijuelas. Usan Java, usan gcc, usan el kit de herramientas GNU, usan ENORMEMENTE Linux, usan MySQL y Postgres pero no contribuyen. Como ya he dicho, CERO software de producción popular de código abierto fue iniciado por Apple a menos que fuera para beneficiarse de alguna manera.
¿Has oído hablar de Swift o el apoyo de Objective-C para Windows o Linux que es financiado por Apple?
Ahora a la pregunta de por qué iOS no es de código abierto, aunque reconozco que la mayoría de los componentes se construyen utilizando herramientas de código abierto. Son sanguijuelas y no se dan cuenta de cómo el código abierto beneficia a la propia empresa a largo plazo.
Linux ha sido de código abierto desde sus inicios. Desde el primer día. Nunca he oído hablar de una vulnerabilidad en él e incluso si se detectaba se arreglaba en un par de días. Hay muchos servidores web que son de código abierto incluyendo Jetty, PHP, HHVM, Spring, Tornado, web py y no escuchamos que sean hackeados cada dos días. Así que la premisa de que el software de código abierto es menos seguro como señalan otras respuestas es extremadamente ignorante.
iOS no es de código abierto porque a Apple le importa una mierda el código abierto. Google por ejemplo abrió software tan increíble como kubernetes y tensorflow que obtiene el respeto de los buenos desarrolladores.
Apple es una empresa egoísta y de pensamiento cortoplacista que no es un buen ciudadano en la comunidad de código abierto. Es simplemente el ADN de la empresa. Incluso Oracle es mejor en ese aspecto (gasp, nunca imaginé que diría esto).