¿Mac OS X es de código abierto?

37

Recientemente supe (en superusuario) que Mac OS X usa el shell bash. También sé que OS X tiene un núcleo UNIX.

Estaba buscando información sobre OS X y Open Source en Google, pero lo que encontré fue este sitio que parece incluir el código fuente de OS X.
Por ejemplo, uno de los enlaces dice: Mac OS X 10.5.7 Source

Entonces, ¿es OS X de código abierto?

Hay una licencia de fuente pública de Apple , pero soy malo para entender la jerga legal.

Además del núcleo, ¿qué pasa con las otras piezas? El servidor X? Administrador de ventanas? ¿Explorador de archivos? ¿Qué es el código abierto y qué no?

Hasen
fuente
3
Técnicamente, OSX tiene un núcleo BSD, no UNIX
Jeremy French
66
@Jeremy French: De Wikipedia: "Históricamente, BSD ha sido considerado una rama de UNIX". Entonces, por silogismo, OS X también es UNIX. Entonces, otra cita: "Mac OS X v10.5 está certificado UNIX 03 mientras se ejecuta en procesadores Intel".
Nikhil Chelliah
@Jeremy French: No es que te demuestre que estás equivocado ni nada.
Nikhil Chelliah
44
Esta pregunta es fantástica en muchos sentidos. +1
Raystafarian

Respuestas:

43

Darwin es un sistema operativo de código abierto de Apple y es el núcleo de Mac OS X. Pero Darwin no tiene la GUI de Mac OS X.

  • Darwin es como Linux, FreeBSD, etc.
  • Mac OS X GUI es como KDE, GNome, etc.
MicTech
fuente
11
Creo que una analogía más apropiada sería Darwin para el kernel de Linux como Mac OS X para Ubuntu.
Sasha Chedygov
66
Ese es un buen concepto cuando se describe la GUI, pero no tan bueno cuando se habla de código abierto. Ubuntu es de código abierto (Gnome), mientras que OS X no lo es (Aqua). Importante entender la diferencia OMI.
churnd
1
XNU es el kernel de Mac OS X. Ver: github.com/opensource-apple/xnu
Lourenco
22

Otros ya han explicado que Darwin es de código abierto. Es el núcleo de Mac OS X, similar a cómo Linux es el núcleo de una distribución de Linux. El sistema de ventanas de Mac OS X (llamado Quartz Compositor) no es de código abierto.

También pregunta sobre otras partes de código abierto de Mac OS X:

Además del núcleo, ¿qué pasa con las otras piezas? El servidor X? Administrador de ventanas? ¿Explorador de archivos? ¿Qué es el código abierto y qué no?

Probablemente, uno de los proyectos de código abierto más destacados de Apple es WebKit, que originalmente era una bifurcación de KHTML y KJS. WebKit es utilizado por una gran cantidad de navegadores .

