Archive for the 'Uncategorized' Category

El verdadero peligro de Mono

sábado, julio 31st, 2010

Hace unos meses, en plena discusión mundial sobre si el uso de Mono en Linux suponía un riesgo para el software libre o no, publiqué una entrada ofreciendo mi punto de vista. Sin embargo, lo que conté era sólo la mitad, porque en ese momento me pareció que no era adecuado echar más leña al fuego, así que decidí limitarme a la parte puramente técnica. Ahora que ya ha pasado un tiempo y las cosas están más calmadas he decidido escribir la segunda parte. Preparaos para un articulo de opinión, y encima largo.

Lo primero, decir que Mono, estrictamente hablando (esto es, la implementación libre de los estándares ECMA-334 y ECMA-335), no tiene por qué ser un problema para el software libre, gracias, principalmente, a la promesa de Microsoft de no ejercer esas patentes (vamos a pecar de confiados y, a pesar de no ser abogados, supondremos que realmente es universal, definitiva e irrevocable).

Sin embargo, el primer gran problema que encontramos es que esos dos estándares sólo cubren una parte de .NET, en concreto la máquina virtual, el lenguaje C# y la biblioteca estándar de dicho lenguaje. Pero .NET es mucho más que eso, porque está ASP.NET, ADO.NET y las WinForms, entre otros muchos componentes. Un argumento que esgrimen los defensores de Mono es que éste no pretende ser compatible con .NET hasta el punto de poder ejecutar todas sus aplicaciones (eso es sólo un efecto colateral), sino simplemente ser un entorno de desarrollo moderno para GNU/Linux, que aumente la productividad. Esto se puede ver perfectamente cuando leemos el Mono Rationale y algunas entrevistas a Miguel de Icaza: todo el énfasis lo ponen en el soporte de múltiples lenguajes y en la mejora del rendimiento en el desarrollo, pero no lamenta que no vaya a haber compatibilidad completa porque no hay nadie que se anime a escribir determinadas bibliotecas, sino que incluso recalca que hay muchos módulos específicos de Mono que permiten escribir programas que no funcionarían en .NET.

