¿Qué significa para los consumidores que Apple haya lanzado el núcleo de MacOS como código abierto?

17

https://techcrunch.com/2017/10/01/apple-open-sourced-the-kernel-of-ios-and-macos-for-arm-processors/

¿Significa esto que veremos otras computadoras (que no están construidas por Apple) que ejecutan MacOS?

Si no, ¿qué pasaría?

Por lo que entiendo, también se lanzó el kernel de Unix y se creó Linux. ¿Debería pasar lo mismo con el núcleo de Apple?

DrWongKC
fuente
8
Linux no está basado en el núcleo UNIX, es un proyecto independiente (aunque intenta reproducir la API para que sea más o menos compatible con POSIX).
Ruslan
66
En realidad, MacOS es Unix, pero Linux no es Unix (Apple realmente pagó dinero para obtener su sistema operativo certificado como Unix)
slebetman
1
@DrWongKC blog.opengroup.org/2012/07/25/…
el.pescado
24
La noticia aquí no es que el núcleo es de código abierto; la primera oración de su artículo dice "Apple siempre ha compartido el núcleo de macOS después de cada lanzamiento principal". La noticia es solo que han lanzado la versión escrita para ARM. Básicamente, este artículo es clickbait y podría haber terminado después del primer párrafo.
jscs
1
@JoshCaswell Esta debería ser una respuesta, especialmente porque no necesita ninguna referencia más allá del artículo vinculado en la pregunta.
IMSoP

Respuestas:

34

No significa nada. El núcleo macOS / OS X siempre ha sido de código abierto. El kernel es solo una pequeña parte de un sistema operativo completo, por lo que no permite que nadie más lance su propia versión de MacOS.

Mike Scott
fuente
55
Alguien podría intentar construir su propio sistema operativo basado en el núcleo de macOS, por ejemplo. OpenDarwin / PureDarwin . Jusr recuerda que la mayoría de las otras partes que definen lo que hace que macOS falte
el.pescado
3
¿Alguien aquí ha construido con éxito un xnu que sea realmente idéntico al que está instalado? En el día de Tiger compilé el mío y vi problemas. Luego, Apple le dijo que faltan ciertas partes intencionalmente y que sería imposible construir un núcleo completo de características a partir de lo publicado. (¿Cuándo) ha cambiado esto?
LаngLаngС
2
@LangLangC No, el núcleo de Darwin todavía está incompleto a partir de hoy. Lo que han lanzado hoy son simplemente los componentes ya lanzados, pero con pequeños cambios para los procesadores ARM que usan en iOS y tvOS.
Adam Davis
34

Aclaración:

Apple siempre ha lanzado el núcleo de MacOS en forma de código abierto. El núcleo se llama Darwin. Darwin tiene un objetivo de x86. Se puede portar a otros procesadores, pero la variante de código abierto de Darwin que Apple controla y lanza solo estaba disponible para x86.

Sin embargo, iOS, que usa procesadores ARM, ha usado Darwin desde su inicio. Apple nunca ha lanzado el puerto ARM de Darwin, a pesar de que obviamente tienen uno ya que lo están usando en millones de dispositivos iOS que ya están en manos de los consumidores.

Este anuncio es que Apple ahora está lanzando las piezas ARM de Darwin que anteriormente retenían.

Darwin es solo un núcleo, no incluye la mayoría de lo que hace que MacOS o iOS funcionen como un consumidor espera que lo hagan. Un kernel no es un sistema operativo completo.

Además, Darwin no es un núcleo completo. Apple no lanza muchas porciones de ella.

¿Qué significa para los consumidores que Apple haya lanzado el núcleo de MacOS como código abierto?

No mucho, inicialmente. No afectará la disponibilidad de hardware o software, actualizaciones, y probablemente ni siquiera tendrá un impacto sustancial en el jailbreak o usos alternativos similares de dispositivos Apple.

¿Significa esto que veremos otras computadoras (que no están construidas por Apple) que ejecutan MacOS?

No afecta la disponibilidad de dispositivos de hardware que no sean de Apple que ejecuten software o sistemas operativos de Apple. Lo que ya está disponible no estará más o menos disponible o será más o menos legal.

Si no, ¿qué pasaría?

La explicación más probable, y cómo se beneficiarán los consumidores, proviene de una versión anterior del código que Apple generalmente mantiene cerca de su pecho, " Apple confirma que el código del kernel de iOS se dejó sin cifrar intencionalmente ", lo que sugiere:

Apple ha comenzado a cambiar hacia una mayor transparencia, particularmente en temas de seguridad, a raíz de su batalla con el FBI por desbloquear un iPhone utilizado por el tirador de San Bernardino. Cuando el FBI intentó obligar a Apple a desbloquear el teléfono, el CEO Tim Cook escribió una rara carta abierta a los clientes de Apple, explicando su decisión de resistir. "Sentimos que debemos hablar ante lo que vemos como una extralimitación del gobierno de los Estados Unidos", escribió Cook. (El FBI finalmente retiró su solicitud después de pagarle a un tercero para que forzara el dispositivo).