Otro proyecto de código abierto de Apple que puede haber utilizado incluso si no utiliza Mac OS X es [Bonjour] ( http://en.wikipedia.org/wiki/Bonjour_(software)) , la implementación de Zeroconf por parte de Apple.

Apple también posee CUPS , un sistema de impresión que utilizan varios sistemas operativos.

Apple también tiene una serie de otros proyectos de código abierto, como un servidor de transmisión , y contribuyen a muchos más proyectos de código abierto, como gcc. Encontrarás más en opensource.apple.com y Mac OS forge . Además de eso, Mac OS X viene con cientos de componentes de código abierto desde Apache hasta ZFS, la mayoría de los cuales no son propiedad ni están mantenidos por Apple.

LKM
fuente
2
Wow, ¿CUPS es de Apple? Esa es una noticia para mí ...
Camilo Martin
1
@CamiloMartin - bueno, Apple compró CUPS ...
AstroFloyd
13

El núcleo es de código abierto; la interfaz de usuario y todas las aplicaciones con las que viene el sistema operativo no lo son.

Apple mantiene algunos proyectos de código abierto, pero en su mayor parte, todo, además del núcleo del núcleo, es de código cerrado. Por ejemplo, WebKit (el motor de representación HTML detrás de Safari, Chrome y otros navegadores) es de código abierto, pero el navegador Safari en sí no lo es. Finder, Spotlight y la mayoría (si no todas) de las aplicaciones que vienen con el sistema operativo son de código cerrado.

Sasha Chedygov
fuente
5

El sistema operativo Darwin, en el que se basa OS X, es de código abierto, al igual que el núcleo XNU que utiliza. Sin embargo, la GUI Aqua de OS X no es de código abierto. Esto efectivamente le da a Apple lo mejor de ambos mundos: obtienen un sistema operativo que tiene la estabilidad y la seguridad de una plataforma de código abierto, similar a UNIX, al mismo tiempo que tienen la rentabilidad de una plataforma patentada. Esto es como la política de McDonald's de darle agua gratis y cobrarle un cuarto por la taza.

wbr
fuente
5

Si y no.

Unix no es de código abierto, y en estos días es una certificación para una familia de sistemas operativos que coinciden con los estándares comunes de Unix. También hay sistemas operativos que tienen una herencia en las versiones originales de Unix: Solaris y algunos de los BSD, por ejemplo. Ninguno de estos tiene licencia GNU: la mayoría de las variantes BSD tienen licencia BSD, y algunas versiones de Solaris estaban bajo el CDDL.

OS X se basa en bits de FreeBSD, así como en un micro kernel llamado L7, y Apple ha optado por mantener abierto el origen de esto, ya que tienen la opción de cerrarlo bajo la licencia BSD.

Aquí están todos los componentes de código abierto de Apple .

El Kernel Darwin (basado en BSD) está aquí , mientras que en teoría es posible construir un sistema operativo a partir de él, vea OpenDarwin y PureDarwin . Notaría que ambos proyectos parecen muertos, y que le faltarían muchos de los componentes del escritorio, como el escritorio, etc.

Como tal, bueno, es de código abierto, pero no de la misma manera que Linux o BSD. No podría construir un sistema que funcione a partir del código de Apple, pero podría incorporar otras cosas y hacerlo si no le importa perder gran parte de la interfaz de usuario de Apple.

Editar: a partir de febrero de 2013, parece haber una nueva versión de PureDarwin, que afirma cambios bastante importantes . No tengo idea si esto significa que el proyecto está vivo o no. También me di cuenta de que Darwin fue lanzado en forma compilada aquí , lo que puede ser un punto de partida útil para hackear las cosas.

Journeyman Geek
fuente
1
None of these are GNU licensed - most BSD varients are BSD licensed,Al leer esto, alguien podría pensar que la licencia BSD es más restrictiva que GNU ...
Camilo Martin
Es cierto, pero cddl no lo es. También he mencionado que Apple tiene la libertad de cerrarse por completo si lo desean, lo que, prácticamente, es una gran diferencia entre las licencias BSD y GPL. Mi respuesta también sigue hablando acerca de cómo está abierta la fuente de la mayoría de OS X, pero partes de ella no lo están. No iba a una discusión extensa sobre los méritos, deméritos y relativa libertad de varias licencias aunque.
Journeyman Geek
Pero, incluso si Apple cerrara la fuente, las versiones (antiguas) con licencia BSD seguirían siendo "gratuitas", ¿verdad? Además, solo el kernel no es "la mayor parte de OS X" ... y supongo que el kernel es bastante limitado (en comparación con Linux o Windows ') teniendo en cuenta que OS X se ejecuta (oficialmente) en un puñado de primeros ordenadores.
Camilo Martin
Lamentablemente, los ISO solo son equivalentes a OS X 10.4 (2005).
Daniel Beck
2

Algunas partes de OS X son de código abierto (especialmente el núcleo Darwin ), y utiliza muchos proyectos de código abierto.

El título "Mac OS X 10.5.7 Source" es un poco engañoso: la página enumera todo el código de código abierto utilizado en OS X (como Apache, Python, bash, etc.)

No mucho de lo que probablemente considera "OS X" es de código abierto, es sobre todo cosas subyacentes (por ejemplo, el kernel o el cliente / servidor SMB utilizado por la función de intercambio de archivos de Windows)

dbr
fuente
2
Darwin no es el núcleo en OSX. El núcleo se llama Mach. Darwin es el nombre en clave de todo el ecosistema subyacente, como el sistema de archivos, los controladores, el shell, etc., es decir, Darwin es el sistema operativo OSX y este es principalmente de código abierto.
Matt H
1

Classic Unix no tiene una licencia GNU. En última instancia, algunas partes de MacOS están disponibles para el público, pero no es "de código abierto" o "gratuito" de ninguna manera significativa.

Apple utiliza muchos componentes de código abierto, en total conformidad con su licencia, en el producto general.

Daniel Pittman
fuente