En estos últimos cuatro años, un antiguo desarrollador de Apple llamado Andreas Kling ha estado trabajando en un proyecto personal (de hecho, en origen nació como un proyecto 'de terapia') que, en las últimas semanas, está cosechando una popularidad creciente. Su nombre es SerenityOS y, como su nombre indica, se trata de un nuevo sistema operativo.
No es exactamente un sistema operativo de uso general, sino uno dirigido a usuarios con gustos muy concretos:
"SerenityOS es una carta de amor a las interfaces de usuario de los '90 sobre una base tipo Unix personalizada. Sería honrado decir que roba buenas ideas de varios sistemas: en términos generales, el objetivo es casar la estética del software de oficina de finales de los '90 con la accesibilidad de los Unix para usuarios avanzados de finales de los 2000".
Es decir, estamos ante un sistema operativo Unix (pero no perteneciente a las subfamilias Linux o *BSD, aunque se acoja a la licencia abierta BSD), dotado de una interfaz gráfica vintage y pensado para equipos x86 de escritorio.
Ya cuenta con su propio kernel multitarea, su propio gestor de ventanas, una pila de red IPv4 (protocolos ARP, TCP, UDP e ICMP), sistema de ficheros Ext2, un kit de herramientas gráficas (LibGUI) y otro de librerías gráficas 2D (LibGfx).
Y es que absolutamente todo en SerenityOS ha sido desarrollado desde cero (usando C++), lo que le ha permitido experimentar sin deberse ni a los futuros clientes ni a la retrocompatibilidad. Así, el sistema incluye incluso una aplicación de hoja de cálculo cuyas fórmulas se escriben usando JavaScript.
Según explica Kling en una entrevista concedida a Ars Technica:
"Cuando empezamos, importamos cuatro o cinco funciones de la biblioteca estándar de C de NetBSD, pero se terminaron eliminando con el tiempo. Ahora estamos libres de código de terceros, con la excepción del proceso de compilación".
El citado proceso de compilación es el único modo de hacerse con una versión ejecutable de SerenityOS: no hay, por ahora, ninguna ISO disponible para descargar, sólo un código fuente que, una vez compilado, nos generará una máquina virtual.
No cuenta con sistema de paquetes ni con repositorios: todo el software disponible para SerenityOS se incluye en el propio sistema operativo, aunque sí deja abierta la opción a instalar software de terceros usando un sistema de 'ports' similar al de FreeBSD… pero obligando a recompilar de nuevo todo el sistema operativo.
Entre los ports ya disponibles podemos encontrar los de varios videojuegos populares como Quake (I y II), Half-Life (desde el pasado mes de enero), Doom o VVVVVV, que complementan desarrollos propios de los colaboradores del proyecto:
Un aspecto negativo de SerenityOS es que el soporte multinúcleo, aunque ya disponible, aún es considerado 'inmaduro' por su creador. Sin embargo, aun si sólo se aprovecha la potencia de un único núcleo del procesador, la aprovechará al máximo: su limpio código ofrece un rendimiento excepcional para el tipo de SO del que estamos hablando.
Antes de correr a preguntarle si tal o cual funcionalidad de tu interés terminará siendo implementado en el sistema operativo, te recomendamos leer su FAQ:
¿Será compatible SerenityOS con $COSA?
Quizás. Quizá no. No hay un plan.
¿Cuándo va a implementar tal $COSA?
Tal vez algún día. Tal vez nunca. Si quieres que algo suceda, ¡puedes hacerlo tú mismo!
Y, aunque todo en SerenityOS parezca girar en torno a Andreas Kling, lo cierto es que cada vez cuenta con más ayuda de la comunidad: el pasado mes de septiembre celebraba el medio millar de colaboradores en su GitHub… y ya está a punto de alcanzar los 750.
Cómo surgió (y cómo evoluciona) este proyecto
¿Por qué llamar a este nuevo sistema operativo SerenityOS? Antes hemos mencionado que, para su creador, éste era un proyecto de terapia personal: Kling es un ex-adicto que, tras salir de una clínica de desintoxicación, decidió crear un sistema operativo para enfocar su mente y ocupar en algo su tiempo.
De modo que para bautizar a su creación decidió inspirarse, a modo de recordatorio, en la 'oración de la serenidad', tan popular entre las organizaciones de adictos anónimos.
El proyecto parece haber sido positivo para él, pues el pasado mes de mayo tomó la decisión de dejar su trabajo para poder centrarse en SerenityOS a tiempo completo. En ese momento, según revelaba en su blog, estaba ingresando más de 2000 dólares mensuales en concepto de donación, además de alguna venta puntual de merchandising.
"No estoy tratando de hacerme rico con esto: sólo soy un ser humano que trata de mantenerse cuerdo y saludable, pero resulta que mi proyecto de terapia ha conectado con miles de personas, muchas de las cuales quieren apoyarlo y ver a dónde se dirige. Es realmente un honor encontrarme en esta posición".
En cualquier caso, incluso si no tienes ningún interés en instalarte y usar SerenityOS en algún momento, sigue siendo un proyecto muy interesante para cualquier amante de los sistemas operativos…
…pues Kling ha ido documentando en su web (y 2) y en YouTube (con cientos y cientos de vídeos) el proceso de construcción desde cero de un SO, comentando todos los retos a los que se ha enfrentado y las razones detrás de su enfoque a la hora de desarrollarlo.
Ver 10 comentarios