lunes, 25 de abril de 2011

¡Menuda se ha montado! ¡Copiad, Malditos!

Menuda se montó la semana pasada. Pero vayamos poco a poco. ¿Qué es lo que pasó?

La semana pasada se emitió en TVE (más concretamente el domingo 17 de abril de 2011 en La 2) el documental que enlazo más abajo, titulado "¡Copiad, Malditos!" y que trata sobre propiedad intelectual, derechos de autor, etc. Hasta aquí todo bien. ¿Qué es lo que lo hace tan peculiar? En primer lugar, que por primera vez en la Historia de RTVE, se emitió un documental sin la omnipresente (c) del Copyright y "Todos los derechos reservados", sino que estaba licenciado bajo una Creative Commons según la cual los usuarios quedan autorizados legalmente para descargarse el vídeo de Internet y distribuirlo.

Es más, lo verdaderamente sorprendente es que en el medio de comunicación que depende directamente del Gobierno tras el cual se encuentra la llamada Ley Sinde, se diera voz y voto a aquellos que se posicionan en contra de los derechos de autor entendidos en su forma más tradicional, poniendo en entredicho la actual legislación sobre propiedad actual en nuestro país y muy especialmente a los mecanismos de actuación de la SGAE (Sociedad General de Autores Españoles), y manifestándose claramente a favor de la cultura libre y del copyleft. Todo esto, ¿estará teniendo (o tendrá) consecuencias sobre determinados miembros de la plantilla de RTVE?



Para hacernos una idea del impacto del documental sobre el ciberespacio español, tan sólo es necesario conocer que durante las horas posteriores a su emisión, #copiadmalditos se convirtió en trending topic de Twitter. Y como os podéis imaginar, el "postpartido" resultó el mismo de siempre: Alejandro Sanz atacando a los letrados David Bravo y Javier de la Cueva, Lorenzo Silva por el medio quejándose de haber sido víctima de la tijera, y en definitiva, mucha bronca y ningún consenso (vamos, algo similar a lo que ocurre con el "Toros, sí vs. Toros, no").

Una última reflexión sobre un aspecto que me ha dejado relativamente a cuadros. Según el documental, la idea es licenciarlo como copyleft acorde con la cultura libre. Pero si bien es cierto que la licencia elegida es de tipo Creative Commons, su tipo específico es el siguiente: BY/NC 3.0 Unported. El "BY" quiere decir "Reconocimiento (Attribution): En cualquier explotación de la obra autorizada por la licencia hará falta reconocer la autoría.", mientras que el "NC" indica "No Comercial (Non commercial): La explotación de la obra queda limitada a usos no comerciales.". En resumen, el uso de esta licencia implica que:

"Reconocimiento - NoComercial (by-nc): Se permite la generación de obras derivadas siempre que no se haga un uso comercial. Tampoco se puede utilizar la obra original con finalidades comerciales."

Por tanto, ¿se puede considerar copyleft una licencia según la cual puedo descargar y redistribuir la obra así como generar obras derivadas a partir de ella, pero que no me permite explotar comercialmente ni la obra original ni sus derivadas? Hasta donde yo sé, se puede considerar una obra como libre siempre y cuando se pueda copiar, distribuir, exponer y/o representar, realizar trabajos derivados, y adicionalmente, se pueda llevar a cabo cualquiera de los puntos anteriores con ánimo de lucro si así se desea. Así que, según la información que yo tengo, la respuesta a la pregunta es que no. Si hay alguien que pueda argumentarme lo contrario, lo leeré encantado :-).

viernes, 22 de abril de 2011

Mozilla y su Modelo de Financiación

Para una persona que desconoce por completo el mundo del software libre, no deja de ser sorprendente a la par que enigmática, la manera mediante la cual los proyectos de este tipo consiguen financiarse para seguir adelante. Si bien es cierto que un gran número de proyectos de software libre se sirve únicamente de la colaboración voluntaria, muchos otros proyectos cuentan con una serie de gastos, fundamentalmente en personal contratado, máquinas e infraestructuras, a los que se debe hacer frente, consiguiendo para ello ingresos de diferentes maneras.

