El estado de Mono

Ya hará casi un mes que se celebró MonoSummit2007. Casi 30 días en los que a pesar del anuncio de MonoDevelop 1.0 para enero poco buzz se ha movido por la red al respecto.
Schley Andrew Kutz publicaba el pasado 6 de diciembre en SearchEnterpriseLinux.com un crítico artículo sobre Mono titulado Does anybody want it?.
La verdad es que yo mismo opino que lo mejor de Mono no son sus relaciones públicas. O acaso es que captar la atención de la gente por largo tiempo es extremadamente difícil (¿cuanta gente está al tanto de lo que se cuece en JCP?)
Akutz dice que la raiz de los problemas obedece a dos causas: 1ª) que la gente percibe Mono simplemente como un clon (inferior) de .NET, y 2ª) que piensan que no está suficientemente maduro.
Es realmente sorprendente hasta qué punto se mueve la opinión pública por ideas preconcebidas y a favor del viento de la última novedad, en detrimento de tecnologías muy superiores al último grito pero que han dejado de ser noticia a base de instalarse en la aburrida monotonía del buen funcionamiento.
Los partidarios del Software Libre gustan de aquella frase de Gandhi empleada como reclamo por RedHat: «First they ignore you, then they ridicule you, then they fight you, then you win» Aunque lo cierto es que hay cosas como Ruby on Rails que pasan directamente del estado «ignore you» a «you win» sin transiciones intermedias, mientras que otras mucho más meritorias se quedan por el camino al éxito.
Mi opinión es que el posicionamiento de Mono debería cambiar en tres aspectos:
1º) Ofreciendo a los desarrolladores algo excitante que aprender. ¿Porqué aprenden RoR o Python en vez de C#? ¿Porque sean netamente superiores? Yo no creo que sea por eso, a fin de cuentas cuando lo empiezan a aprender no saben para qué les servirá. Simplemente suena más divertido aprender RoR o Python o algo más exótico incluso que aprender C#. Este «efecto novedad» es algo curioso. Yo creo que JBoss lo empleó magistralmente incorporando cualquier experimento con la gaseosa en su producto, tipo Aspect Programming, Drools, etc. Hay gente a la que le gusta instalarse cosas nuevas y probarlas. Por ejemplo, es por eso que proliferan tanto las librerías de tags para Java: porque suena más inteligente tirar de una librería de tags que programar algo a pelo, aunque el resultado final suele ser un código oculto bajo capas y capas de abstracción con el cual te vuelves majareta si tienes que hacer ingenieria inversa para averiguar cómo funciona.
2º) Vendiendo una percepción de estabilidad.
¿MonoDevelop 1.0? Poor favoor… Nómbrenlo lo menos 3.0. La gente no tiene en el fondo criterio objetivo para evaluar la madurez de un producto. De modo que las etiquetas (como los números de versión) importan Cuando el producto es demasiado joven se le ponen etiquetas 3.0, 4.0, 5.0 y cuando es demasiado viejo se oculta el número de versión y en vez de llamarlo versión 17.0 se le llama versión Gold 2008.
3º) Dando mejor publicidad a sus innovaciones.
No es suficiente con ser «El .NET multiplataforma». Existe un inmenso campo de mejora en el ámbito de los lenguajes (el propio Miguel cita algunas como LINQ) Para mantener el hype un producto necesita incorporar constantemente cosas que parezcan «rabiosamente innovadoras». Hasta Java lo ha tenido que hacer. Las últimas cosas que añadieron a Java SE 6 deberían haber estado en el lenguaje desde el principio, ahora ya es tarde para incorporarlas, y se adoptarán mucho más lentamente, y serán mucho menos útiles de lo que podrían haber sido. No obstante, Java necesitaba incorporarlas para mantener el ritmo y demostrar que el lenguaje sigue muy vivo, antes de que le empiece a pasar lo mismo que a C++ y a CORBA que empezaron a morir del aburrimiento que le provocaba a los programadores siempre más de lo mismo.
Y todo esto es una pena, porque realmente necesitamos un framework abierta para desarrollar aplicaciones con interfaz gráfico multiplataforma y Mono es perfecto para ello. Java ya ha demostrado que no sirve eficazmente para tal propósito (al menos con las herramientas actuales). Ahora se desarrolla casi todo 100% web porque es lo único que la gente conoce y confía que sea multiplataforma. Incluso están empezando a usar herramientas como Adobe Flex para huir del calvario que es [aún con AJAX] diseñar los clásicos formularios de las aplicaciones de gestión en HTML.

Compartir:
  • Twitter
  • Meneame
  • Facebook
  • Google Bookmarks
Esta entrada fue publicada en Tecnologías Libres. Guarda el enlace permanente.