¿Qué es la licencia de software libre?

Software Libre vs. Código Abierto: Desvelando la Libertad

06/09/2022

Valoración: 4.31 (16722 votos)

En el vasto universo digital en el que vivimos, los términos 'software libre' y 'software de código abierto' se utilizan a menudo de forma indistinta, generando una confusión considerable. Sin embargo, aunque comparten muchas similitudes y a menudo se superponen, sus filosofías y enfoques son fundamentalmente distintos. Comprender estas diferencias no es solo un ejercicio académico, sino una clave para apreciar las implicaciones y las bondades que cada paradigma ofrece a usuarios, desarrolladores y a la sociedad en general.

¿Cuál es la diferencia entre software libre y software de código abierto?
Sin embargo, las diferencias entre lo que abarcan ambas categorías son pocas: casi todo el software libre es de código abierto, y casi todo el software de código abierto es libre.” Oficialmente el software que no se encuentra protegido por derechos de autor, se le considera Software de dominio público.

La raíz de gran parte de esta confusión reside en la polisemia de la palabra 'free' en inglés, que puede significar tanto 'libre' (como en libertad) como 'gratis' (como en coste cero). Para el movimiento del software libre, el énfasis siempre ha sido en la libertad, no en el precio. Este artículo busca desentrañar estas nociones, explorar las categorías de software y ofrecer una visión clara de lo que realmente significa la libertad en el ámbito del software.

Índice de Contenido

Software Libre: La Filosofía de la Libertad

El concepto de software libre, impulsado principalmente por la Free Software Foundation (FSF) y el Proyecto GNU, se fundamenta en la ética y la libertad de los usuarios. No se trata de si el software cuesta dinero o no, sino de si el usuario tiene control sobre él. La definición de software libre se articula a través de las “cuatro libertades esenciales” que todo usuario debe poseer:

  1. Libertad 0: La libertad de ejecutar el programa sea cual sea el propósito. Esto significa que cualquier persona u organización puede usar el software en cualquier sistema informático, para cualquier tipo de trabajo o propósito, sin necesidad de notificar al desarrollador o a alguna entidad específica. No hay restricciones sobre cómo o dónde se utiliza el programa.
  2. Libertad 1: La libertad para estudiar cómo funciona el programa y modificarlo para que haga lo que usted quiera. Esta libertad es crucial y solo es posible si se tiene acceso al código fuente del programa. Sin el código fuente, la modificación se vuelve prácticamente imposible, y por lo tanto, esta libertad es fundamental. Permite a los usuarios adaptar el software a sus necesidades específicas, corregir errores o añadir nuevas funcionalidades.
  3. Libertad 2: La libertad de redistribuir copias para ayudar a su prójimo. Los usuarios tienen la libertad de distribuir copias del software, ya sea de forma gratuita o a cambio de un precio. Esta libertad garantiza que el software pueda ser compartido ampliamente, fomentando la colaboración y el acceso universal.
  4. Libertad 3: La libertad de distribuir copias de sus versiones modificadas a terceros. Esto permite a la comunidad beneficiarse de las mejoras o adaptaciones que un usuario individual o una empresa haya realizado. Al igual que la Libertad 1, esta requiere acceso al código fuente. Si se distribuyen versiones modificadas, se debe hacer bajo los mismos términos de libertad.

En síntesis, el software libre es aquel en el que los usuarios gozan de estas cuatro libertades fundamentales. Esto implica que pueden redistribuir copias (con o sin modificaciones) de forma gratuita o vendiéndolas, y que el programa puede ser utilizado por cualquier individuo u organización, para cualquier fin, sin restricciones ni notificaciones obligatorias. La disponibilidad del código fuente es el pilar central que sustenta estas libertades, ya que sin él, las libertades de estudio y modificación serían puramente teóricas.

Richard Stallman, una figura clave en el movimiento del software libre, enfatiza que la libertad de redistribuir copias debe incluir tanto las formas binarias (ejecutables) como el código fuente, tanto para versiones originales como modificadas. Esto es vital para la fácil instalación y el desarrollo continuo de sistemas operativos libres.

