Moonlight Desklets: Silverlight en el escritorio Linux
Esta semana Miguel de Icaza publicaba en su blog la nueva vuelta de tuerca que le han dado la gente del proyecto MoonLight a la posibilidad de ejecutar aplicaciones Silverlight en Linux. No contentos con correr aplicaciones escritas con XAML y .NET dentro de un navegador, han creado el concepto Moonlight Desklets, que nos permitirá lanzar nuestros desarrollos Silverlight como aplicaciones nativas Linux.

Difícilmente llegaremos a tener la posibilidad de ejecutar una aplicación completa desarrollada con Windows Presentation Foundation en Linux, pero estas aplicaciones Silverlight de escritorio son sin duda una gran primera aproximación.
Leer másRespaldo de Microsoft al proyecto Moonlight
Hoy Miguel de Icaza ha anunciado en su blog el inicio de colaboración entre Novell y Microsoft para impulsar el proyecto Moonlight, la implementación libre de Silverlight para Linux.
La verdad es que se trataba de la gran piedra en el zapato de la nueva estrategia RIA de Microsoft, y la pregunta incomoda que todos los ponentes que trataban el tema de Silverlight debían torear, ya que la gente no comprendía cómo poder hacer frente a competidores tan fuertemente asentados como el Flash de Adobe, sin tener presencia en las distribuciones del pingí¼ino.
Con éste anuncio Microsoft despeja muchas dudas, y poco antes de su lanzamiento oficial, Silverlight coge más fuerza que nunca. ¿Estaremos cerca de un soporte por parte de Microsoft al proyecto Mono en su conjunto? Soñar es gratis…
Leer másCHARLA ICAZA: MONO en el mundo real
Sigo con aspectos que me interesaron de la última charla de Miguel de Icaza en Barcelona:
Miguel estuvo charlando largo y tendido sobre las aplicaciones que en la actualidad estaban usando MONO para sus desarrollos. De hecho, para Icaza, estamos en un punto en el que lo interesante ya no es MONO en sí, sino los proyectos que están en su órbita.
Personalmente me sorprendió, y Miguel también admitió su sorpresa, es que uno de los principales mercados en estos momentos radica en el mundo de los videojuegos. Nos mostró un potente entorno 3D para el desarrollo de videojuegos llamado Unity, que a parte de tener muy buena pinta, nos brindó la oportunidad de ver que tal anda Miguel de puntería…
Aunque, ya para asombro brutal,  fue el anuncio de la migración de todos los scripts de Second Life, a los que “algunos†les sonará… a MONO. ¿El por qué? Mitad de recursos de memoria, 150% más de rendimiento. Impresionante! Me dejó perplejo ver que MONO ha calado hasta la médula en un proyecto de tal envergadura; que estamos hablando de una granja de aproximadamente 6000 servidores!
Por lo demás, estuvo enseñando varias aplicaciones como iFolder o F-Spot. La primera vendría a ser el Groove libre, trabaja dónde quieras con tus archivos siempre en línea, y la segunda es un gestor de bibliotecas de imágenes de lo más potente. Vale la pena que les deis un vistazo.
La filosofía que quiere emplear Miguel de Icaza en el desarrollo por parte de Novell de aplicaciones con MONO, es la de crear proyectos de un máximo de dos meses, con un programador / crack a su cargo. Productividad al máximo, resultados atractivos.
Si quereis tener una visión más completa de la “oferta†MONO visitar:
http://www.mono-project.com/Companies_Using_Mono#Who_uses_Mono.3F
El otro ámbito estrella es Gnome, ya que en la actualidad todos los desarrollos se para éste entorno de escritorio se están realizando en MONO, inclusive el espectacular XGL.
Y yo que creía que suficiente tenían con poder compilar…
CHARLA ICAZA: Las Patentes de Software
A diferencia de la primera charla que realizó Miguel en Barcelona, en la que sólo se tocó el tema un poco por encima, en ésta ocasión, las patentes de software y los posibles litigios en los que se podría ver envuelto el proyecto MONO centraron buena parte de la charla.
NOTA: Me gustaría recalcar lo absolutamente ignorante que soy en la materia, aunque creí entender algunos conceptos que realmente me sorprendieron.
En sí MONO, conceptualmente, no es un proyecto fuera de la ley. Pese a lo que mucha gente cree .NET no es un estándar cerrado y propietario de Microsoft, sino que se basa en unas especificaciones públicas en ECMA, en las que han participado mucha gente aparte de Microsoft, como IBM o HP entre otros.
¿Vaya chollo, no? Entonces es algo así como si habláramos de editores de HTML, dónde se parte de un “estándar†y cada uno lo implementa como le plazca. ¡Esto es genial! O al menos en apariencia. (Supongo que se pilla la ironía del ejemplo,, ¿no? Je je) Las patentes de software han llegado a un extremo tan voraz que resulta casi imposible implementar ciertas especificaciones sin toparse con alguna patente de software, y eso sí, me resultó francamente sorprendente.
Según Icaza, la política que se sigue en estos casos es la siguiente:
- Buscar un antecedente del uso del sujeto patentado, de forma que anule la aplicación de la patente, o dicho de otro modo, demostrar que alguien se ha marcado un tanto que no se merecía.
- Intentar buscar la trampa algorítmica que pueda hacer colar el tema, práctica usada en MONO.
- 3. Pasarse por el forro la patente. Práctica “estrella” en MONO.
La argumentación que dio a la hora de infringir patentes en un proyecto de Software Libre no dejó de sorprenderme, a la vez que, analizándolo un poco en frío, la encontrara un poco contradictoria. El concepto se basa en la teoría de que cuando eres tan insignificante, nadie te da tanta importancia como para meterse contigo; ¿total que van a sacar de ti? Un ejemplo de ello es YouTube; Mientras fueron una empresa pequeña se pasaron por el forro todo los derechos de autor habidos y por haber, lo compra Google, que si algo tiene es pasta, y venga acuerdos a base de talonario… Hasta aquí de acuerdo, pero… ¿eso no es hipotecar el futuro de MONO? Es decir, o me mantengo pequeño, muero de éxito o acabo absorvido.
Llegados a éste punto se le abordó el asunto ya tan comentado del acuerdo Novell / Microsoft en cuanto a patentes, y de nuevo volvió a sorprenderme. MONO no es propiedad de Novell, dado que como proyecto pertenece a la comunidad. El papel de Novell es ser el principal mecenas del proyecto, pagando en la actualidad los salarios de 20 programadores del núcleo central de desarrolladores de MONO, que en la actualidad rondan los 200. Al no pertenecer a Novell, el acuerdo con Microsoft queda al margen, aunque sí admitió que puede ser visto como una declaración de intenciones…
Aunque para sorpresa, lo que se dice sorpresa, fue cuando me enteré de lo poco que sabía del tema de patentes:
Alguien preguntó: “¿MONO no acabará desarrollándose en Europa dado que aquí no tenemos patentes de Software?â€
Yo listo de mí, pensé; bueno pero sólo podrías comercializarlo en Europa, ¿no? Es por eso. Tranquilo Miguel, ya contesto yo…
Pues venga bomba, la discusión de las famosas patentes de software en Europa es un simple trámite para facilitarles las cosas a las empresas, ya que en la actualidad ya existen, pero simplemente con otro nombre, patentes de máquina. De hecho, en EEUU cuando registras una patente de software, existe el servicio que pagando “x” dólares más, te convierte la patente a la “jerga†europea… lo cual me dejó estupefacto.
Una vez más, pude comprobar lo mucho que me falta por aprender…
CHARLA ICAZA: El por qué de la apuesta por .NET (Java vs .NET)
En un mundo como el del software libre, es vital la unificación de esfuerzos, y es por ello que el planteamiento que incorporan las especificaciones .NET en cuanto al concepto multilenguaje son consideradas vitales. Partiendo de esa base, podemos unificar y/o reutilizar el trabajo que realicen diferentes programadores independientemente del lenguaje de programación que hayan usado, y eso es algo que no está nada mal.
Sólo por el multilenguaje la opción .NET era realmente atractiva (y más cuando Icaza había fracasado con el proyecto “Bonobo†en su intento de conseguir algo parecido mediante CORBA), pero según Icaza hubieron otros factores de decisión importantes.
El gran candidato a proporcionar un lenguaje de alto nivel al programador de Linux era sin duda Java. El problema de Java era básicamente, y aquí fui yo el primer sorprendido, su poca unión. ¿Falta de unión? Pues parece ser que sí. El programador convencional tiende a asociar Java con Software Libre, algo que hasta la fecha no es así (o quizás a partir de hoy, sí, las noticias vuelan!), dado que Sun mantiene licencias que excluyen a Java de éste mundo. Es cierto, es gratuito, pero tiene un propietario y no es libre. ¿Entonces, Java no es libre? Java de Sun (al menos en aquellos entonces), no, pero existían otras alternativas y proyectos en el mundo Java, que según Icaza padecían de una grabe falta de cohesión, no consiguiendo unificar esfuerzos en un camino concreto.
í‰ste punto Miguel de Icaza suele ejemplarizarlo con un fragmento de la película “La vida de Brianâ€, el cual me parece muy acertado, y aplicable a muchos otros ámbitos de la vida:
[youtube=http://www.youtube.com/watch?v=-tauoxUGIX4]
Pese a todo, Miguel de nuevo se mojó, y sin tapujos apostó por la plataforma .NET a la hora de valorarla tecnológicamente, y volviéndola a definirla como la suma de Java + todo lo que los usuarios de Java pidieron a Sun (y Sun sudó de ellos) + un porrazo de millones de dólares. También me llamó la atención afirmaciones del estilo (cita no textual): “Java es demasiado lentoâ€, algo que suscribo, pero que en general, no se suele percibir así.
También era interesante sumar al carro un porrazo de programadores que arrastran las plataformas de desarrollo de Microsoft, que sin muchos esfuerzos podrían saltar a Linux y unirse a la causa. A eso, le sumamos material docente, entornos de desarrollo, divulgación, etc. que Microsoft brinda a .NET, y en definitiva a MONO, y la opción .NET seguía sumando enteros.
Pese a todo hay que volvernos a contextualizar en el tiempo, en el año en que discutíamos si todavía estábamos en el siglo XX o en el XXI, todavía no se habían iniciado movimientos como los que Sun está realizando, o viéndose obligado a realizar, con lo que es posible que los planes de Icaza no hubieran sido exactamente los mismos, no sé, en todo caso, en cuando tenga arreglado el condensador de Fluzo de mi DeLorean quizá escriba algo al respecto.
Pese a todo, MONO siguiendo su filosofía de unificar lenguajes-esfuerzos, no ha dejado fuera a Java, lo cual hubiera sido una contradicción, haciendo posible que programadores como yo a los que nos gusta programar con Visual Basic (cristianos mariquitas según Miguel), podamos heredar de clases picadas en Java, dentro del “paraguas†de MONO.
Impresionante, ¿no?
CHARLA ICAZA: El objetivo del proyecto MONO
En el momento en que Linux consiguió hacerse con gran parte del pastel del mundo de los servidores, un grupo de gente quiso ir más allá, e intentar que Linux fuera un agente importante en la batalla del escritorio.
Para llevar a cabo dicho propósito era necesario generar un compendio de aplicaciones y utilidades que facilitaran el uso de Linux a usuarios con nivel cada vez menos especializado. ¿Pero, que herramientas de Software Libre disponían éste grupo de aventureros / programadores en aquellos entonces? Pues simplemente C++, lo que comportaba programar a muy bajo nivel, con unos costos de desarrollo tiempo / recursos demasiado elevados. Es por todo ello que MONO nace como la necesidad de conseguir mayor productividad en el desarrollo de aplicaciones de escritorio (algo que con el tiempo ha ido más allá que el simple escritorio) para Linux sin dejar de usar software libre.
Leer más