Dada su magnitud y su especial interés, en este post comentaremos la forma en que la Fundación Mozilla consigue esa financiación, que se produce fundamentalmente a través de donaciones. Estas donaciones van desde pequeñas aportaciones de particulares (la minoría) hasta grandes multinacionales que realizan un gran desembolso económico debido a que presentan algún tipo de interés particular en que Mozilla y sus proyectos, sigan adelante. Este es el caso de Google, que colabora con una aportación que supone la mayor parte de las recaudaciones conseguidas. Por conocer algunos datos, tenemos que Google en 2006 donó a Mozilla un total de 57 millones de dólares, lo que supuso el 85% de los ingresos totales de la compañía en este año (66'8 millones de dólares).

Gracias a estas aportaciones, los dos grandes productos estrella de Mozilla siguen adelante: el navegador web Mozilla Firefox y el cliente de correo electrónico Mozilla Thunderbird. Pero si ponemos en conjunción estos dos datos, el resultado es algo extraño: Google, a través de sus donaciones, está financiando Mozilla Firefox, lo que equivale a financiar a la competencia de su propio browser, Google Chrome; más extraña (o quizás todo lo contrario) se vuelve aún la situación teniendo en cuenta que los mayores ingresos de Google provienen a través de la publicidad colocada en páginas web visitadas con Firefox. Es más, Firefox incluye la barra de Google, que lleva a la página del buscador en que se publicita a Google Chrome.

El caso es que teniendo a Google como algo parecido a un mecenas, Mozilla consigue gozar de una buena salud económica, tal y como avalan sus resultados anuales, y teniendo además en cuenta que el acuerdo entre Google y Mozilla ya se prolongó en 2008 por 3 años más, es decir, hasta 2011, no sería de extrañar que nuevamente se volviera a prolongar dicho acuerdo durante unos años más. Además, debe tenerse en cuenta que todo esto puede que no sea más que una manera de Google para luchar contra uno de sus grandes competidores: Microsoft. Quizás Google no necesitase esta estrategia dentro de su empresa si Google Chrome estuviese en la situación dominante del mercado de los navegadores (Si bien es cierto que su cuota de mercado aumenta muy rápidamente), tal y como ocurre con Firefox que ya iguala e incluso supera a Internet Explorer en número de usuarios, y en el caso de Firefox 4, supera de manera aplastante a Internet Explorer 9 en cuanto a número de descargas (téngase también en cuenta que Explorer sólo está disponible para Windows, mientras que Firefox lo está para Windows, GNU/Linux, y Mac OS).

En resumen, aquí hemos presentado tan sólo un ejemplo de cómo los proyectos/organizaciones de software libre se pueden financiar, en este caso, a través de donaciones, pero casi podría decirse que a través del mecenazgo. En cualquier caso, no cabe duda de que el abanico de posibilidades es muy amplio, como bien demuestran algunos de estos ejemplos: RedHat, independiente económicamente por sí misma a través de sus servicios de consultoría, certificaciones, etc.; Canonical, con un multimillonario destinando fondos para que su distribución Ubuntu siga adelante ganando usuarios; o el caso de Wikipedia, basada en este caso sí, fundamentalmente en las pequeñas aportaciones económicas de particulares.

lunes, 18 de abril de 2011

Chrome OS: un producto estratégico

Durante las últimas semanas se ha sabido que múltiples fabricantes de hardware como Acer, Asus, Sony o Samsung, lanzarán durante la segunda mitad de 2011 diferentes portátiles con algunas características en común: Google Chrome OS preinstalado y en algunos casos con arranque dual Chrome OS/Windows, tamaño de entre 10 y 12 pulgadas, y precio entorno a los 300 dólares. Parece por tanto que se trata de portátiles lanzados con la idea de hacer competencia directa a las tan de moda tablets, con similares características físicas, pero menor versatilidad de funciones y precio alrededor de los 500 dólares.

Pero, ¿qué lleva a Google a introducirse en el mercado de los sistemas operativos? Si bien ya pudiera resultar extraño que Google lanzase Android para las plataformas móviles (y aparentemente extraño que además lo hiciera de manera libre), habría que comenzar a sospechar sobre el verdadero interés de Google con Chrome OS como sistema operativo en ordenadores y portátiles.




No cabe duda de que el hecho de que se trate de productos libres, invita a que los fabricantes lo adopten para sus dispositivos con el aliciente adicional del ahorro de costes en concepto de pago de licencias. Sin embargo, por centrarnos en el caso de Chrome OS, parece que la idea final es tener un kernel mínimo con funcionalidades elementales como la gestión de la tarjeta gráfica y el arranque de una navegador web (de ahí el ideal perseguido de que el sistema sea capaz de arrancar tan rápidamente como lo pueda hacer un televisor, llegándose a establecer un objetivo en el tiempo de arranque de tan sólo 7 segundos). En definitiva, lo estrictamente necesario como para acceder a la red e interactuar en ella, ya sea para el almacenamiento y acceso a ficheros personales (la necesidad de un disco duro local desaparecería cuando todo fuera almacenado en la nube), streaming, redacción de documentos en una suite ofimática (Google Docs), etc., haciéndose igualmente innecesario tener instalados en el portátil reproductores multimedia, suites ofimáticas, etc.

Una vez conseguido este objetivo en el que Chrome OS fuese el "sistema operativo" predominante basado en web y tras desbancar a Microsoft Windows como primera opción en los entornos de escritorio, Google habría consumado su objetivo último: hacer todavía más imprescindible de lo que ya lo es a día de hoy, el uso de Internet y del HTTP, lugar en el que sin duda alguna, es la empresa dominante y garantizándose el poder seguir explotando durante mucho tiempo más su modelo de negocio basado en la intermediación en el mundo de la publicidad en la red.

jueves, 14 de abril de 2011

Las Ventajas de Git

Desde hace algunas semanas estoy trabajando con Git tras mi paso intermedio por git-svn que ya detallé en una entrada anterior. Teniendo en cuenta que me inicié con Subversion dentro del mundo de los repositorios, he de decir que estoy encantado con las facilidades y potencia que ofrece Git. Sin llegar a entrar en detalles de aspectos más avanzados como por ejemplo el trabajo con ramas, indicaré aquí algunas de las cosas que me facilitan el trabajo respecto a lo que conocía de Subversion.

Lo primero es que gracias a que Git es un sistema de control de versiones distribuido, podemos hacer commits en nuestra máquina local, por lo que podemos seguir trabajando incluso sin conexión de red y subir todos los cambios de una sola vez más tarde. La ventaja no se encuentra únicamente en el hecho de que el desarrollador pueda no tener conexión a Internet, sino también en las horas de trabajo que se podrían perder en caso de que la máquina que albergase el repositorio a modo de servidor centralizado, estuviese caído.

También resulta cómoda la resolución de conflictos a través de la herramienta mergetool y del editor meld, en el que se presentan tres columnas de una manera muy gráfica y con colores: la central, que será en la que se resolverá el conflicto y que muestra la mezcla que Git intenta realizar; las otras dos columnas se corresponderán con el contenido que Git se ha descargado y la copia que ha encontrado en el repositorio local.

Cabe destacar la posibilidad de realizar una enmienda ("git commit --amend") sobre el último commit realizado, cosa a realizar únicamente en caso de que los cambios no se hayan subido todavía con un push, pues de lo contrario, se podrían ocasionar conflictos y problemas en las copias de trabajo del resto de desarrolladores.

Otra herramienta de gran utilidad es la posibilidad de deshacer todos los cambios locales que tengamos realizados sobre el código fuente y que queramos revertir, restaurando el estado del código al que tuviera tras la ejecución del último commit (esta posibilidad con "git stash" resulta de especial utilidad cuando por ejemplo, se ha llenado el código de trazas mediante las cuales se intentaba depurar un bug, ahorrando el trabajo de recorrer todos los ficheros y deshaciendo los cambios manualmente). Y como última curiosidad, la posibilidad de ver fácil y rápidamente la historia del proyecto con tan sólo teclear el comando "git log", al mismo tiempo que se podrán visualizar los cambios introducidos en cada commit con tan sólo ejecutar el comando "git show" seguido del hash del commit que podemos encontrar en el log.

En definitiva, Git configura una herramienta potente con la que ir descubriendo nuevas posibilidades poco a poco y que nos faciliten el trabajo, además de volverlo más rápido y cómodo.

domingo, 10 de abril de 2011

Métricas y Estadísticas (IV): SLOCCount

SLOCCount es una herramienta que permite, de una manera rápida y sencilla, contabilizar el número de líneas de código existentes a lo largo de una serie de ficheros. Esta herramienta además es capaz de detectar qué lenguaje de programación es el empleado en cada fichero, teniendo actualmente soporte para un gran número de lenguajes (de hecho, consultando el sitio oficial de la herramienta, raro será echar en falta algún lenguaje en concreto). En base a ese parámetro SLOC (Source Lines Of Code) previamente calculado, también se realizará automáticamente una estimación del esfuerzo (personas-año), tiempo y dinero (dólares) necesarios para realizar el desarrollo del software (esto se realiza aplicando un modelo COCOMO (COnstructive COst MOdel) tal y como si el proyecto fuese desarrollado de una manera tradicional de software privativo).

Lo mejor de todo es la sencillez de instalación y uso de SLOCCount. Para instalarlo, tan sólo necesitaremos ejecutar el siguiente comando en una shell de nuestro sistema GNU/Linux:

~>sudo apt-get install sloccount

Y para ejecutar SLOCCount de una manera básica (al mismo tiempo que funcional):

~>sloccount directory_name

Donde directory_name indica el directorio en el que se encuentran los ficheros fuente del proyecto que queremos analizar. En caso de que se quisieran afinar un poco más los parámetros del modelo COCOMO con tal de que los resultados obtenidos sean más precisos o cercanos a la realidad, siempre se pueden estudiar los parámetros del programa para ajustar el modelo de la manera más adecuada.

Sin duda, SLOCCount es una herramienta a destacar dado que con una gran simplicidad, nos ofrece información muy útil e interesante, no siempre fácil de obtener y a un bajo coste dada su rapidez y automatización del trabajo, con la que podremos complementar y contrastar la información obtenida tras la aplicación de otras herramientas sobre nuestro proyecto como las que ya analizamos brevemente en algunas otras entradas de este mismo blog, como por ejemplo ohloh.net y gitstats.

jueves, 7 de abril de 2011

Influencia en otros ámbitos: música y Creative Commons.

La influencia del software libre (su filosofía, su forma de actuar en la práctica, sus aspectos éticos) sobre otros ámbitos de la sociedad se están haciendo palpables cada vez con más frecuencia y de una manera más evidente. Un claro ejemplo de ello fue tratado en una entrada anterior de este blog, con el proyecto de hardware libre Arduino. Pero esta influencia no se ciñe únicamente a ámbitos técnicos, sino que en los últimos años está cobrando una relevancia muy fuerte en ciertas áreas artísticas, y muy especialmente en la música.

Esto se ha hecho posible gracias a las licencias Creative Commons, que han abierto una puerta con nuevas posibilidades para artistas noveles y desconocidos, ya que estas licencias les permiten ceder algunos derechos (controlando el autor qué derechos quiere ceder o compartir y cuáles no) pero sin perder por ello su reconocimiento como autor, logrando además gracias a Internet una distribución de su obra rápida y sencilla, en un lugar donde el coste asociado a la copia carece de sentido. Sin duda alguna la gran revolución está aún por venir (si no es así, ya lo veremos...), pero lo cierto es que esta coyuntura internacional está obligando a que las discográficas, como cabeza visible del negocio en su forma tradicional, comiencen a ensayar nuevas fórmulas para rentabilizar sus productos, siempre con un gran temor al cambio, donde otros muchos ven realmente nuevas oportunidades.



Actualmente, ya proliferan las páginas web en las que se puede disfrutar de todo tipo de música distribuida bajo este tipo de licencias Creative Commons (y también Licencias Arte Libre, de tipo copyleft y sometida al derecho francés). Quizás el ejemplo más representativo sea Jamendo, comunidad con más de 300.000 canciones de todos los estilos, en la que los artistas pueden subir su música gratuitamente y los usuarios pueden descargarla del mismo modo (aunque siempre se pueden hacer donaciones voluntarias para los artistas). El gran beneficiado de todo esto quizás sea el público general, ya que gracias a la proliferación de estas iniciativas, se puede disfrutar de un abanico de nuevas posibilidades, estilos, músicas, etc., presentándose un escenario alternativo al modelo tradicional, en el que parecía existir únicamente aquella música que se oía en los medios.

domingo, 3 de abril de 2011

Arch Linux

Arch Linux es una distribución de GNU/Linux lanzada en 2002 y que está ganando muchos seguidores especialmente entre los profesionales del software. Estos profesionales han encontrado en Arch Linux una alternativa perfecta a las otras dos grandes y populares distribuciones con las que estaban quedando insatisfechos. La primera de ellas es Debian, debido a la lentitud con la que se suelen incorporar actualizaciones del sistema. La segunda, Ubuntu, muy criticada al incluir módulos en el kernel para todas las arquitecturas posibles, drivers, etc. (además de distribuir muchos paquetes a menudo únicamente en forma binaria), por lo que buscando una mayor compatibilidad, se tiene un sistema mucho más pesado de lo necesario, y que además, aunque sólo sea a modo anecdótico, no suele incluir de serie una herramienta tan básica a la vez que fundamental como el editor vi/vim (ni Subversion, ni Git, etc.).


Arch Linux por su parte, ofrece una interfaz simple y minimalista, en la que prácticamente a diario se ofrecen actualizaciones del sistema. Sin embargo, se debe destacar también que debido a que incluye las actualizaciones más recientes, ese "estar a la última" a menudo hace que se incluyan revisiones inestables al encontrarse prácticamente en el Estado del Arte, y al no contar con unos controles de calidad tan exhaustivos como los que sí están presentes en Debian. En resumen, Arch Linux se puede definir como una distribución no muy recomendable para usuarios medios (basta con ver que el propio usuario debe "configurarse" el kernel para sus necesidades, de ahí la mayor ligereza que ofrece) dada su mayor complejidad de instalación, uso y mantenimiento, pero también debe ser tenida en cuenta por aquellos profesionales con ciertas necesidades con las versiones actualizadas de su software y que sean exigentes con el rendimiento de su equipo.