Software Privativo: La Antítesis de la Libertad

En contraste directo, el software privativo (también conocido como software propietario o de código cerrado) se caracteriza precisamente por la ausencia de estas libertades. Su principal característica es que el acceso al código fuente está restringido solo a quienes poseen los derechos o licencias específicas. Si un usuario desea realizar una mejora o una modificación, debe solicitarla al desarrollador original y esperar que este decida implementarla y distribuirla. Esto crea una dependencia del usuario respecto al proveedor, limitando su control y autonomía sobre el software que utiliza.

Software de Código Abierto: La Metodología Pragmática

La frase 'código abierto' (Open Source) fue acuñada a finales de los años 90 como un término más comercial y menos 'ideológico' que 'software libre'. Aunque comparten casi el mismo cuerpo de software, la filosofía detrás del movimiento de código abierto es diferente. Mientras que el software libre se centra en las libertades éticas del usuario, el código abierto se enfoca en los beneficios prácticos y metodológicos del modelo de desarrollo colaborativo y la disponibilidad del código fuente.

El sitio oficial de GNU señala que, si bien casi todo el software libre es de código abierto y casi todo el software de código abierto es libre, existen sutiles diferencias. El movimiento de código abierto puede aceptar licencias que la FSF considera demasiado restrictivas (como la 'tivoización', donde el software es libre pero el hardware impide la ejecución de versiones modificadas), y también hay licencias de software libre que no han sido aceptadas por la Open Source Initiative (OSI). La principal distinción radica en la motivación: el software libre es una cuestión de derechos y ética; el código abierto es una cuestión de modelo de desarrollo y eficiencia.

Comparativa Clave: Software Libre vs. Código Abierto

Para comprender mejor la relación y las diferencias entre estos dos conceptos, la siguiente tabla comparativa es de gran utilidad:

CaracterísticaSoftware LibreSoftware de Código Abierto (Open Source)
Enfoque PrincipalLibertad del usuario, ética y derechos.Beneficios prácticos, modelo de desarrollo, eficiencia.
FilosofíaAsegurar que los usuarios tengan control sobre el software.Promover la colaboración, la transparencia y la calidad del código.
Acceso al Código FuenteIndispensable para las libertades.Indispensable, es la base del modelo.
Libertad de UsoTotal (cualquier propósito).Total.
Libertad de ModificaciónTotal, con acceso al código fuente.Total, con acceso al código fuente.
Libertad de RedistribuciónTotal (gratuita o pagada).Total (gratuita o pagada).
Libertad de Distribuir ModificacionesTotal, bajo los mismos términos de libertad.Total, pero las licencias pueden variar ligeramente.
Relación con el PrecioNo implica que sea gratis; es sobre la libertad.No implica que sea gratis; es sobre la disponibilidad del código.
Ejemplo de LicenciaGNU GPL (General Public License).Licencias BSD, MIT, Apache.
Ejemplos de SoftwareGNU/Linux, GIMP, LibreOffice.Linux (kernel), Firefox, Android (AOSP).

Mientras que el software libre se preocupa por la filosofía de que el software debe ser una herramienta para la libertad del usuario, el movimiento de código abierto adopta un enfoque más pragmático, argumentando que la disponibilidad del código fuente y la colaboración abierta conducen a un software de mejor calidad, más seguro y más innovador. Aunque sus motivaciones difieren, en la práctica, la mayoría del software que cumple con una definición también cumple con la otra.

Categorías Adicionales en el Ecosistema del Software

Más allá de la distinción principal, existen otras categorías de software que es importante conocer para entender el panorama completo:

Software de Dominio Público

