El concepto de libertad en el software en Software libre

De wiki EOI de documentación docente
Saltar a: navegación, buscar


Estado de desarrollo de la sección: completo completo

Wikilibro: Software libre > Capítulo 1: ¿Qué es el software libre?

Sección 1

El concepto de libertad en el software
Desde el principio de los años 70 nos hemos acostumbrado a que quien comercializa un programa pueda imponer (e imponga) las condiciones bajo las que puede usarse. Puede, por ejemplo, prohibir que se lo preste a un tercero. A pesar de que el software es el elemento tecnológico más flexible y adaptable que tenemos, puede imponerse (y es común imponer) la imposibilidad de adaptarlo a unas necesidades concretas, o corregir sus errores, sin el permiso explícito del productor, que normalmente se reserva en exclusiva estas posibilidades. Pero esta es sólo una de las posibilidades que ofrece la legislación actual: el software libre, por el contrario, otorga las libertades que el software privativo niega.
Nota: En este texto utilizaremos el término software privativo para referirnos a cualquier programa que no puede considerarse software libre, de acuerdo con la definición que se ofrece más adelante.

Definición

El término software libre (o programas libres), tal como fue concebido por Richard Stallman en su definición fsf:definition, hace referencia a las libertades que puede ejercer quien lo recibe. En concreto, hace referencia a cuatro libertades:

  • Libertad para ejecutar el programa en cualquier sitio, con cualquier propósito y para siempre.
  • Libertad para estudiarlo y adaptarlo a nuestras necesidades. Esto exige el acceso al código fuente.
  • Libertad de redistribución, de modo que se nos permita colaborar con vecinos y amigos.
  • Libertad para mejorar el programa y publicar las mejoras. También exige el código fuente.

El mecanismo que se utiliza para garantizarlas, de acuerdo con la legalidad vigente, es la distribución mediante una cierta licencia, como veremos más adelante (Capítulo 3). En ella el autor plasma su permiso para que el receptor del programa pueda ejercer esas libertades, y también restricciones que pueda querer aplicar (como dar crédito a los autores originales en caso de redistribución). Para que la licencia sea considerada como libre, estas restricciones no pueden ir en contra de las libertades mencionadas.

La ambigüedad de "free": El término original en inglés para programas libres es free software. Sin embargo, el término inglés free además de libre significa gratis, lo que genera gran confusión. Por ello a menudo en inglés se toman prestadas palabras españolas y se habla de libre software, en contraposición a gratis software, al igual que nosotros tomamos prestada la palabra software.

Así pues, las definiciones de software libre no hacen ninguna referencia a que pueda conseguirse gratuitamente: el software libre y el software gratuito son cosas bien distintas. Sin embargo, dicho esto, hay que explicar también que debido a la tercera libertad, cualquiera puede redistribuir un programa sin pedir contraprestación económica ni permiso, lo que hace prácticamente imposible obtener grandes ganancias simplemente por la distribución de software libre: cualquiera que lo haya obtenido puede a su vez redistribuirlo a precio más bajo, o incluso gratis.

Nota: A pesar de que cualquiera puede comercializar un programa dado a cualquier precio, y eso hace que teóricamente el precio de redistribución tienda hacia el coste marginal de copia, hay modelos de negocio basados precisamente en vender software, porque son muchas las circunstancias donde el consumidor está dispuesto a pagar si recibe ciertas contraprestaciones, como por ejemplo una cierta garantía, aunque sea subjetiva, sobre el software que recibe, o un valor añadido en forma de selección, actualización y organización de un conjunto de programas.

Desde un punto de vista práctico, hay varios textos que definen más precisamente qué condiciones tiene que cumplir una licencia para ser considerada como de software libre. Entre ellas, destacan por su importancia histórica la definición de software libre de la Free Software Foundation fsf:definition, las directrices de Debian para decidir si un programa es libre debian:freesftwareguidelines y la definición de la Open Source Initiative del término "open source" osi:definition, muy similar a las anteriores.

Nota: Por ejemplo, las directrices de Debian entran en el detalle de permitir que el autor exija que los fuentes distribuidos no sean modificados directamente, sino que los originales se acompañen de parches separados y que los programas binarios se generen con nombres distintos al original. Además exigen que las licencias no contaminen otros programas distribuidos en el mismo medio.


Términos relacionados

Equivalente a software libre es el término Open Source Software (programas de fuente abierto), promovido por Eric Raymond y la Open Source Initiative. Filosóficamente el término es muy distinto, ya que hace énfasis en la disponibilidad de código fuente, no en la libertad, pero su definición es prácticamente la misma que la de Debianosd:open-source-definition:98. Este nombre es más políticamente aséptico y recalca un aspecto técnico que puede dar lugar a ventajas técnicas, como mejores modelos de desarrollo y negocio, mayor seguridad, etc. Fuertemente criticado por Richard Stallmanfsf:freeforfreedom y la Free Software Foundationfsf, ha encontrado mucho más eco en la literatura comercial y en las estrategias de las empresas que de una manera u otra apoyan el modelo.

Otros términos relacionados de alguna manera con el software libre son:

  • Freeware. Programas gratuitos. Normalmente se distribuyen sólo en binario, y se pueden obtener sin coste. A veces se obtiene también permiso de redistribución, pero otras no, pudiendo obtenerse entonces sólo del sitio "oficial" mantenido a ese efecto. Es habitual que estos programas se usen para promocionar otros programas (típicamente con funcionalidad más completa) o servicios. Ejemplos de este tipo de programas son Skype, Google Earth o Microsoft Messenger.
  • Shareware. No es siquiera software gratis, sino un método de distribución, ya que los programas, generalmente sin fuentes, se pueden copiar libremente, pero no usar continuadamente sin pagarlos. La exigencia de pago puede estar incentivada por funcionalidad limitada o mensajes molestos, o una simple apelación a la moral del usuario, además de que las estipulaciones legales de la licencia podrían utilizarse en contra del infractor.
  • Charityware, Careware. Generalmente shareware, pero cuyo pago se exige para una organización caritativa patrocinada. En muchos casos, el pago no se exige, pero se solicita una contribución voluntaria. Algún software libre, como vim solicita contribuciones voluntarias de este tipo molenaar:charityware.
  • Dominio público. El autor renuncia absolutamente a todos sus derechos, en favor del común, lo cual tiene que estar declarado explícitamente en el programa, ya que si no se dice nada, el programa es propietario y no se puede hacer nada con él. En este caso, y si además se proporcionan los fuentes, el programa es libre.
  • Copyleft. Un caso particular de software libre cuya licencia obliga a que las modificaciones que se distribuyan sean también libres.
  • Privativo, propietario, Cerrado, No libre. Términos usados para denominar al software que no es libre ni de fuente abierta.

Sección siguiente >
Motivaciones