Hoy voy a iniciar una nueva serie sobre personalidades relacionadas con el desarrollo de software y que mejor comienzo que con Hans Reiser, creador de ReiserFS y asesino.
Todo aquel que tenga contacto con el mundo de Linux desde hace bastantes años, recordará el Changelog del Kernel de Linux del 30 de Enero del 2001 donde se hablaba de la inclusión por defecto en el Kernel de Linux del primer sistema de archivos con Journaling soportado de forma nativa por el mismo. Este sistema de archivos era ReiserFS
Aquello era toda una novedad y algunas distribuciones bastante famosas como SuSE o Knoppix lo adoptaron como sistema de archivos por defecto para las particiones en sus instalaciones. La verdad es que se notaba bastante ya que en aquella época, el sistema de ficheros más utilizado era el ya obsoleto ext2 que tardaba bastante en chequear y en realizar búsquedas e indexar.
Breve introducción a ReiserFS
ReiserFS no solo era el primer sistema de ficheros con journaling soportado de forma nativa en el Kernel de Linux, sino que además presentaba una serie de características que no estaban disponibles en otros sistemas de archivos de Linux de la época. Por ejemplo, permitía el redimensionado hacia arriba de las particiones formateadas con él en caliente sin desmontar la partición. Además, como ya he dicho, incluía un sistema de journaling que realmente era lo que más llamaba la atención.
En cuanto al rendimiento, ReiserFS se mostraba más rápido y óptimo en sistemas donde la mayoría de los archivos eran menores de 4K donde se comportaba bastante mejor que ext2 y ext3. Se demostró a través de varios escenarios de uso que el rendimiento del sistema de archivos descendía de forma dramática con el tiempo. Además, antes de la versión 2.6.33 del Kernel, ReiserFS usaba de forma intensiva (e incluso abusiva) el sistema de bloqueos BKL (big kernel lock) que no permite escalar en sistemas con núcleos múltiples puesto que los hilos levantados usando este sistema no pueden utilizar más de un núcleo a la vez.
En general, el rendimiento de ReiserFS es bastante pésimo si lo comparamos con otros sistemas de ficheros modernos para Linux como ext4 o XFS.
ReiserFS almacena archivos de metadatos, entradas de directorio, listas de bloques de inodos y colas de archivos en un único árbol B+ combinado identificado por una clave única. El diseño de ReiserFS basado en árbol B+ le permitía evitar problemas de acceso lineal al sistema de archivos al realizar búsquedas, convirtiéndolo en su época en más escalable que sus competidores.
El 14 de Septiembre de 2006, Jeff Mahoney de SuSE escribía un post en el cual informaba de que SuSE Novell abandonaba el sistema de ficheros ReiserFS para adoptar ext3 por defecto. Los motivos que argumentó se debían a problemas de escalabilidad (mencionados anteriormente) y que nada tenía que ver esta decisión con los "problemas legales" que estaba teniendo Hans Reiser. Los problemas legales de Reiser eran poca cosa, una simple acusación de asesinato en primer grado.
El padre de la criatura
ReiserFS (y Reiser4) fue desarrollado por un equipo de desarrollo liderado por Hans Reiser en Namesys, empresa fundada por él mismo en Oakland, California. En Abril del 2008, Hans Reiser fue condenado por el asesinato en primer grado de su esposa, Nina Reiser que había desaparecido en Septiembre del 2006. Poco después llegó a un acuerdo con la fiscalía para reducir su cargo a homicidio en segundo grado al revelar la posición del cuerpo de la fallecida en una tumba superficial cerca de la casa de sus padres.
La víctima
Parece ser que Reiser conoció a la por aquel entonces Nina Sharanova a través de una agencia de citas rusa mientras se encontraba trabajando en San Petersburgo en 1998. Tuvieron dos hijos y se separaron en el 2004, solicitando ella el divorcio tres meses después. Parece ser que el proceso fue bastante turtuoso y ella consiguió una orden de alejamiento que impedía a Reiser acercarse a menos de 91 metros de Nina en el 2005.
La desaparición y el proceso judicial
El 5 de septiembre del 2006 Nina desapareció en extrañas circunstancias, lo que condujo la policía de Oakland a señalar rápidamente a Reiser que fue acusado de homicidio en primer grado formalmente el 11 de Octubre del mismo año. El proceso duró dos años siendo declarado culpable de asesinato en primer grado por el tribunal de la ciudad de Oakland el 28 de abril del 2008. El 29 de agosto del mismo año, fue finalmente sentenciado a 15 años de prisión y puesta en libertad condicional posterior a su salida (que es la máxima sentencia posible por asesinato en segundo grado en el estado de California), acuerdo al que llegó con la fiscalía a cambio de llevar a la policía hasta el cadáver de su esposa Nina.
Conclusión
Es de destacar que en su alegato final, el abogado defensor de Hans Reiser dijo que su cliente era "un verdadero friki" (a real genuine nerd) pero que no había asesinado a su esposa. Parece ser que el jurado no opinaba lo mismo
Yo aún recuerdo la cara de tonto que se me quedó cuando me enteré del asunto pues es un sistema de ficheros que había usado en alguna ocasión y estaba muy pendiente del desarrollo de su evolución (la cual parecía muy prometedora) Reiser4 que implementaba el sistema de balanceo dancing tree desarrollado por el mismo Hans Reiser. Desarrollar un sistema de archivos no es tarea fácil, y menos, cuando el líder del equipo de desarrollo está a la sombra por asesinar a su esposa.
Más Información | Especial de la CBS sobre el asesinato de Nina Reiser (Inglés), Curriculum de Hans Reiser, donde no se incluye su experiencia como asesino desde el 2006