Software libre no es igual a código abierto

Una consulta más o menos frecuente entre aquellos que hacemos uso de tecnologías libres (y también entre los visitantes de El Mundo es Open Source) está relacionada con las diferencias entre los términos “software libre” (free software) y “código abierto” (open source), y las implicancias reales que origina el hecho que determinado producto ostente una determinada licencia. Este artículo busca brindar un primer acercamiento a las diferencias entre software libre y código abierto.

Open Source vs. Free Software (image from OSCON Images, Day 4)

Open Source vs. Free Software (image from OSCON Images, Day 4)

Software libre

La definición de software libre fue plasmada por Richard Stallman en la primera mitad de la década de 1980, tiempo después que se establecieran las primeras licencias restrictivas. En su definición contempla que todo usuario de un sistema informático debería gozar de las siguientes cuatro libertades:

  • Usar el programa, con cualquier propósito.
  • Estudiar cómo funciona el programa, y adaptarlo a sus necesidades.
  • Distribuir copias, con lo que puede ayudar a otras personas.
  • Mejorar el programa y hacer públicas las mejoras a los demás, de modo que toda la comunidad se beneficie.

La Free Software Foundation, entidad promotora del desarrollo y uso del software libre, mantiene un registro de licencias compatibles con la licencia GNU General Public License (la más popular de las licencias de software libre) y aquellas que, no siendo compatibles con ella, son consideradas licencias de software libre.

Código abierto

La definición de término Open Source Software (software de código abierto) es posterior a la de software libre (fines de la década de 1990). Surge a partir de una necesidad práctica: la libre disponibilidad e intercambio del código fuente. Para ello, utiliza las diez premisas descritas en la Open Source Definition:

  • Libre redistribución, el software debe poder ser regalado o vendido libremente.
  • Código fuente, el código fuente debe estar incluido u obtenerse libremente.
  • Trabajos derivados, la redistribución de modificaciones debe estar permitida.
  • Integridad del código fuente del autor, las licencias pueden requerir que las modificaciones sean redistribuidas sólo como parches.
  • Sin discriminación de personas o grupos, nadie puede dejarse fuera.
  • Sin discriminación de áreas de iniciativa, los usuarios comerciales no pueden ser excluidos.
  • Distribución de la licencia, deben aplicarse los mismos derechos a todo el que reciba el programa
  • La licencia no debe ser específica de un producto, el programa no puede licenciarse solo como parte de una distribución mayor.
  • La licencia no debe restringir otro software, la licencia no puede obligar a que algún otro software que sea distribuido con el software abierto deba también ser de código abierto.
  • La licencia debe ser tecnológicamente neutral, no debe requerirse la aceptación de la licencia por medio de un acceso por clic de ratón o de otra forma específica del medio de soporte del software.

El término “open source” es acuñado debido a que los primeros promotores de este modelo de distribución de software libre querían resaltar la importancia de compartir código sin que se asocie con el término “free” (que en inglés significa no sólo libre, sino también gratis), de manera que resultara de interés a las organizaciones empresariales.

Ejemplos de licencias

El ejemplo más notorio de una licencia de software libre es la GNU General Public License (GPL), la cual es utilizada de forma masiva en diversos productos de software libre en sus versiones 2 y 3. Además de las cuatro libertades del software libre incorpora una claúsula de “efecto viral”, por la cual es posible integrar varios productos de software sólo si todos utilizan la licencia GPL. Adicionalmente, la licencia no precisa que la entrega del software sea gratuita o que éste siempre esté disponible en un sitio web en Internet, por lo que puede utilizarse en software comercializable y que sólo se entregue en medios físicos, por ejemplo CDs.

La licencia GPL no es la única licencia de software libre. Otras licencias derivadas de la GPL son la LGPL (GNU Lesser General Public License) y la AGPL (Affero GNU Public License). La primera hace posible que el software bajo esta licencia pueda enlazar librerías privativas (a diferencia de la GPL, que sólo puede enlazarse con software que tiene licencia GPL). La segunda está dirigida al campo del software ofrecido como servicio (SaaS: Software as a Service), y su principal implicancia práctica está en el hecho de que, si un tercero utiliza el software para brindar un servicio a varios usuarios y realiza modificaciones al código original, está en la obligación de publicar dicho código fuente.

Del lado de las licencias de código abierto que claramente no son licencias de software libre compatibles con los principios de software libre de la GPL se puede mencionar a la Common Public Attribution License Version 1.0 (CPAL), utilizada por Facebook (la red social en Internet de mayor crecimiento en los últimos años) para liberar su código fuente. Esta permite el uso y la modificación del código siempre y cuando se haga referencia al creador original del software, por tanto no podría ser utilizada por algún competidor.

A manera de conclusión

Aunque es frecuente encontrar que los términos “software libre” y “código abierto” son intercambiados fácilmente entre sí, no significa que ambos términos sean equivalentes. Una regla práctica que permitiría determinar si un producto es de uno u otro tipo es: Si tiene una licencia de software libre es muy probable que éste producto también pueda considerarse de código abierto, pero no a la inversa.

Fuentes

El mundo es Open Source
Herramientas Open Source de apoyo a la Ingeniería de Software

GNU España
GNU GENERAL PUBLIC LICENSE (GPL)

Wikipedia, la enciclopedia libre
Software libre: Comparación con el software de código abierto

Wikipedia, la enciclopedia libre
Código abierto: Por qué se llama Open Source

Recursos adicionales

Relación de licencias de código abierto y software libre

Free Software Foundation
Free Software licenses, Copyleft licenses, compatible with the GNU GPL license

Open Source Initiative
Open Source Licenses by name or by category

Actualización

Una explicación mucho más detallada de este tema la puede encontrar en:
http://usemoslinux.blogspot.com/2010/04/diferencias-entre-el-software-libre-y.html

Anuncios

Etiquetas:

5 responses to “Software libre no es igual a código abierto”

  1. David says :

    http://en.wikipedia.org/wiki/Common_Public_Attribution_License dice que si es software libre en wikipedia.
    De hecho, no consigo ninguna que diga que no es de software libre.
    Podrías desarrollar un poco mas en ese punto?
    Saludos.
    http://es.wikipedia.org/wiki/Categor%C3%ADa:Licencias_de_c%C3%B3digo_abierto
    A esto es que me refería con que no consigo ninguna que diga que no es software libre

    • Juan Eladio Sánchez Rosas says :

      Hola David: Tienes razón: la CPAL sí es considerada una licencia de software libre. Debe haber sido un error mío. La comparación correcta es “Del lado de las licencias de código abierto que claramente no son licencias compatibles con la GPL se puede mencionar a la CPAL”.
      Gracias por la observación. Saludos.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: