Mi post va sobre una duda que tengo. Últimamente hay bastante revuelo sobre Mono. O se está a favor o en contra, hay flamewars, … ¿Mi opinión personal? Que no me gusta. ¿Por qué? Muy fácil: no me fío (abajo podéis leer el tema legal). Esto no significa que yo sea la verdad absoluta y que soy la luz y el camino a seguir. Es una opinión. A parte de que no me fío, hay otra razón: uso KDE. En KDE no parece haber interés en adoptar Mono o .NET y nos va muy bien ;)
Hay un post a favor que dice que Mono es muy interesante para el desarrollador, concretamente, dice:
[…]If you’re asking a user, then the answer is «it’s not», any more than a Scheme compiler or LOLCODE interpreter.
If you’re asking a developer, then the answer is VERY different. Mono provides a well-balanced framework to enable Free Software to be developed quickly, effectively, and efficiently.. By «balanced», I mean it is unlikely to win every single contest that one can throw at a programming language – memory footprint, execution speed, availability of libraries, and so on – but does fairly well in ALL of them. Speedwise, Mono is much faster than Python – up to several hundred times faster according to some benchmarks. It has a fraction of the memory footprint of Java applications. It has modern features such as garbage collection which make it easy peasy to write code with compared to malloc()-happy C or C++. It is a well-balanced framework. As such, for people looking to write apps for a Free Software environment, it offers a compelling choice of framework on which to build. Several apps which have only existed for a short time – such as GNOME Do – make full use of functionality provided by Mono in order to be written very quickly and easily, compared to chasing SIGSEGV around due to human errors inevitable with C-based development. Mono was first conceived as a way to escape from the absolute horror of maintaining a large GUI C codebase (Evolution).[…]
Yo entiendo que opine que lo que había hasta ahora no era lo suficientemente bueno, es decir, que como lo que hay no es bueno, hay que inventar algo nuevo en vez de mejorar lo que ya hay. Estoy de acuerdo que debe haber variedad y dónde elegir, pero también estoy de acuerdo en que hay que mejorar las cosas o, por lo menos intentar mejorarlas. Lo que no podemos hacer es escusarnos con que como esto no es bueno empiezo otra cosa. Es decir, ¿por qué no mejorar Python? Es un ejemplo, podría haber puesto C, C++, Pascal, ensamblador, LISP, Prolog, Bash Scripting o cualquier otro lenguaje de programación.
En otro párrafo dice:
Mono is covered by the OIN, as with most other major Free apps. Patent attacks against Mono carry the same risk to attackers as attacks against any other OIN entrant. Attacks against Mono would risk patent «world war», which Microsoft cannot win. Such an action would harm their business – and lose them money.
Sí, de acuerdo, Microsoft no empezará una guerra de patentes porque otros pueden sacar sus armas y no quedaría nadie vivo. Pero eso no te asegura que Microsoft no pueda actuar contra empresas pequeñas, desarrolladores independientes, … No garantiza la seguridad, igual que el que todas las grandes potencias tengan misiles nucleares no garantiza la seguridad a un país determinado. De todas maneras, este razonamiento es algo con lo que hay que tener cuidado, en otro post leo que le han preguntado al propio Miguel de Icaza a cerca de licencias. Parece ser que el Sr. de Icaza no lo tiene muy claro:
It looks like the man who created Mono himself is not sure how one obtains this «royalty-free, reasonable and non-discriminatory» licence» to avoid violating Microsoft patents in the .NET specification. Strange, one doesn’t hear this point being highlighted too often.
Continua diciendo que preguntaó a ECMA y recibió esta respuesta:
Ecma does not have anything to do with possible licensing of .NET. But Microsoft is one of our members, so I have asked them whom to contact there – if anything is needed, what I just do not know.
Y te remiten a Microsoft, el cual no ha respondido aún a las preguntas del autor del post. Vaya, parece que nadie se atreve a mojarse. Hmmmmm, … no sé yo si fiarme mucho de esta licencia y «protección ante ataques de patentes». Esto me lleva a Moonlight, parece que sólo están protegidos los clientes de Novell.
Luego leemos esto otro post en el que parece ser que Mono se va a instalar por defecto en la siguiente versión de Debian. La idea no parece haber gustado a los lectores habituales de ese blog. La razón parece ser que se instala Tomboy por defecto, esto arrastra unos 40 MB de dependencias. Lo curioso es que podrían haber incluido por defecto Gnote en vez de Tomboy y se habrían ahorrado esos 40 MB de dependencias de Mono. Muchos pensaréis:
«¡Venga hombre! No me llores por 40 MB cuando los discos hoy en día son de 1 TB.»
100% de acuerdo, 40 MB en un disco de 1 TB es menos que insignificante, pero si nos ponemos en el punto de vista de gestión de paquetes (esto incluye parches, actualizaciones, …), esto significa más tareas de mantenimiento innecesario. Digo innecesario porque Tomboy y Gnote visualmente son idénticos y, por lo que he podido leer, hacen exactamente lo mismo excepto por unas pocas cosas (cosas que aparecerán en breve en Gnote). Si dos aplicaciones hacen prácticamente lo mismo, pero una acarrea una carga a dicional de 40 MBs … eso significa que una acarrea más trabajo en cuanto a gestión. Más cosas a tener en cuenta, ¿consumo de recursos (librerías que se cargan en memoria, por ejemplo)? Ya la cosa cambia, esos 40 MB ya no son tan insignificantes.
¿Cuál es cuál?
En todo caso, me hace gracia que haya una «guerra» entre los seguidores de Tomboy y los de Gnote porque después de todo, ¿no es esto software libre? ¿No somos libres de elegir la aplicación que más nos convence? Entonces, ¿por qué tanto escándalo? El que quiera Gnote, que lo use y el que quiera Tomboy, que lo use. Curiosamente, a la gente de Tomboy, parece que no le ha gustado nada que exista Gnote. Digo curiosamente porque en el mundo del software libre se supone que el que haya un fork o proyecto similar no debería ser malo ya que da al usuario más variedad donde elegir. Lo que dicen es:
«A Note about Gnote
Some people have started asking about Gnote, Hubert Figuiere’s line-for-line port of Tomboy to C++. Our stance on Gnote is that it is counterproductive to maintain identical software in two languages. It will be harmful to the community, especially as these two apps inevitably diverge. It will result in duplication of effort, duplication of bugs, and a lot of wasted time for those who are trying to add value to the user experience.
Tomboy is not going away, and it will continue to be developed on the extremely productive Mono/GTK# language platform. Anyone thinking about distributing Gnote should consider the impact on users and their data. When we develop, we should always be asking ourselves, «is this adding value for our users?[…]»
Por esta misma razón, entonces, no debería haber aprecido Galeon porque estaba Firefox ya, por poner un ejemplo.
Si alguien quiere leer más sobre Tomboy vs Gnote, aquí tiene un artículo interesante, así como la web de ambos proyectos. Otro post interesante es este.
Dejando las guerras Tomboy-Gnote (que eran un simple ejemplo relacionado con Mono), leemos este otro post cuyo autor es menos radical:
I’m a Mono user myself. Either for birth (Ubuntu includes Mono applications by default) and choice (I’m currently a Gnome Do Docky user and I’ve used Tomboy extensively in the past). I’m also the starter of the Rapache project, a Python application which actually includes (or used to, I don’t remember right now) a plugin to make it easier to configure Mono under Apache.
Still Novell secret and exclusionary exclusive deal with Microsoft gives me shivers, as does its GPL2 license which explicitly forbids it to be redistributed as GPL3 and the Microsoft promise not to sue over Mono, which covers Novell customers (?) directly.
That said, I can fully understand who doesn’t want Mono installed by default, and those who remove it altogether and look good replacements. What I don’t understand is all that fuss.
Dice que entiende a los que no quieren que Mono se instale por defecto a pesar de ser él un usuario de Mono, pero que no entiende por qué tanto escándalo por parte de los detractores. Aquí se le ha olvidado mencionar también el escándalo que montan los que están a favor.
Debian no es la única distro que incluye/va a incluir Mono por defecto, tenemos a openSUSE y a Ubuntu. Como siempre, hay gente a favor y gente en contra. Cuando yo era usuario de openSUSE, lo primero que hacía era personalizarme la instalación y eliminar todo rastro de Mono y C# que hubiera. Como he dicho al principio, soy usuario de KDE por lo que no me veía afectado ya que las aplicaciones que uso no son dependientes de Mono. Otros se podrán ver afectados debido a que usan aplicaciones basadas en Mono, como F-Spot. Hay algunas distribuciones que no se encuentran muy contentas con Mono y lo han eliminado de la instalación por defecto.
Ya para acabar, no sólo hay la «Guerra Tomboy-vs-Gnote», también encontramos una de Banshee-vs-Rythmbox. En fin, que en KDE parece que no tenemos tantos problemas (haberlos haylos), pero parece que estamos más de acuerdo ;)
Con este post, lo que me interesa saber es si los lectores usan Mono, su opinión, si están a favor, en contra, … NO, no estoy haciendo ningún estudio, ni voy a sacar datos estadísticos para demostrar nada. Es mera curiosidad.