Abrir el código del kernel para inspección podría debilitar el mercado de fallas de seguridad como la que se supone que el FBI usó para ingresar al iPhone de San Bernardino. Si los defectos se revelan rápida y ampliamente, reducirá los precios que la policía y los mercados negros pagarán por ellos, y podría significar soluciones más rápidas para los clientes de Apple.

Por lo tanto, el beneficio para el consumidor es que habrá más ojos, específicamente investigadores de seguridad, en el código y, con suerte, esto sacará a la luz las debilidades en la seguridad, permitiendo a Apple la capacidad de mejorar la seguridad para los clientes en lugar de descubrir que su seguridad se rompe cuando un gobierno o Un tercero puede quitarle los derechos a alguien sin el debido proceso.

Sin embargo, si esto se desarrolla positivamente, depende de que los investigadores se ofrezcan como voluntarios para analizar el código.

Por lo que entiendo, también se lanzó el kernel de Unix y se creó Linux. ¿Debería pasar lo mismo con el núcleo de Apple?

Apple comenzó con el código BSD original, que, usando la licencia BSD, no requiere que las compañías o individuos publiquen sus cambios en el código a las personas a quienes distribuyen el software compilado. De hecho, eligieron esto sobre el kernel de Linux específicamente para poder mantener en secreto cierta propiedad intelectual (entre muchas otras razones, por supuesto).

Por lo tanto, no tienen la obligación legal de liberar todo su código. Algunos de los programas que utilizan tienen otras licencias, como GPL, que requiere que lo mantengan abierto. Gran parte de estos están disponibles en Apple ahora.

Sin embargo, esto también apunta a otra posibilidad: se lanzan muchas piezas de kernel para que los desarrolladores puedan desarrollar hardware y software especializado de MacOS. Esto es mucho más profundo en el sistema de lo que los desarrolladores de aplicaciones tienen acceso para dispositivos iOS.

Este lanzamiento, entonces, sugiere una o las dos posibilidades fuertes (y esta es una conjetura completa):

  1. Apple se está preparando para lanzar computadoras MacOS utilizando sus procesadores ARM de la serie A.
  2. Apple se está preparando para permitir que los desarrolladores creen software de nivel más profundo para dispositivos iOS.

Yo diría que las computadoras MacOS que usan procesadores ARM son más probables, ya que el último chip A11, usado en el iPhone 8 y X, supera al último chip Intel i5 , usado en el Macbook 13 "2017. Apple todavía tiene mucho camino por recorrer antes pueden reemplazar los procesadores Intel a lo largo de toda su línea, sin embargo, podemos ver, dentro de un año o dos, computadoras MacOS de gama baja con chips A12 o A13, reemplazando los chips Intel utilizados anteriormente.

Esto proporcionaría un beneficio significativo a Apple (particularmente su resultado final).

Sin embargo, sin una declaración oficial, no hay forma de saber qué razones tiene Apple para lanzar las porciones ARM de su núcleo Darwin, que ya es de código abierto.

El consumidor se verá muy poco afectado, si es que lo hace, y de ser así solo indirectamente.

Adam Davis
fuente
¿Una computadora macOS de gama baja como la Mac mini, tal vez? :-)
nohillside
1
@patrix ¡Sé que mucha gente está esperando una nueva!
Adam Davis
Fácilmente la mejor respuesta; ¡Gracias por explicarlo tan claramente!
Comodín el
1
Si solo los puntajes de Geekbench realmente implicaran algo sobre el rendimiento en el mundo real ... ;-)
Cody Gray
Muy sorprendente respuesta. Gracias por compartir tu conocimiento.
DrWongKC
18

Un impacto importante ha sido en el campo de la seguridad del software. El kernel de iOS no había sido previamente de código abierto: las fuentes públicas anteriormente solo cubrían plataformas x86 / x64, sin ninguna de las partes ARM / ARM64 que se ejecutan en iOS. El kernel también estaba previamente encriptado en el firmware de iOS y es muy difícil de extraer, lo que hace que antes sea muy difícil realizar evaluaciones de seguridad del kernel de iOS, una especie de "seguridad por oscuridad".

Al abrir el kernel y dejar el kernel sin encriptar, el kernel de iOS ahora puede analizarse y analizarse más libremente para detectar vulnerabilidades de seguridad ( https://techcrunch.com/2016/06/22/apple-unencrypted-kernel/ ). Este será un paso positivo para la seguridad del kernel en general porque significa que la investigación de vulnerabilidad del kernel de iOS estará más abierta a los investigadores comunes que pueden revelar problemas a Apple, en lugar de limitarse a, por ejemplo, actores financiados por el estado.

nneonneo
fuente