¿Y qué problema hay, entonces, en utilizar un entorno de desarrollo basado en dichos estándares, y completándolos con herramientas y bibliotecas libres (como GTK#, por ejemplo) para rellenar los huecos que faltan, y sin buscar compatibilidad con el .NET de Windows? Personalmente tiendo a alinearme con la gente que defiende que no hay ninguno (aunque me remito a las razones técnicas que esgrimo en mi anterior entrada): por una parte el riesgo de patentes es prácticamente nulo, porque Microsoft se ha comprometido a no atacar con ninguna de ellas (aunque pienso que la razón es que, estratégicamente, sería peor para ella); y por otro lado, aunque .NET avance demasiado rápido para mantenerse a la par (cosa que ni siquiera hoy en día se está consiguiendo con Mono) o si Microsoft cambiase las APIs creando problemas de compatibilidad, tampoco sería un problema porque el objetivo no es ser compatibles con ellos.

Pero…

Obviamente hay un pero, porque si no, el título de este post no tendría ningún sentido. Ese pero surge del hecho de que la misma existencia de .NET, tan abierto, tan estandarizado, tan portable, no parece tener sentido viniendo de una empresa que ha monopolizado la web durante años, que ha intentado poner trabas al software libre mediante tácticas cuanto menos discutibles, y que ha sido acusada de mantener una posición de monopolio en el mercado de los sistemas operativos y navegadores. ¿Por qué sacar un producto que puede beneficiar tanto a tu rival, y además darle tantas facilidades, cuando tu historial habla siempre de acciones totalmente opuestas? ¿Se está regenerando Microsoft?

La respuesta, en mi opinión, está en Silverlight: Microsoft perdió el control que tenía sobre la web y ahora quiere recuperarlo, pero la gran cantidad de navegadores disponibles hoy en día, así como la sensibilización que hay hacia el uso de estándares, le impide repetir la táctica de añadir sus propias extensiones a HTML. Por otro lado están Java y Adobe Flash. El primero, a nivel web, está hoy de capa caída, aunque intenta recuperar el terreno mediante JavaFX. El segundo es un peso pesado, pero está perdiendo terreno gracias a HTML5 y al peso de la comunidad, que intenta incentivar el uso de estándares. Y es justo aquí donde Microsoft intenta atacar con Silverlight: crea un nuevo plugin para que los desarrolladores hagan lo que hacían con Flash, pero con la ventaja de que es tecnología basada en .NET, lo que significa que se puede reutilizar código de otras aplicaciones aunque no sean aplicaciones web (cosa imposible con HTML5); es una plataforma agnóstica respecto al sistema operativo y a la arquitectura gracias al uso de una máquina virtual (igual que Java y Flash), y encima se basa en estándares abiertos (ECMA-334 y ECMA-335), lo que permite a terceros hacer implementaciones propias, como por ejemplo Moonlight, que se basa, como no, en Mono.

¿Y donde está el problema? Pues en que Silverlight no está dentro de ningún estándar. Como dije al principio, los dos estándares ECMA cubren únicamente el lenguaje C# y su biblioteca estándar, así como la máquina virtual, pero todas las bibliotecas específicas de Silverlight están fuera, por lo que Microsoft tiene libertad absoluta para cambiarlas y ampliarlas a su antojo.

Con esto echamos por tierra el principio de que no importa que cambie la especificación porque la compatibilidad no es un objetivo: si Mono no es 100% compatible con .NET, Moonlight no lo será con Silverlight y no servirá para nada. Y si hay que garantizar la compatibilidad, el software libre siempre irá a remolque, y a buena distancia, de Microsoft, por lo que la gente se verá obligada a utilizar la máquina de .NET, pues Mono y Moonlight no implementarán todo lo necesario (y la especificación se mantendrá en continuo aumento). Para aquellos que piensen que exagero, me remito a los diversos clones de Flash que se han intentado hacer en el mundo del software libre: ninguno funciona lo suficientemente bien como para reemplazar sin problemas al plugin oficial de Adobe. Y que no se me interprete mal: hay un gran trabajo detrás de todos ellos; simplemente es una tarea muy grande sobre un blanco muy móvil.

Hace tiempo ya nos topamos con el primer aviso cuando el SIGPAC se pasó a Silverlight: la respuesta de los creadores comenzaba diciendo que los datos ya están disponibles en formato WMS, que es un estándar para acceso a información cartográfica, aunque sí se puede alegar que no son los datos, sino el servicio, el que también debería ser accesible desde cualquier sistema operativo. A continuación, añadía que la versión en Silverlight es accesible desde multitud de sistemas operativos, incluido Linux, gracias a Moonlight, aunque luego aclaraba que, en este último caso, se conocían algunos problemas porque el SIGPAC necesita la versión 3 de Silverlight, y Moonlight implementa sólo la versión 2. Cinco meses después sólo hay una versión preliminar de la 3, todavía en fase alfa, mientras que Silverlight ya va por la versión 4: el software libre siempre irá a remolque si la especificación depende de una única empresa en lugar de ser un estándar oficial.

Lo mismo ocurre con los mundiales de fútbol en Telecinco: para verlos necesitas Silverlight, y Moonlight todavía no sirve (aunque la versión alfa de la 3.0 parece que sí lo soporta, pues en la página oficial dice textualmente: “With Moonlight you can watch the Olympics on Linux with our 3.0 preview”). Por otro lado, vemos que también quiere integrarlo en televisores y otros dispositivos, lo que parece indicar ya la estrategia de Microsoft: meter Silverlight en todos los ámbitos que pueda.

Y si alguien aún se pregunta qué gana Microsoft consiguiendo que todo el mundo utilice una plataforma que se consigue gratis o de la que cualquiera puede crear una versión alternativa (aunque siempre vaya a remolque de la oficial), la respuesta (aparte de vender más herramientas de desarrollo y de que, como su versión será siempre la más avanzada y sólo la hay para windows, se asegura de que windows se utilice más, que ya es bastante) es que tiene el poder de forzar el uso de otras tecnologías en las que colabora, muchas de ellas de pago. Por poner un ejemplo, Microsoft forma parte del MPEG-LA, que cobra los royalties por el uso de H.264, codec de vídeo que se utiliza en Silverlight para realizar streaming. Al ser Silverlight su tecnología, ellos deciden qué entra y qué no, pudiendo eliminar a la competencia (por ejemplo, a Theora o a WebM) y ganando ellos dinero con las licencias de esas tecnologías. De hecho, la licencia de Microsoft por la que promete no perseguir implementaciones libres de Silverlight excluye expresamente el pago de royalties por codecs patentados. Por otro lado, que actualmente sea gratis no significa que, en el futuro (cuando esté extendido y sea casi obligatorio integrarlo si quieres vender), no haya que pagar por poner Silverlight en el último modelo de televisor.

Y esto es lo realmente peligroso para el software libre, pues no solo iremos siempre a remolque de la implementación privativa, sino que, en muchos casos, podremos vernos completamente atados (baste ver los problemas que tiene Debian o la Mozilla Foundation para incluir algunos codecs de serie en países con patentes de software).

Por todo esto, aunque no rechacemos a Mono en sí, creo que sí deberíamos rechazar con todas nuestras fuerzas a Silverlight y a Moonlight, y exigir que se utilicen únicamente estándares abiertos como HTML5 para realizar las páginas web, en lugar de sistemas privativos controlados por empresas. Precisamente ahora que tenemos las herramientas necesarias para ganar la batalla a Flash no debemos cometer el error de caer en un nuevo plugin privativo.

O esa es, al menos, mi opinión.

Probando WordPress 3.0

domingo, julio 4th, 2010

Acabo de actualizar a la versión 3.0 de wordpress, y aprovecharé para ver si ya han corregido el bug que hacía que cada vez que intentaba publicar algo, fallase, y tuviese que ir a los borradores y publicar desde ahí…

[Actualizado] Pues sí, ya funciona.

Querida hacienda, dos puntos

domingo, abril 18th, 2010

Siempre ha sido la protagonista de las pesadillas de muchos contribuyentes, y fue, hasta hace poco, el atractor de toda la ira y odio del español medio (¡pero ya no! ¡ya hay entidades más odiadas que hacienda!). Sin embargo, hoy lanzaré una nota positiva sobre ella, porque cuando las cosas se hacen bien, es justo reconocerlo: este año, hacienda ha lanzado una versión del programa PADRE para Linux, poniendo fin a años de discriminación hacia los que tenemos tendencias informáticas minoritarias. ¡Y fijaos si está bien hecho que me ha salido a devolver!

España es asín, o la chapuza de la TDT

jueves, abril 1st, 2010

Que en ¡Ejpaña! hacemos las cosas como las hacemos es bien sabido desde hace décadas. Pero ni con esas consigo acostumbrarme, oye.

Porque dejando de lado todo el tema de que sea ahora cuando, después de dos años de despliegue, se saquen de la manga la TDT de pago, con lo que la gente que quiera verla tendrá que tirar su deco y comprar uno nuevo con ranura para la tarjeta…

Porque dejando de lado que en unos meses saldrá la TDT de alta definición utilizando H.264, por lo que los decos y teles que se han comprado hasta ahora tampoco valdrán, porque sólo soportan MPEG-2…

Porque dejando de lado todas esas chapuzas que, dentro de lo que cabe, aún tienen una explicación lógica (que la gente gaste una y otra vez, dando más beneficios a los fabricantes de decos), lo que no consigo entender es quien fue el iluminado al que se le ocurrió programar el apagón analógico justo para mitad de la semana santa, cuando todos los comercios estarán cerrados, cuando no podrás llamar al antenista para que te corrija el problema de última hora, etc, etc, etc.

Señores políticos, que a estas alturas deberían saber perfectamente que aquí lo dejamos todo para el último momento.

¿Pero de qué me sorprendo? ¡Si a estas alturas soy YO quien debería saber perfectamente como son nuestros políticos!

Nos la meten doblada

domingo, marzo 21st, 2010

Aprovechando el puente (como ya viene siendo habitual), el Gobierno ha aprobado sin cambios la Ley de Economía Sostenible, que incluye la infame “Ley Sinde” de cierre de páginas web. Ahora dicha ley pasará al Congreso, donde se deberían presentar enmiendas y se votaría. Recordemos que el PSOE, de quien surge la ley, tiene mayoría relativa con 169 escaños. Si se aprueba (por mayoría absoluta), pasaría al Senado, donde se propondrían nuevas enmiendas y se votaría de nuevo. Para ser aprobada necesitaría también mayoría absoluta. En estos momentos, en el Senado tiene mayoría relativa el PP, aunque hay gente que sospecha que no están por la labor de oponerse a esto.

Vuelve DVDAuthor

domingo, marzo 7th, 2010

La herramienta DVDAuthor, que Devede utiliza para generar los DVDs, lleva casi tres años sin mantenimiento. Sin embargo, hoy me llegó un mail de Lawrence D’Oliveiro en la que me comenta que ha iniciado un fork de DVDAuthor, en el que ya ha aplicado varios parches. Aprovechando la coyuntura le he comentado los dos problemas que encontré hasta ahora: Spumux no soporta textos en UTF-16, y no se puede cambiar el color de los subtítulos. Con suerte en la próxima versión de DVDAuthor estos dos detalles están corregidos y Devede puede sacar provecho de ellos.

Migrando a 64 bits

jueves, marzo 4th, 2010

Hace unos días decidí cambiar el sistema operativo a Ubuntu de 64 bits. A fin de cuentas es el futuro, y cualquier día lo necesitaré por cuestiones de memoria, así que mejor ir comenzando ahora. Al principio pensaba que iba a tener problemas con algún programa en concreto, pero la verdad es que hasta ahora todo está funcionando como la seda:

  • MPlayer y Mencoder funcionan perfectamente y reproducen todos los formatos que necesito (entre ellos H.264, DivX, WMV y RealMedia); y ni siquiera he necesitado instalar los plugins privativos para que me funcionen incluso los vídeos en formato WMV9 (que utiliza VC-1).
  • Eclipse funciona perfectamente con la máquina virtual de Java de 64 bits, aunque tuve que borrar la carpeta .eclipse de mi directorio personal y reinstalar los plugins para lenguaje C y Python.
  • Y tampoco tengo problema alguno con Flash de 64 bits, aunque sea aún una prerelease y no una versión estable.

Un detalle que me preocupaba mucho es ¿cuan problemático es portar código C a 64 bits? En general debería funcionar, salvo si el tamaño de algún tipo fundamental cambia a 64 bits y en el código asumimos que es de 32 bits. Y de hecho había algunas posibilidades de que ocurriese, pues hay tres posibles modelos para C en 64 bits: LP64, ILP64 y LLP64. En el primero, que es el que utiliza Linux/GCC o MacOS X, int es de 32 bits, mientras que long int es de 64 bits. En el segundo, en cambio, los dos tipos miden 64 bits. En el último caso, el más compatible (y además utilizado por el compilador VirtualC++ de Microsoft), miden todos 32 bits, siendo long long int la única manera de conseguir un tipo de 64 bits. ¿Cual es mejor? Bajo mi punto de vista, LP64, porque permite fácilmente mantener total compatibilidad hacia atrás si se escribe el código con una pizca de cuidado, además de permitir, con el mismo código, acceder a toda la memoria disponible mediante aritmética de punteros, tanto en 32 como en 64 bits. Para conseguir todo esto, en concreto, hay que asegurarse de utilizar long int para aquellas variables que se utilicen en aritmética de punteros (porque, de esa forma, siempre tendrán el mismo tamaño que un puntero y se podrá direccionar toda la memoria sin problemas), así como para aquellas que no importe si son de 32 o 64 bits, utilizar int para aquellas que tengan que ser forzosamente de 32 bits, o cuando se quiera ahorrar en tamaño, y long long int para aquellas que tengan que ser necesariamente de 64 bits.

Mi miedo venía por FBZX. Sin embargo, tras probarlo, funcionó correctamente… aunque hay que decir que de milagro, porque hay un punto en que sí utilicé un long int en lugar de int a secas: justo en la función que pinta cada pixel, cuando estamos en un modo de 24 o 32 bits por pixel. Pese a todo, gracias a que la arquitectura Intel es little endian, el código funciona (cosa que no haría si fuese big endian). Es un detalle que corregiré en la siguiente versión, para la que sacaré paquete .deb tanto en 32 como en 64 bits.

Hasta los cojones

viernes, enero 29th, 2010

Así estoy por el dichoso tablet de la empresa de la manzana, así que lo único que añadiré es esto:

(for my international readers: I’m so tired of reading in every media, again and again, exactly the same news about that f****** tablet, that the only thing I want to say is this)

Denunciando al Estado por el monopolio de las entidades de gestión

viernes, enero 22nd, 2010

Hace un par de días apareció la noticia de que la Comisión Europea denunció a España por la situación monopolística de las entidades de gestión de derechos de autor (nuestra querida SGAE entre ellas). Esta postura se ha visto reforzada por un informe de la Comisión Nacional de la Competencia. Según dichos informes, España podría estar cometiendo una ilegalidad al permitir a la SGAE y compañía trabajar en el actual régimen, pues ello propiciaría los actuales abusos que sufrimos por parte de ellas.

Y aquí es donde entran David Bravo y Javier de la Cueva con una interesante propuesta: enviar una carta a la delegación española de la Comisión Europea con una denuncia contra el Estado Español por dicha situación. Para ello han publicado un modelo que sólo tenemos que modificar, poniendo nuestros datos (nombre y apellidos, DNI, nacionalidad y dirección) y enviándola por correo certificado a la Comisión.

Suena interesante, pero… ¿tendré que pagar un abogado y demás? Según explica David Bravo, el procedimiento es totalmente gratuito, y no supone más gastos ni trabajo que tomarse la molestia de enviar la carta.

¿Y qué hay que hacer? Simplemente bajarse la carta que ofrecen David Bravo y Javier de la Cueva al final de su entrada en el blog, rellenarla con nuestros datos en los lugares indicados, imprimirla y enviarla por correo ordinario certificado a la delegación española de la Comisión Europea (la dirección viene en el mismo documento).

¿Por correo ordinario? ¡Pero si se puede hacer a través de la página web de correos! Por desgracia, a través de la página web no se puede certificar el contenido de la carta, así que no queda otra que mover el culo del sillón. Por otro lado, no olvidemos que si queremos que se nos tenga en cuenta hay que empezar a hacer cosas en el mundo real, no sólo en Internet. Un correo electrónico se puede enviar sin levantarse de la silla, por lo que es fácil que lo haga mucha gente; una carta ordinaria, por el contrario, implica levantarse, comprar sobres y salir de casa para ir a una oficina de correos, por lo que sólo lo hará la gente a la que la acción le importe de verdad. Los políticos lo saben muy bien, por eso una manifestación en la red les da igual, pero una en la calle los acojona.

Vale ¿y qué tengo que hacer? Personalizas la carta, imprimes dos copias (serán el original y la copia) y las firmas. Vas con ellas y un sobre abierto (con la dirección de la comisión escrita delante, y la tuya como remitente por detrás) a una oficina de correos. Allí pides enviar la carta por correo certificado y que te la sellen (¡muy importante!). Para ello te pedirán el original y la copia. Una vez selladas, te quedas la copia, metes el original en el sobre (delante del funcionario o funcionaria), rellenas el formulario de envío certificado, pagas los 2,49 euros que cuesta y entregas el sobre para que lo envíen.

Si, ya, pero ¿tú ya lo has hecho? Sí, la envié esta misma mañana. ¿Por?

Situacion insostenible

domingo, enero 17th, 2010

¿Por qué soltar una arenga sobre el artículo 20, apartado 5, de la constitución española si ya lo han hecho otros?

¿Por qué insistir una y otra vez en que la propiedad intelectual no es un derecho fundamental, al contrario que el derecho a la salud, si ya se dice en otras páginas?

¿Por qué añadir que, con la ley actual, cualquiera que vea sus derechos violados en internet puede presentar una petición de cierre cautelar junto a su demanda, aunque asumiendo que si el cierre era innecesario, tendrá que asumir las consecuencias legales, si ya se ha explicado repetidas veces?

¿Incluso por qué dejar caer que el mismo partido que intenta aprobar esta ley se opuso en su día a otra por razones similares a las aquí defendidas, si se ha repetido ya hasta la saciedad?

Pues porque el gobierno va a por todas con la infame Disposición Final Primera de la Ley de Economía Sostenible, y no se ve ningún indicio de querer corregir su rumbo, por lo que no nos queda más remedio que hacer el máximo ruido posible para enviarle un mensaje claro:

NO QUEREMOS LEYES ANTIDEMOCRÁTICAS

No queremos una ley que se salte a la torera la más elemental separación de poderes.

No queremos una ley tan ambigua que permita cerrar prácticamente cualquier web mediante una orden administrativa.

No queremos una ley que otorgue privilegios jurídicos a una pequeña casta y en desmedro de los derechos de la mayoría.

No queremos una ley creada por y para un lobby que sólo busca su propio beneficio, aún a costa del de la sociedad en general.


Utilizamos cookies para garantizar que tenga la mejor experiencia en nuestro sitio web.