2011-09-21

Encerrando el Software Libre

Steve Jobs dijo una vez que en Apple no sentían vergüenza de robar grandes ideas.

Mac OS X es el sistema operativo de moda. Su uso ha aumentado en los últimos años tanto que en menos de una década podría alcanzar a windows, sobre todo si tenemos en cuenta los tortuosos caminos por los que se ha adentrado microsoft con sus nuevas propuestas para la 8ª versión de su OS. Miles de personas están descubriendo las bondades del sistema de Apple y relegando de la basura que microsoft les había obligado a comprar durante años pero esa gente no se da cuenta de que los pilares de Apple son los del software libre... privatizado.

Voy a exponer una serie de componentes que he observado en Mac OS X y que pertenecen de alguna forma a proyectos libres de los que Apple se ha aprovechado de formas no precisamente muy éticas. Antes de empezar quiero dejar claro que no soy Richard Stallman que ya estaría mandando al infierno a Mac OS X con sus superpoderes de San iGNUcius. Yo no soy un reaccionario y si bien admito que Apple se ha aprovechado del software libre, reconozco que la contraprestación ha sido no con la comunidad de desarrolladores sino con los consumidores, a los que Apple ha exorcizado, liberado sus ordenadores de windows. Muchos pensarán que esta recompensa no es suficiente para la gran cantidad de corta-pega con apropiación indebida por parte de Apple sin embargo yo tengo una concepción más pragmática, que no inmoral de la distribución del código. Entiendo que el software libre es mejor que el privativo pero si no funciona, el privativo es la elección lógica. Antes de que me acuséis de herejía os recuerdo que la postura de Linus Torvalds está muy próxima a la mía. Yo voy a seguir recomendado a todos mis amigos que se compren un Mac (aunque yo nunca me compraría uno) simplemente porque es la única forma de que se libren de windows. Después de todo, Mac OS X es un UNIX for dummies y eso es lo importante.

Precisamente UNIX es el primer punto de mi análisis. Mac OS fue desarrollado de cero hasta que Jobs regresó a Apple con NeXTEP debajo del brazo. La 10ª versión de Mac OS, la X, pasó a estar basada en los standars de UNIX, más concrecatemente en el sistema FreeBSD, del que heredó su jerarquía y componentes más básicos. Se les debió olvidar que cuando modificas software libre, tienes que compartir los cambios de igual forma o estarás quebrantando la licencia BSD.

El kernel de Mac tampoco está libre de pecado. XNU es un kernel de arquitectura híbrida basado en Mach, el microkernel de la universidad de Carnegie Mellon que se distribuye libremente. La duda que se me plantea aquí es si solo cogieron Mach y a partir de él desarrollaron XNU o si XNU en realidad se deriva del eternamente demorado Hurd de la Free Software Foundation. Esto último sería mucho más grave pero eso solo lo sabrá el programador de Apple que lo diseñó. Es una verdadera pena que XNU no sea software libre porque el rendimiento que desarrollaría un kernel de sus características es potencialmente mayor al de Linux con su arquitectura monolítica modulada aunque en esto siempre ha habido posturas enfrentadas (discusión Tanenbaum–Torvalds). 

Uno de los componentes que más me sorprendió que estuviera en Mac OS X fue sin duda el X windows System, aka X11. Por lo menos parece que Apple no ha incumplido la licencia MIT de X11 porque esta es más permisiva con los cambios producidos en su código y estos han sido mínimos, solo en el ámbito de la integración con su sistema, nada que pudiera beneficiar directamente a la comunidad de software libre.

Cups es el servidor de impresión de UNIX distribuido bajo la GPL que podemos encontrar en todas las distros de Linux. El caso de CUPS es especial porque como Apple vio que legalmente iba a tener problemas si lo adoptaba, optó por la vía jurídica más lógica. Contrató al programador de CUPS y obtuvo una licencia especial que le permitía no redistribuir libremente el código cambiado. Esto es algo que permite la GPL pero no deja de ser curioso.

Otro de los componentes que podemos encontrar en todas las distros debianizadas es APT el sistema de gestión de paquetes que utiliza dpkg para instalar los .deb en Ubuntu. Apple también se adueñó de APT, incumpliendo de nuevo la GPL, lo modificó y ocultó por a motivos de "seguridad" y actualmente es la base del sistema de paquetes de la App Store y de la Mac App Store. Lo que más me molesta de esto es que los fanboys de Apple se creen que inventaron las tiendas de aplicaciones cuando solo copiaron el modelo de distribución de repositorios de Linux. También es cierto que si algún fanboy de Apple viera Aptitude y le dijeran que eso es una tienda de aplicaciones, lo más probable es que le diera un infarto.

Lo primero que hice en un Mac fue abrir un teminal (emulador de teminal para los puristas) y me asombró encontrarme con bash. La shell creada por la Free Software Foundation para el proyecto GNU aparece como predeterminada en Mac OS X. En este caso, la versión de bash es la canónica por lo que Apple no incumpliría ninguna licencia. Otro tema es que a Stallman le guste que su shell se haya convertido en el intérprete de órdenes de Apple. No podía dejar este párrafo sin comentar que el bash de OS X tiene muchos programas de bajo nivel entre los que se encuentra sudo, el comando más carismático de Linux. también se encuentra disponible emacs. Stallman debe tener pesadillas.

Webkit es el ejemplo a seguir en Apple. Es el único elemento de software libre que verdaderamente han respetado, colaborado con su desarrollo y su comunidad. El renderizador web presente en Safari, Chrome/ium, etc. está basado en el KHTML lanzado por el proyecto KDE con licencia BSD. Creo que Webkit es el mejor ejemplo de lo que podría hacer la comunidad si Apple liberase su código. La potencia de Webkit está a años luz de su principal competidor privativo Trident.

Yo no tengo un Mac por lo que no puedo profundizar más en este asunto y todo lo que he contado es quizás la punta del iceberg. Las similitudes que Mac OS X tiene con cualquier distro de Linux son clarísimas y es por eso que un usuario final podría acercarse a Linux, por suerte o por desgracia, a través de Mac OS X. 

En resumen, Apple ha incumplido las licencias GPL, BSD, MIT... y se ha ido de rositas porque su gabinete jurídico es fantástico, saben exactamente donde está la línea que separa el cumplimiento de las licencias de la ilegalidad. Ya dijo irónicamente Linus Torbalds que lo más importante de un sistema operativo es que fuera bonito, todo lo demás quedaría en segundo plano. Es poco ético apropiarse del trabajo ajeno con fines lucrativos pero aún peor es producir una mierda de sistema operativo basado en DOS en pleno siglo XXI así que yo les perdono, sobre todo porque nunca se sabe si Android no va a acabar así, privatizandose poco a poco hasta que solo quede libre su kernel Linux.