El software de dominio público es aquel que no está protegido por derechos de autor. Esto significa que cualquiera puede usarlo, copiarlo, modificarlo y distribuirlo sin restricciones legales. Sin embargo, la Free Software Foundation no lo considera automáticamente software libre. ¿Por qué? Porque para ser software libre, el código fuente debe estar disponible, y un programa puede ser de dominio público sin que su código fuente lo sea. Además, al no estar protegido por copyleft, pueden surgir versiones no libres de un programa de dominio público si alguien le agrega restricciones.

Software con Copyleft

El copyleft es un método para hacer que un programa sea software libre y para requerir que todas las versiones modificadas y extendidas del programa también sean software libre. Las licencias copyleft, como la GNU General Public License (GPL), garantizan que todas las copias y modificaciones mantengan las mismas libertades originales. Impide que el software libre sea convertido en software privativo, protegiendo así la libertad de los usuarios a perpetuidad. Es una forma de 'derecho de autor a la inversa', que utiliza las leyes de copyright para asegurar la libertad, no para restringirla.

Software Libre sin Copyleft

Esta categoría incluye software libre que permite que se distribuyan y/o modifiquen versiones con restricciones o requisitos adicionales. Un ejemplo clásico es el sistema X Window, que fue publicado bajo términos permisivos (licencia X11). Esto significa que, aunque la versión original es libre, es posible que existan versiones modificadas o compiladas que no lo sean, ya que una empresa podría tomar el código, añadirle restricciones y distribuirlo como software privativo. Ofrece más flexibilidad pero menos garantía de que las libertades se mantendrán en todas las versiones derivadas.

Software Semilibre

El software semilibre es una categoría intermedia que, aunque no permite el acceso al código fuente como el software libre, sí permite su uso, copia, distribución y/o modificación, pero exclusivamente para propósitos no lucrativos. Esta limitación en el propósito de uso lo excluye de ser considerado software completamente libre por la FSF.

Freeware

El término 'freeware' es muy común, especialmente en sitios de descarga de internet, y suele referirse a software que se puede distribuir gratuitamente, pero no se puede modificar (y su código fuente no está disponible). A pesar de su nombre que incluye 'free', no es software libre porque carece de la libertad de modificación y acceso al código fuente. Es simplemente software 'gratis' en cuanto a precio.

¿Cuál es la diferencia entre software libre y software de código abierto?
Sin embargo, las diferencias entre lo que abarcan ambas categorías son pocas: casi todo el software libre es de código abierto, y casi todo el software de código abierto es libre.” Oficialmente el software que no se encuentra protegido por derechos de autor, se le considera Software de dominio público.

Shareware

El 'shareware' es software que se permite redistribuir copias, pero el usuario debe pagar una licencia si desea seguir utilizándolo después de un período de prueba. Al igual que el freeware, el código fuente no suele estar disponible, lo que impide su modificación. Por lo tanto, no es software libre ni semilibre, ya que restringe tanto la modificación como el uso continuado sin pago.

Software Privado (o a Medida)

Este tipo de software es desarrollado para un usuario o una organización específica (por ejemplo, una empresa). El software es utilizado internamente y no se libera al público, ni como código fuente ni como binario. Un programa privado puede ser 'libre' en un sentido trivial si su único usuario tiene las cuatro libertades sobre él. No hay conflicto entre el desarrollo de software privado y los principios del movimiento del software libre, siempre y cuando el usuario final tenga control total sobre el código.

Software Comercial

Es crucial entender que 'comercial' no es sinónimo de 'privativo'. El software comercial es aquel desarrollado con la finalidad de obtener dinero de su utilización, ya sea a través de ventas, licencias o servicios de soporte. Si bien la mayoría del software comercial es privativo, existe una cantidad significativa de software libre que también es comercial. Por ejemplo, muchas empresas venden servicios de soporte, personalización o distribución para software libre (como distribuciones de GNU/Linux o bases de datos libres). La clave es que el software libre comercial sigue ofreciendo las cuatro libertades a sus usuarios, mientras que el software privativo comercial no lo hace.

Licencias de Software Libre: El Corazón Legal

