¿Qué significa cuando la gente dice que ‘el SO de Apple es la base de Linux’?

Linux es una implementación de unix, lo que significa que pretende cumplir con los estándares únicos de Unix y POSIX. Tiene, en su núcleo, el Kernel Linux, escrito por Linus Torvalds y modificado por la comunidad de código abierto. Linux es una marca registrada y se refiere a un sistema operativo muy específico. Linux es de código abierto.

Mac OS X está construido sobre Darwin, su nombre para una implementación de FreeBSD, otra implementación que cumple el estándar posix. FreeBSD también es de código abierto. Mac OS X ha sido certificado para cumplir con el SUS y por lo tanto puede ser llamado UNIX.

El hecho de que ambos sean de código abierto y el hecho de que ambos sean implementaciones de unix da lugar a que la gente llame a Mac OS «Linux», aunque definitivamente no sea Linux.

Los ejecutables binarios en las dos plataformas son diferentes – un programa compilado para Linux no se ejecutará en Darwin.

Interesantemente, oigo a la gente aplicar cada vez más el término Linux a cualquier sistema operativo de «código abierto» que sea una implementación de unix. No es el caso. Hay muchas versiones que cumplen el estándar y se basan en un núcleo diferente. Hay mucha gente, de hecho, que no cree que el kernel de Linux esté a la altura en cuanto a rendimiento o aspectos de seguridad; sin embargo, ese’ no es un debate en el que yo participe porque no’ conozco los detalles de las implementaciones del kernel.

Ubuntu es una distribución Linux. OS X es una distribución BSD. Ambas probablemente cumplen con el estándar de UNIX; no son lo mismo.

Edición: tomado en cuenta el comentario de Bill Karwin’s, ediciones adicionales después de los comentarios de User’s para aclarar el estado del SUS.