17 de julio de 2008

Gnome 3.0...¿malo?

A estas alturas ya habrán oido ustedes hablar de Gnome 3.0/GTK 3.0. Consiste básicamente en romper la compatibilidad y crear un escritorio Gnome mejorado, y una plataforma GTK idem. El caso es que Miguel de Icaza ha expresado su opinión al respecto y piensa que los planes de GTK 3.0 son malos. ¿Por qué? Esencialmente, porque parece pensar que romper gratuitamente la compatibilidad para dar hipotéticamente paso a una aparición de supuestas características nuevas y revolucionarias no tiene porque tener éxito, y sobre todo: Fastidia a los ISVs. Es decir, fastidia a las empresas que utilizan GTK como interfaz para sus propios productos.

Y en parte tiene razón. Es decir, no hay más que leer el famoso documento de Joel Spolsky "How Microsoft lost the API War" para darse cuenta de que romper la compatibilidad por el simple placer de hacerlo no va a traer nada bueno a la relación de Gnome con sus ISVs, aunque GTK 3.0 sea el toolkit más avanzado del planeta. Y sin embargo, el razonamiento de Miguel me parece erróneo. Si, la compatibilidad es importante. En parte es lo que convirtió a Microsoft en monopolio, y eso ya dice mucho de por si. Tener compatibilidad es la hostia. Pero...

Díganme: ¿Con quien tiene que mantener la compatibilidad Linux? Oh, si, hay compañías que usan Linux. Es decir: ¿Qué empresa puede resistirse a una cuota de público del 1%?

Por si no lo captan, se trata de ironía. Seamos sinceros, los ISVs que utilizan GTK son más bien....pocos. Y no parece que haber conservado la compatibilidad en GTK 2.x todo este tiempo haya ayudado gran cosa a que ese número aumente de forma significativa. Es bastante evidente que la razón primordial que aleja a los ISVs de Linux es la falta de usuarios. Y la falta de usuarios es primordialmente una consecuencia de no ser una alternativa muy atractiva a Windows.

Empezemos por el principio: Solvéntense en GTK y Gnome todos los problemas que impiden que el escritorio Linux sea el primero del mundo. El primero por delante de los demás (¿por qué aspirar a menos?). O como mínimo, tan bueno como el mejor (creo que todos estaremos de acuerdo con que los escritorios Linux actuales no llegan ni a eso). Entonces, pero solo entonces, el respeto por la compatibilidad será importante. No ahora. La compatibilidad es buena cuando se trata de conservar lo bueno. Conservar lo malo no va a servir a Linux de nada. Me dirán que Windows 9x era una caca y que su éxito se debió en parte a la compatibilidad: falso, aunque la implementación de windows 95 dejara que desear, la funcionalidad que ofrecía de cara al usuario era revolucionaria. La novedad de la GUI era igual de rompedora aunque se colgara cada cinco minutos.

Además, no se pueden aplicar los mismos principios a todos los casos. Miren a Microsoft: Necesita conservar la compatibilidad para no espantar a la gente a las plataformas alternativas emergentes, pero al mismo tiempo necesita innovar -lo que implica romper la compatibilidad en mayor o menor grado, miren lo de Vista- para no quedarse atrás de esas plataformas. Linux sin embargo está en la privilegiadísima posición de poder romper la compatibilidad en el escritorio a todos los niveles que se le antoje, porque solo le importará a los cuatro frikis que lo usamos. Eso da libertad de creación total a los programadores. Es más, miren OS X, considerado generalmente como el mejor escritorio tecnológicamente hablando: ¿Podría haber surgido OS X como evolución de OS 9? ¿O si hubiera tenido como requisito inicial no romper la compatibilidad? Dificil hubiera sido, lo que está claro es que no surgió de ahí: Al irse de Apple y fundar Next, Steve Jobs tuvo la oportunidad de crear un sistema operativo de escritorio de cero, sin importarle un carajo la compatibilidad con nada. La compatibilidad con OS 9 solo se añadió posteriormente y mediante emulación, y la API Carbon se implementó encima de la base que ya había sido creada. Paradójicamente el abandono temporal de Jobs puede considerarse como una clave del éxito actual de Apple (¿qué seria de Apple, del iPhone, sin OS X?

En resumen, no creo que la obsesión por satisfacer a los ISVs de Miguel de Icaza - quien curiosamente en su día fomentaba el cambio radical de usar Mono- sirva a Linux de mucho. Puede servir -y sirve- en el software para servidores, donde existe una amplia base de usuarios, pero no en escritorio. Por supuesto, esta es mi opinión, ustedes son libres de no estar de acuerdo conmigo y por tanto de equivocarse.

5 comentarios:

  1. Anónimo8:42 p. m.

    GTK 2.0 también tenía incompatibilidades con GTK-1.0: los programas realizados para la versión antigua no funcionaban en la nueva. pero nada te impedía tener instaladas (al menos en Gentoo, que es el que yo uso) las dos versiones de forma simultánea.

    ResponderEliminar
  2. Anónimo2:18 a. m.

    la verdad no podes comparar los cambios de mac os x o vista con gnome. Gnome es solo superficial.

    ResponderEliminar
  3. Que cambien lo que quieran, no hay problema, se adapta el código fuente de todos los programas al nuevo y listo.
    Mientras los chicos de Ubuntu no nos metan un escritorio lleno de fallos...

    ResponderEliminar
  4. no tan superficial. Por ejemplo, acaban de migrar todo el sistema virtual de acceso a archivos. Nunca se ha notado, pero han sido cambios bastante grandes (el que no se haya notado la migración en las diferentes versiones más allá de poder tener nuevas capacidades en los programas de escritorio debería ser un punto positivo para la gente de gnome). Si lo que te refieres es al "eye looking", pues decirte que se está trabajando mucho en metacity, y desde hace tiempo se pueden añadir efectos bonitos de esos que tanto le gustan a la gente, pero que no estarán activados por defecto hasta próximas versiones. Además, ya está compiz fusion por ahí para hacer esas cosas, que gnome ha sido siempre un entorno de escritorio eminentemente práctico, sin florituras.

    ResponderEliminar
  5. En lo particular las cosas que yo cambiaria de gnome o modificaria son el aspecto de los paneles, los cajones y los selectores de ventanas seria bueno fusionarlos a todos.

    Con respecto al diseño grafico me gustaria que los cajones pudieran integrarse al escritorio de tal forma que si diera dos clic me apareciera un frame al estilo kde pero que contenga los iconos, en fin hay muchas cosas que se pudieran mejorar dentro de gnome sin cambiar la compatibilidad.

    ResponderEliminar