1 de Septiembre, 2004

Software Libre y percepciones

La definición de Software Libre es muchas veces confusa. Depende del punto de vista, de si nos referimos a Open Source (Código Abierto) -que es además Software Libre-, o si seguimos una 'doctrina' más extrema en ciertos aspectos como la que a veces defiende la Free Sofware Foundation.

Se podría decir que el Código Abierto se beneficia de las bondades útiles del Software Libre sin toda la carga ética que le añade la FSF con su forma de ver el Software Libre.

Como profesional que trabaja con Software Libre, y que además disfruta de los sistemas *BSD, mi forma de pensar está muy cerca de lo que se conoce como Código Abierto, pero desde un punto de vista de Software Libre. Esto es: compatible con las ideas de la FSF, pero sin coincidir en todos los puntos.

Pero voy a repasar un poco la definición de Software Libre con algunas de sus habituales variantes o 'versiones' con las que discrepo.

Normalmente se habla de cuatro libertades, aunque si unificamos la de estudio y la de modificación, tenemos que se entiende como Software Libre todo aquel programa de computador (a partir de ahora 'Software') que cumple las siguientes premisas:

  • Puede ser usado por cualquiera para cualquier propósito.
  • Puede ser estudiado y modificado. Para ello es necesario disponer del código fuente.
  • Puede ser copiado y redistribuido, con o sin modificaciones.

Además no numero las condiciones. Eso podría llevar a confusiones tipo: la primera libertad del Software Libre. Queda muy Asimov :D, pero no es buena idea porque no hay una definición uniformemente aceptada a la que recurrir ante una afirmación de ese tipo.

Ahora repasemos puntos que, a mi juicio, suelen crear confusión.

En primer lugar es importante destacar que esta definición de Software Libre no hace mención ninguna al precio: el Software Libre puede ser gratuito o no.

Lamentablemente este hecho escapa al usuario mal informado que cree que el Software Libre siempre es gratis por el simple hecho de que puede serlo.

La confusión quizás esté en el uso de vender Software, como se percibe de forma más clásica, en contraposición a cobrar por distribuir Software, que no es exactamente lo mismo aunque el efecto final si lo sea, y es lo que permite distribuir el Software Libre de una forma completamente legal.

Otras muchas confusiones parten de la definición del Software Libre que se desprende de la licencia GNU General Public License (conocida comúnmente como GPL). De la misma forma que el Software Libre puede ser gratis, el Software licenciado GPL es Libre, pero no únicamente el Software licenciado GPL lo es. Ni siquiera creo que sea más o menos libre, como muchas veces se dice.

Ese pequeño error puede tener muchas consecuencias, que en general es atribuirle propiedades concretas de la GPL a todo el Software Libre.

Por ejemplo: la GPL impone algunas restricciones, que no son incompatibles con las citadas libertades. Lo más destacable es que se obliga a que todas las modificaciones realizadas al Software GPL se licencien bajo esa misma licencia, teniendo como efecto principal que el Software Libre siempre siga siendo Software Libre. Paradójicamente esto ya es así sin esa restricción.

Resulta más complejo de lo que parece. Una licencia sin la citada restricción podría hacer que un producto Y derivado de un producto X dejara de ser Software Libre introduciendo restricciones en la licencia de Y que no estaban en X. Esto no afecta a la libertad de X en ningún momento, como se podría suponer.

La GPL va más allá: proteje al Software Libre gracias a que impide que se emplee el Software Libre ya existente, que insisto nunca dejará de ser Libre, para el desarrollo de Software privativo o no-Libre.

Por lo general puede haber otra condición más a añadir a las tres antes citadas, como influencia directa de la GPL, aunque ya esté implícita en definición descrita ya que no se puede modificar la licencia de un programa sin vulnerar los derechos de autor. Se trata de que se puede obligar al receptor de estos derechos a garantizar esas mismas libertades a los posibles receptores de las copias del Software que él redistribuya, con o sin modificaciones. Aunque personalmente no me parece mala idea, y el resultado sigue siendo Software Libre, sí aumenta la complejidad de la definición.

Esa complejidad no es nada deseable, ya que se podría pensar de forma incorrecta que el obligar a dar las mismas libertades recibidas en la redistribución obliga a la redistribución misma, y esto no es cierto.

Ni siquiera la GPL obliga a redistribuir un cambio realizado en un programa si ese cambio no sale de una empresa, si no se distribuye esa versión modificada (concretamente el punto 2 de la licencia se refiere a: You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications[...]). El Software Libre puede ser estudiado y modificado, si solo se hace uso de esa libertad, no por ello se está obligado a hacer uso del resto. La GPL solo obliga si se copia y distribuye las modificaciones, a publicar estas últimas bajo licencia GPL (es decir, incluir el código fuente, otorgar los mismo derechos que recibí del autor original, etc.).

Las licencias son un tema escabroso y difícil de entender. No obstante es algo con lo que todo desarrollador de Software tiene que lidiar tarde o temprano, y que además permite la existencia de esta pequeña revolución que llamamos Software Libre.

Este artículo no son más que ideas personales, y puede que esté equivocado en algunas cosas. Si unimos esto a que esta bitácora no es un foro (aunque se permitan comentarios que completen al texto), me veo animado a pedir moderación y sosiego a los lectores que quieran aportar su granito de arena en forma de comentario :D.

Anotación por Juan J. Martínez.

Los comentarios están cerrados: los comentarios se cierran automáticamente una vez pasados 30 días. Si quieres comentar algo acerca de la anotación, puedes hacerlo por e-mail.