2003-11-04
ICAZA HABLA SOBRE LINUX
En un
excelente artículo, Miguel de Icaza, uno de los principales adalides del Software libre y linux en general, llega a unas conclusiones que yo ya había aventurado en otros foros, incluida esta bitácora.
Yo nunca llegué a expresarlo con este nivel de concreción pero baste decir que estoy ciento por ciento de acuerdo con él.
Expreso mi confianza en que el Sistema Operativo Linux sea "realmente" una alternativa viable a Windows por el bien de todos, incluidos los fanáticos de Windows; pero entiendo que la fragmentación y la no existencia de un conjunto de especificaciones centrales claras que permitan compatibilidad hacia atrás y entre distribuciones está matando desde la misma raiz los esfuerzos de muchos programadores.
Como dijeron los romanos hace mucho tiempo: "divide y vencerás".
A Microsoft solo le hace falta no cometer errores realmente monstruosos para seguir siendo líder en el escritorio. La decisión de un simple usuario a la hora de cambiar viene a ser un poco difícil. Vale, me cambio a Linux. y el amigo friki le dirá: ¿qué distro?. Ahí comienza el problema.
La imagen de marca que MS posee no es algo que quepa subestimar. Si Linux algún día lograra algo similar tendría la guerra ganada pero el problema es que en la percepción del usuario sigue siendo un galimatías de distribuciones cada una con sus defensores y sus "sectas".
Viene a mi cabeza la idea de una religión cristiana después de la reforma Luterana. Windows vendría a ser el Catolicismo corrupto que se ve asaltado por múltiples sectas protestantes que en su conjunto no lograron el número de fieles que esta tenía antes de la escisión. El Catolicismo lanzó la contrareforma (Marketing) y las cosas han cambiado algo pero lo que se pretendía derribar sigue igual de poderoso que siempre.
Y que me perdonen todos por este paralelismo religioso pero es lo primero que se me viene a la cabeza en este momento.
Dejemos que Icaza hable desde la conferencia de desarrolladores Microsoft (PDC):
A friend of mine at the Microsoft PDC conference who is an Independent Software Vendor (ISV) made a few observations: the continuous breakage of the Linux development platform is hurting them. [...]the staffing requirements for maintaining and testing their software for a dozen of distributions and release versions quickly becomes a big burden.
Primer error. Condenar a los pequeños creadores de software a un infierno de pruebas en diferentes distribuciones.
Sigue Icaza diciendo que él siempre pensó que el peor linux posible para portar aplicaciones es Debian pero entiende que esta Distro es para los zelotes entre los zelotes. Una distro de nulo carácter comercial y que como tal no debería influir en el resultado del tema que nos ocupa.
Comenta que él tuvo los mismos problemas desarrollando Ximian Desktop. Estuvo disponible para Debian pero ya no es así. No pudieron seguir manteniendo la compatibilidad.
Note about Debian: it is clearly the choice for many free software enthusiasts and is very entrenched due to its deep community roots. Tools like apt-get help people try out the latest developments in the open source world with little effort, and their community commitment is fantastic, but is a very hard platform to support for an ISV.At Ximian we had a similar experience: the Ximian Desktop was built, packaged and tested on a number of distributions (Debian was supported once upon a time for example). But as time went by the matrix of distributions that had to be supported kept on increasing, the small differences kept on creeping and we were not able to keep up maintaining and testing packages for all these combinations of Linux, let alone suppor them. And keep in mind that Ximian was a company commited and devoted to support Linux-based applications.
Opina también que pese a los esfuerzos realizados por la comunidad en el sentido de desarrollar aplicaciones para Linux de modo totalmente gratuito es algo que terminará en corto o medio plazo. No será posible mantener software como juegos, herramientas de desarrollo o aplicaciones verticales como software libre. Los costes de desarrollo en este ambiente aumentan exponencialmente y pocas entidades (empresas o personas) serán capaces de hacerlo sin remuneración alguna.
Advierte a la comunidad que para que linux sea una plataforma viable se necesita una API estable y común entre distros que permita a las empresas creadoras de software el desarrollo sin contratiempos inter-distribuciones. Gnome,XFree y RedHat son ejemplos del camino a seguir.
La compatibilidad hacia atrás es otro gran error. No se puede obligar a que un usuario que actualice algún componente central de su S.O. se vea obligado a perder funcionalidad porque los programas que antes funcionaban ahora no lo hacen. El software propietario no va a desaparecer y Linux debe aprender a convivir con él:
part of the problem is that it is not fun to work on backwards compatible ways, nor is it fun to work when innovation is hampered by backwards compatibility. Proprietary software is not going away any time soon, and our community should start thinking about ways of co-existing with it, such that ISVs help our platform by enriching it with a larger software offering.
Y por último explica la razón que le llevó a volcar sus esfuerzos en MONO, que curiosamente son las mismas que me llevaron a mí a elegir ASP como plataforma de desarrollo de aplicaciones, entre otras: plataforma estable centrada en servidor que permite un entorno de usuario común (navegador) independientemente del lenguaje utilizado en la lógica de la aplicación.
We very much hope that Mono will become the standard development platform that developers are looking for: a platform that makes strong API/ABI commitments, supports older versions of the libraries and supports their products moving forward (in fact, .NET does provide this very functionality in the GAC). It is useful that the .NET 1.0 and 1.1 APIs are set in stone now, because we have a concrete goal to aim for, and developers will know that those APIs will be supported.
People sometimes focus on what would happen if Microsoft changes an API in .NET, how would that impact Mono? This is not as much as a problem, given Microsoft's commitment to keep binary compatibility; The major threat to Linux as a development platform is its own development model, mixed with the lack of understanding in many hacker circles that API and ABI binary compatibility are crucial.
De hecho creo que ASP es la plataforma de aplicaciones con más probabilidades de éxito futuro de toda la historia del Software. Tanto en aplicaciones ligeras como pesadas y tanto en MS como en Linux.
Pero eso será motivo de desarrollo en otro post.
Programación | jomaweb | 42 Comentarios | Enlace