¿Por qué Apple Co. está en contra de la idea del software libre y de código abierto (FOSS)?

No lo son Esta será larga.

Apple tiene una actitud bastante compleja hacia FOSS, aunque en general es profesional. Usan una buena cantidad en sus productos y, en general, están felices de arrojar dinero y desarrolladores a proyectos externos con los que trabajan, a veces incluso contratando personas de dichos proyectos, por ejemplo Jordan Hubbard de FreeBSD y Chris Lattner de LLVM. (El inminente código abierto Swift 2.0 es casi seguro que lo hace Lattner, ya que expresó su deseo de hacerlo cuando Swift se lanzó por primera vez). La verdad es que Apple, junto con Linux, es uno de los jugadores más importantes en la comunidad Unix, y eso es un base de clientes que exige herramientas abiertas, por lo que Apple está feliz de jugar, hasta cierto punto.

De alguna manera, lo que Apple hace es análogo al modelo de cuchillas y cuchillas de afeitar, ya que el kit de herramientas básico es gratuito pero el cromo es lo que le cuesta. El sistema básico de Darwin es FOSS, al igual que la infraestructura del compilador. La mayor parte de Core Foundation es FOSS, pero Objective-C FoundationKit y Cocoa framework no lo son. (Aunque la mayor parte de la salsa especial está en CF y el tiempo de ejecución ObjC (también FOSS) de todos modos, por lo que no es una gran pérdida, ya que aún puede administrar los datos mediante el camión volquete con CF o usar GnuStep). Todo este trabajo de desarrollo de forma gratuita está subvencionado por iTunes / Apple Music y las ventas de hardware. Sería bueno que toda la pila, desde el núcleo hasta la GUI, sea FOSS, pero realmente no se puede culpar a una corporación por querer proteger sus resultados. Aunque Apple no es el mayor fanático del copyleft, modificaron la versión original de la Licencia de fuente pública de Apple lo suficiente como para que se ajuste a las pautas de OSI, incluso si es incompatible con la GPL.

Donde ocurre el inconveniente es con cosas como la GPLv3, así como los problemas de derechos de autor relacionados con la tienda de aplicaciones de iOS y la política general en torno a copyleft vs. licencias permisivas.

El problema GPLv3 es probablemente el más visible, y no es un problema exclusivo del software comercial (Linus Torvalds se ha negado a volver a licenciar el kernel de Linux a v3, por ejemplo). A los abogados de Apple no les gusta la versión 3, y esa es una gran razón por la que Apple ha estado invirtiendo dinero y talento en el proyecto LLVM; la bifurcación de Apple de GCC estaba bajo GPLv2, y no querían ninguna parte de v3, por lo que crearon Clang para no tener que quedarse con una versión cada vez más desactualizada de GCC. (Richard Stallman considera que esto es una subversión intencional de la GPL. Sospecho firmemente que a nadie en Apple realmente le importan los efectos en el ecosistema de la GPL; sus clientes quieren FOSS, por lo que Apple se los ofrece de la forma que mejor funcione para sus abogados. )

El tema copyleft vs. permisivo es una pregunta ligeramente diferente, y aquí es donde, en mi humilde opinión, la FSF realmente trae el papel de aluminio. Como dije anteriormente, RMS no es fanático de LLVM, porque … bueno, no creo que todavía esté allí, probablemente no lo haya sido desde la fusión de EGCS, pero una vez los documentos de GCC incluyeron una declaración en la línea de “el propósito de otros compiladores de C es compilar GCC”, lo que siempre me pareció bastante arrogante. Stallman, por lo que sin duda es una mezcla de razones éticas y relacionadas con el ego, quería un “monopolio” copyleft (¿es esa la palabra correcta?) En los componentes principales, de los cuales el compilador C / C ++ es uno de los más importantes. core, y el choque del tren que es lo interno de GCC fue una decisión de diseño intencional para mantener el software propietario fuera de esa área tanto como sea posible. Clang / LLVM, al menos desde la perspectiva de RMS, lo abrió de par en par; La licencia NCSA es básicamente similar a la licencia BSD, lo que significa que los tenedores patentados son aceptables.

Clang es altamente modular, GCC no lo es, y solo por eso RMS y otros solo tienen la culpa de que Apple se haya distanciado. De hecho, no creo que RMS tenga una comprensión particularmente sólida del concepto de “producto”; Si la “herramienta adecuada para el trabajo” ya no se ajusta a esa descripción, a RMS no le importa especialmente si significa que solucionar el problema lo lleva fuera del ecosistema GPL de una manera que no le gusta. Ciertamente, esa es la prerrogativa de RMS, pero significa que si la gente se aleja de su visión del software libre porque se interpone en el camino del trabajo real, es una pérdida para su lado y, a menudo, evitable. Creo que en la práctica terminó siendo una situación de dilema de un prisionero, pero a Alice en esta situación (Apple) no le importó particularmente lo que le sucedió a Bob (GCC / GPL) y desertó a la primera oportunidad disponible. Si está de acuerdo con el lado de las cosas de la FSF, que Apple le debía a la comunidad por no desertar, entonces podría, con una justificación bastante endeble, afirmar que Apple lo engañó y arruinó para todos. Por otro lado, las licencias permisivas en el modo BSD / MIT son gratuitas incluso según la definición de la FSF, por lo que no se puede decir que Apple no realizó al menos el trabajo mínimo necesario para cumplir con el estándar, y eso hace que el FSF parece ridículo si no lo reconocen.

tl; dr Están bien con el software libre. Es solo que ellos, como cualquier otro desarrollador, comercial o sin fines de lucro, prefieren hacerlo en sus propios términos.

No es. Mac viene con apache, php, Python, ruby, etc. Apple creó el webkit, el motor que Google usó para construir Chrome. También hacen importantes contribuciones al proyecto llvm. Todavía admiten el desarrollo de x11 sin ningún motivo. Utiliza sqlite en una gran cantidad de productos. El núcleo de os x – darwin es de código abierto. Simplemente les gusta controlar las cosas un poco.

Actualización : Para verlo usted mismo: Apple: código abierto y código abierto: las versiones deberían ayudarlo. ¡Usan, mejoran y vuelven a enviar su trabajo a estos proyectos!