29 de mayo de 2010

Opinando sobre Haiku

Pues si, he probado la Alpha 2 de la R1 de Haiku. Y como tengo un blog, cuento mi impresión. Siento decepcionar por adelantado a quien espere una opinión positiva: Francamente, no entiendo que haya quien siga poniendo a este SO como ejemplo de lo que deben ser los SOs en el futuro. Eso, y que me encanta intentar ganar lectores perdiendo a otros.

No me interpreten mal. Entiendo que haya gente que escriba SOs alternativos, entiendo que haya gente que reescriba AmigaOS, BeOS o el propio Windows en código libre. Lo entiendo, lo admiro, y en algunos casos hasta lo apoyo (Wine me parece un proyecto imprescindible). Linux, en su día, fue uno de esos SOs alternativos, y sin la tozudez de sus defensores, si no se hubieran abrazado a sus aspiraciones más que a la triste realidad de lo que tenían entre manos, jamás habría salido de ese estado.

Sin embargo, no entiendo que un SO como Haiku se refugie en una especie de penitencia-imitación hasta el punto de haberse preocupado de implementar compatibilidad a nivel de código fuente y a nivel binario con un SO que nunca tuvo tantas aplicaciones como para hacer esa compatibilidad algo de vida o muerte. La actitud de los desarrolladores de Linux en sus primeros años siempre fue la contraria, más dispuestos a inventar cosas por si mismos que a fotocopiar exactamente las de otros Unix.

Uno se enfrenta por primera vez al escritorio de Haiku, le da al "botón de inicio" y lo primero que le viene a la cabeza es: Windows 98. ¿Qué otra idea va a venir, si la presentación de la lista de programas en forma de menú es idéntica, y la barra de tareas vertical es el mismo concepto que Microsoft ha abandonado en Windows 7? La interfaz es del mismo estilo: color gris uniforme, sin ningún tipo de degradado o animación simple. El diseño de las interfaces de usuario, muy a los 90. En el aspecto estético, es un viaje al pasado. Y que no se diga que la apariencia no es importante: Lo es porque la abundancia de adornos inútiles sin impacto en el rendimiento demuestran superioridad técnica ("yo puedo permitírmelo y tú no"), y lo es especialmente para un SO que pretende ser lo mejor en los escritorios.

Todo esto, repito, es normal y no es algo criticable (Linux tampoco es que sea precisamente perfecto), pero a uno le vienen los beoseros hablando del Sagrado Grial de los escritorios y tal, atacando con cualquier cosa cuando comentas en que a día de hoy el líder del asunto escritoril es OS X, y luego al probarlo
en ningún momento le da a uno la sensación de que esto sea el futuro de los escritorios. De hecho, parece más bien un pasado ya superado, además de compartir los mismos errores de los escritorios actuales. El escritorio de BeOS y sus APIs no fue fundado sobre la aceleración de GPU que CoreAnimation o Clutter tratan de proporcionar, sino sobre el mismo modelo "2D" que ha demostrado ser insuficiente para, por ejemplo, hacer animaciones vitales para las interfaces táctiles. La única novedad gráfica que me ha parecido interesante es el visor de procesos que muestra una lista de procesos y barras que cambian dinámicamente en un menú contextual. Y no es algo precisamente revolucionario ni que no esté al alcance de otros toolkits.

Y quien dice gráficos, dice lo demás. Las novedades revolucionarias de BeOS ya no lo son tanto. ¿Volumen de sonido para cada aplicación? Linux lo tiene con Pulseaudio (tengo un plasmoid en mi escritorio con el que controlo los volúmenes de las diferentes aplicaciones que es francamente cómodo). ¿Queries del sistema de archivos? Akonadi tendrá más potencia que ese sistema. ¿Aprovechar las múltiples CPUs de un sistema multicore? El Gran Central Dispatch de OSX 10.6 logra lo mismo, excepto que es más potente y más simple de implementar en las aplicaciones. ¿Microkernel? Haiku ya no lo es, ha traicionado esos principios por razones de rendimiento.

En mi opinión, lo que debería hacer el proyecto Haiku es olvidarse de emular al viejo y superado BeOS, y construir un verdadero SO de escritorio del futuro. Tienen la posibilidad de ello porque tienen una ventaja que ningún SO tiene hoy en día, que es no partir completamente de cero, y poder permitirse modificaciones radicales al sistema. Cuanto más tarden en ponerse a ello, más difícil tendrán esa tarea.

10 comentarios:

  1. Ya creía yo que era el único loco que pensaba que la dirección actual era totalmente absurda.

    ResponderEliminar
  2. Anónimo11:40 p. m.

    Hombre, tampoco andan tan perdidos. Sólo espero que le den mayor importancia al tema de la compatibilidad POSIX, que les puede abrir las puertas a una gran cantidad de programas.

    ResponderEliminar
  3. Totalmente de acuerdo. Por un lado, es triste que cada dia que pasa la lista de sistemas operativos que estoy dispuesto a usar se va reduciendo (actualmente sólo Mac OS X o Linux). Por otro lado, es hora de abandonar sistemas antiguos como BeOS o OS/2 y empezar a innovar.

    ResponderEliminar
  4. Yo soy un fan de BeOS/Haiku desde hace mucho ya y creo que mi opinión está un poco orientada hacia lo bueno que es el sistema.

    Aún así, creo que todavía no se puede opinar sobre ciertas cosas porque todavía no está terminado el sistema.

    En principio, se intenta seguir la dirección de compatibilidad binaria con BeOS. Bueno, vale, es una decisión. Quizás yo no lo hubiera hecho, simplemente hubiera cogido su filosofía y hubiera implementado un sistema moderno, pero...

    La interfaz tipo "Windows 98"... bueno, es lo de menos. La arquitectura del app_server permite ampliar las interfaces hasta donde se quiera, y creo que es bastante más prioritario implementar un sistema funcional antes que una interfaz "bonita" (que seguro que hay gente a la que le gusta). Una vez que esté la 1.0 es cuando se harán las "gestiones de marketing" necesarias, como el cambio de interfaz.

    El sistema de archivos, BFS, aunque bastante viejo, es bastante potente para mantener metainformación (el uso de atributos extendidos es de lo mejor que tiene BeOS). Yo, por el único que lo sustituiría sería por BtrFS.

    El media_server y la arquitectura multimedia es excelente en BeOS. ¿Que no se puede cambiar el volumen por aplicación? Es porque no hay una aplicación que lo haga, pero la arquitectura lo permite (¿has probado Cortex?).

    Respecto a la multitarea, GCD es un pool de hilos; BeOS tiene multitarea real. Es cuestión del programador saber hacer que funcione bien. ¿Y poco más difícil? Puede ser...

    Y lo del microkernel... bueno, parece que el rendimiento es el santo grial de estos días aunque yo también me orientaría, en futuras versiones ya imcompatibles con el antiguo BeOS a que fuese todo lo "microkernel" que pueda.

    Aunque se que estoy soñando (y mucho), yo apostaría fuerte por Haiku, y me gustaría que alguien importante tuviera la misma visión que yo, porque Haiku es un diseño nuevo, moderno, con gran rendimiento, válido para hardware antiguo,... aunque sí, es de los años 90, pero parece que nadie ha copiado todavía sus cosas buenas (que las tiene, y muchas).

    De verdad, espero que aunque no nos guste mucho la dirección actual, este proyecto siga para delante con buena salud.

    ResponderEliminar
  5. Yo pensaba decir exactamente lo mismo que Diego, como lo hizo primero no me quemda mas que apoyar su comentario. Especialmente el final: parece que nadie ha copiado sus cosas buenas.

    Segun yo la compatibilidad con BeOS esta bien cuando consideramos que la idea surgió poco tiempo después de que desapareciera.
    El avance de Haiku ha sido lento hasta nuestros días, pero la idea original perduro: clon de BeOS con compatibilidad binaria. No es muy alentador pensar ahora (o hace 1 o 2 años) en dejar el avance obtenido y empezar otra vez haciendo un SO moderno sin compatibilidad innecesaria con el pasado.

    Algo importante que no tomas en consideración es que GNU/Linux esta compuesto de miles de programas diferentes donde solo el kernel no es funcional por si solo.
    Xorg, KDE y Gnome son proyectos independientes a Linux y GNU; Compiz o pulseaudio también.
    Si instalas el sistema operativo GNU/Linux sin el aporte de otros programadores no tendrías mas que una consola en modo texto.

    Haiku es similar, con solo el sistema operativo tendrás una interfaz gráfica y unos pocos programas. Con el tiempo tendrá su escritorio 3D y multitactil y su administrador de sonidos potente, tal vez gracias al aporte de otros proyectos.

    Ahora lo que se trabaja es la base, el sistema operativo como tal implementando cosas que actualmente ningún SO tiene y que BeOS tenia hace mas de 10 años.

    Un ejemplo es tu referencia a Akanodi, es parte de KDE no de GNU/Linux mientras que en BeOS y Haiku los Queries esta implementado en el sistema de archivos por lo que esta disponible para cualquier aplicación.
    Si hicieramos una comparacion sobre Linux y Haiku nos remitiriamos exclusivamente a sus apartados tecnicos ya que a nivel de usabilidad todavia estan lejos de parecerse, aunque Haiku promete una mucho mejor experiencia de usuario, en el futuro.

    PS: Tus comentarios y opiniones (aunque a veces como ahora no las comparto) son lo mejor de tu blog. No quiero parecer insultante, pedante o engreido (no creo serlo) pero leí esta frase por hay y me pareció importante: "Nadie está libre de decir estupideces, lo malo es decirlas con énfasis."

    ResponderEliminar
  6. Para mi se esta convirtiendo cada dia en una alternativa, pese a ser un alfa 2 y seguirlo hace mucho tiempo veo adelantos gigantes en solo 3 o 5 meses hace un año en fin, no es un sistema operativo que lleve tanto, es super estable como alfa2, es plenamente grafico, si hay bastantes aplicaciones para beos mas que hacerlas desde cero todas eso si seria muy loco, tiene internet inhalambrico, sirve para revivir compus viejos... las pijadas graficas vendran lentamente porque cada dia se preocupan muchisimo por la estabilidad... linux no tiene la cohesion que tendra haiku R1... y las innovaciones que aun no ves por que estas en una version de pruebas, hay varias implementaciones que aun no son oficiales pero una vez sean estables veras que no es windows 98... y de verdad es innovador, ejemplo de Os siempre ha sido beos y haiku solo ha tomado ese ejemplo... ya veras de hecho un año doy para un sistema operativo que emergera muy sorpresivamente por esa misma facilidad de uso windows maquera con la flexibilidad y seguridad de un linux... open source.
    Si, linux es bueno pero para mi nunca ha terminado de calar y aun a veces me ha sacado de esa cosa asquerosa llamada X window.
    friki es bueno pero en este siglo no es para tanto.

    ResponderEliminar
  7. Se me olvidaba, el haiku R2 no sera necesariamente retrocompatible con beos, de hecho haiku gcc4 no es compatible con binarios beos todo lo debes compilar.
    no notaste que si hay drivers nuevos no tienes que reinicializar X y que incluso con solo ponerlos en la carpeta ya empezaran a funcionar dependiendo del hardware.
    Por ahora solo se quiere captar personas que sean capaces de ver en el lo innovador ya veras el R1 seguro ya pensaras en el mac opensource.

    ResponderEliminar
  8. Yo tampoco comparto excesivamente tu visión del tema. Ha habido inicialmente una compatiblidad con Beos y actualmente se molestan en intentar seguirla teniendo por 2 motivos. 1º por que el 99% del software que hay para Haiku era de Beos, así que si un usuario se lo instala y esa compatibilidad de no existe apenas tendrá software para usar. 2º Beos se implemento usando GCC2 que es lo que había por la época, incluso creo recordar que Haiku se empezó a construir compilándolo con tan vieja versión. Pero actualmente y como ya ha comentado "Gato Neurótico" hay versiones gcc2, híbridas y gcc4 ( seguramente al final del camino quede la gcc4, por velocidad, estabilidad y modernidad ); tampoco estás teniendo en cuenta de que tanto Deskbar como Tracker no han sido escritos desde 0, sinó que se ha aprovechado su licencia abierta para ahorrar trabajo, salvo que ambos probablemente estarían creados para GCC2. No veo que haya un "lastre" para crear compatibilidad sinó más bien sentido común por lo anteriormente expuesto.

    Después estás criticando su apariencia. Muchísima gente hoy en día sigue usando windows XP y para mi su apariencia no dista mucho del Windows 95. Con esto quiero decir que para mi la apariencia no es lo primero; ahora mismo están trabajando muy duro solucionando bugs e intentando mejorar el sistema, que se haga más bonito es cuestión de tiempo y de trabajo de terceros que aporten ideas y aportaciones. De hecho hay ideas y mock-ups en varios sitios en los propios foros interesantes. Comentas lo bonito que es el OSX en el escritorio, pero dudo mucho de que el OSX pueda moverse en una máquina con 256 de ram y un obsoleto pentium 3. Qúe hacemos con esos ordenadores que tienen varios años y ya no pueden mover ningún Windows ni software medianamente moderno?

    Tampoco se puede comparar Akonadi con BFS. Akondi es una base de datos con todos sus ventajas e inconvenientes. BFS lo implementa todo en el propio BFS haciendo las cosas más robustas, posiblemente más rápidas y sencillas. De todas formas, el sistema de ficheros que usa Haiku, no es el mismo que usaba Be.OS. Se han hecho muchas mejoras al mismo, se ha puesto al día y su rendimiento ha aumentado.

    En el fondo de todo me gusta que se comparen sistemas como Linux y Windows que llevan tantísimos años en el mercado con un sistema que esta en estado Alpha2 y ya está dando que hablar.

    Un saludo y arriba Haiku! :)

    ResponderEliminar
  9. Yo tampoco comparto excesivamente tu visión del tema. Ha habido inicialmente una compatiblidad con Beos y actualmente se molestan en intentar seguirla teniendo por 2 motivos. 1º por que el 99% del software que hay para Haiku era de Beos, así que si un usuario se lo instala y esa compatibilidad de no existe apenas tendrá software para usar. 2º Beos se implemento usando GCC2 que es lo que había por la época, incluso creo recordar que Haiku se empezó a construir compilándolo con tan vieja versión. Pero actualmente y como ya ha comentado "Gato Neurótico" hay versiones gcc2, híbridas y gcc4 ( seguramente al final del camino quede la gcc4, por velocidad, estabilidad y modernidad ); tampoco estás teniendo en cuenta de que tanto Deskbar como Tracker no han sido escritos desde 0, sinó que se ha aprovechado su licencia abierta para ahorrar trabajo, salvo que ambos probablemente estarían creados para GCC2. No veo que haya un "lastre" para crear compatibilidad sinó más bien sentido común por lo anteriormente expuesto.

    Después estás criticando su apariencia. Muchísima gente hoy en día sigue usando windows XP y para mi su apariencia no dista mucho del Windows 95. Con esto quiero decir que para mi la apariencia no es lo primero; ahora mismo están trabajando muy duro solucionando bugs e intentando mejorar el sistema, que se haga más bonito es cuestión de tiempo y de trabajo de terceros que aporten ideas y aportaciones. De hecho hay ideas y mock-ups en varios sitios en los propios foros interesantes. Comentas lo bonito que es el OSX en el escritorio, pero dudo mucho de que el OSX pueda moverse en una máquina con 256 de ram y un obsoleto pentium 3. Qúe hacemos con esos ordenadores que tienen varios años y ya no pueden mover ningún Windows ni software medianamente moderno?

    Tampoco se puede comparar Akonadi con BFS. Akondi es una base de datos con todos sus ventajas e inconvenientes. BFS lo implementa todo en el propio BFS haciendo las cosas más robustas, posiblemente más rápidas y sencillas. De todas formas, el sistema de ficheros que usa Haiku, no es el mismo que usaba Be.OS. Se han hecho muchas mejoras al mismo, se ha puesto al día y su rendimiento ha aumentado.

    En el fondo de todo me gusta que se comparen sistemas como Linux y Windows que llevan tantísimos años en el mercado con un sistema que esta en estado Alpha2 y ya está dando que hablar.

    Un saludo y arriba Haiku! :)

    ResponderEliminar
  10. Anónimo10:04 p. m.

    hola veo que son expertos en el tema. Yo me instale el alpha 3, en un pentium4. A pesar de que trae manual para usuario, no puedo instalar las aplicaiones que descargo de bebits.Me lo podrian explicar?p.d:Va como piña en el pentium 4 2,26ghz

    ResponderEliminar