Las licencias de software libre son los documentos legales que otorgan a los usuarios las cuatro libertades. Son esenciales porque, sin ellas, el software estaría por defecto bajo las leyes de copyright, que suelen restringir la copia, modificación y redistribución. Existen muchas licencias de software libre, cada una con sus matices, pero todas garantizan las libertades fundamentales.

La Licencia Pública General de GNU (GNU GPL) es la licencia copyleft más conocida y utilizada. Asegura que cualquier software basado en código GPL también debe ser distribuido bajo la GPL, propagando así la libertad. Otras licencias, como las licencias BSD o MIT (conocidas como licencias permisivas o laxas), son también licencias de software libre pero sin copyleft, lo que permite que el código sea incorporado en software privativo.

Preguntas Frecuentes sobre Software Libre y de Código Abierto

¿El software libre es siempre gratis?

No. El software libre se refiere a la libertad, no al precio. Puedes obtener software libre de forma gratuita (por ejemplo, descargándolo de internet), pero también puedes pagar por él, especialmente si viene con servicios de soporte, documentación o medios físicos. La libertad de redistribuir copias incluye la opción de hacerlo a cambio de un precio.

¿Puedo vender software libre?

Sí, absolutamente. La Libertad 2 (redistribuir copias) explícitamente permite vender copias del software, ya sean originales o modificadas. Lo que no puedes hacer es vender el software y luego restringir las libertades de tus clientes sobre esas copias. Tus clientes, al recibir el software, también obtienen las cuatro libertades.

¿Qué es la "tivoización" y por qué es relevante?

La "tivoización" es un término que describe una situación en la que el software es técnicamente libre (su código fuente está disponible y tiene una licencia libre), pero el hardware en el que se ejecuta está diseñado para impedir que los usuarios ejecuten versiones modificadas del software. Esto se logra a menudo mediante firmas criptográficas que el hardware verifica antes de permitir la ejecución. Aunque el software es libre en teoría, en la práctica, el usuario pierde la libertad de ejecutar sus versiones modificadas. Este es un punto de fricción importante entre la filosofía del software libre (que busca la libertad práctica) y el movimiento de código abierto (que se centra más en la disponibilidad del código).

¿Por qué es tan importante el acceso al código fuente?

El acceso al código fuente es la base de las libertades 1 y 3 (modificar y distribuir versiones modificadas). Sin él, los usuarios no pueden entender cómo funciona el programa, adaptarlo a sus necesidades, corregir errores o verificar su seguridad. Es lo que permite la transparencia, la auditoría y la evolución colaborativa del software.

¿Cuál debería usar mi empresa/yo?

La elección entre software libre, código abierto o privativo depende de tus necesidades y prioridades. Si la libertad, el control, la transparencia, la seguridad y la capacidad de adaptar el software son cruciales, el software libre es la opción ideal. Si priorizas la colaboración, la innovación rápida y la disponibilidad de un gran ecosistema de herramientas, el código abierto es excelente. Para casos muy específicos donde un software privativo cumple una función única y no hay alternativa, o si se requiere un soporte muy específico de un proveedor, podría ser una opción, pero siempre a costa de la libertad y el control.

Conclusión

La distinción entre software libre y software de código abierto va más allá de una mera cuestión semántica; representa dos enfoques distintos hacia la tecnología y el control que los usuarios tienen sobre ella. El software libre, con su profunda filosofía de libertad, busca empoderar al usuario, mientras que el código abierto enfatiza los beneficios prácticos de un modelo de desarrollo colaborativo y transparente. Al final, ambos movimientos han contribuido inmensamente a la innovación y al avance tecnológico, ofreciendo alternativas poderosas al modelo de software privativo. Entender estas diferencias es el primer paso para tomar decisiones informadas sobre el software que utilizamos y para apoyar un futuro digital más abierto y libre.

Si quieres conocer otros artículos parecidos a Software Libre vs. Código Abierto: Desvelando la Libertad puedes visitar la categoría Librerías.

Subir