Un acalorado debate se está llevando a cabo en Internet después de que Mark Shuttleworth anunciara que Unity sería incluido como shell de GNOME en la próxima versión de Ubuntu (11.04) el próximo año.
El shell de un entorno de escritorio como GNOME es el encargado de cargar y/o desplegar los componentes básicos que acostumbramos a ver como paneles, lanzadores, applets del panel (reloj, control de volumen), etc. En el caso de GNOME se está preparando un nuevo shell para la versión 3 llamado simplemente GNOME Shell; en él se ha puesto un énfasis en el uso de múltiples escritorios y la orientación a las tareas: en vez de preocuparte de qué archivo o aplicación necesitas, te enfocas en qué es lo que quieres hacer.
En forma paralela, Canonical – la empresa que está tras Ubuntu – comenzó el desarrollo de un shell especialmente diseñado para netbooks y tablets, privilegiando el ahorro de espacio en combinación con el uso de botones suficientemente grandes para ser usados en interfaces táctiles. Hasta ahí todo bien.
Si bien hay buenas ideas en Unity, no todas ellas tendrían sentido en un sistema de escritorio para PC, por eso que tomó de sorpresa el anuncio de Mark de no subirse al carro de GNOME Shell y ampliar el uso de Unity a los sistemas de escritorio tradicionales. Las antorchas no tardaron en aparecer, sobre todo en aquellos que tienen su fe puesta en GNOME Shell y también aquellos que no han tenido una buena experiencia con Unity ya sea por estabilidad, o porque sencillamente no tienen el hardware adecuado para que la experiencia sea como la visualizan sus creadores.
Los hechos
Independiente de las opiniones a favor y en contra, el desafío que enfrenta Canonical es grande, sobre todo si estamos hablando de un plazo de 6 meses para llevar a Unity del estado actual a algo que pueda ser la interfaz por omisión. Uno de los primeros pasos en esta dirección ha sido el abandonar el gestor de composición Mutter en favor del tradicional Compiz. Según los desarrolladores, Mutter aún tenía falencias que tomaría mucho tiempo en corregir, y dar soporte a hardware antiguo o con problemas de drivers era una traba adicional. Compiz está bastante maduro y por parte de sus desarrolladores la noticia ha sido bien recibida, considerando que esto puede significar inyectar más energía y probablemente más desarrolladores al proyecto.
Por otra parte, GNOME Shell tampoco es la panacea y si bien se busca que sea el shell estándar de GNOME, no hay un consenso al interior del proyecto sobre darle o no el lugar de privilegio en este escritorio. Para muchos, es incluso una opción mantener el shell actual que todos conocemos y calmar la ansiedad por dar el salto a una nueva tecnología.
Maligno… ¿o no?
No son pocos los que consideran que la actitud que está tomando Canonical respecto al lineamiento de Ubuntu está tomando un tono obscuro. Se cree que la compañía estaría anteponiendo la diferenciación de marca por sobre el desarrollo de un escritorio libre en conjunto con la comunidad, y esta opinión se ve reforzada por la condición que pone Canonical sobre los aportes de terceros para que éstos cedan los derechos de sus contribuciones a la empresa. Los amantes de las teorías de conspiración creen que en cualquier momento Ubuntu podría seguir su propio camino, llevándose todo el código consigo.
Para los que somos más viejos en el desarrollo de software abierto, lo que está haciendo Canonical no es nuevo, y hasta el momento este tipo de actitud ha ayudado a destrabar el desarrollo, explorando terrenos que habían sido despreciados por los más conservadores. Por ejemplo Nokia fue el primero que tomó GNOME y lo convirtió en una plataforma móvil con su proyecto Maemo. Primero trabajaron en secreto y mostraron el resultado ya funcionando a la comunidad, incluso planteado como un producto. En esa oportunidad contrataron a un grupo importante de hackers de GNOME para llevar adelante el proyecto en forma totalmente secreta.
Otro caso similar es el de XGL y Compiz, proyectos que gatillaron la revolución del sistema gráfico en Linux para aprovechar la aceleración gráfica 3D en las aplicaciones de escritorio. Estos proyectos se iniciaron en Novell y se desmarcaron completamente de lo que la comunidad pensaba como el mejor camino, que era mejorar X.org y no partir de cero. Aunque el tiempo le dio la razón a estos últimos, fue Compiz el que agresivamente demostró lo que era posible hacer con el escritorio 3D si se dejaba volar la imaginación.
Transparencia versus Democracia
Algo que a vece se pierde de vista en el desarrollo abierto es que éste es transparente, pero no necesariamente democrático. Esto significa que podemos ver cómo se toman las decisiones, podemos participar de la discusión, pero nadie obliga a los que llevan adelante el proyecto a tomar en cuenta la opinión de los demás. Al final del día, hablar es gratis, codificar no lo es.
Un problema con abrir un proyecto a discusión en una etapa temprana del desarrollo es que no todos comparten o logran captar la visión de sus creadores. La experiencia demuestra que el “diseño por comité” no funciona o al menos los casos exitosos son justamente aquellos en donde un grupo pequeño de personas se encerró a materializar su visión, para luego mostrarlo al resto de la comunidad cuando el estado del proyecto reflejara claramente esa visión. Así lo hizo Linus Torvalds cuando comenzó con Linux, David Reveman con XGL y Compiz, o Keith Packard y Jim Gettys con X.org
La experiencia en el mismo proyecto GNOME indica que sus cosas buenas nacieron del esfuerzo de un pequeño grupo de gente que trabajó en forma desconectada de la comunidad para crear la fundación de sus ideas, mientras que las cosas malas vienen de un trabajo de un montón de gente que no compartía una visión única sobre cuál tenía que ser el resultado de su esfuerzo.
Además de que es muy difícil compartir una visión en etapas tempranas, está el problema adicional de que todos tienen una opinión al respecto y esta fricción entre los que opinan y los que quieren trabajar hace que el avance se estanque, algo que se conoce comúnmente como Stop Energy.
Canonical ahora ya puso la apuesta sobre la mesa, y tiene seis meses para hacerla valer. Independiente del resultado, Ubuntu seguirá siendo una distribución basada en GNOME y los usuarios podrán instalar por su cuenta GNOME shell, o lo que sea la definición del escritorio en ese entonces. Lo que ganará la comunidad en general será una mejora en el uso de las capacidades del hardware de video sobre Linux, algo necesario para que Unity tenga éxito; y es muy probable que características como el uso de un menú global se convierta en una opción adoptada por todos los proyectos importantes.
Link: Unity shell will be default desktop in ubuntu 11.04 (Ars Technica)