viernes, 13 de abril de 2018

Software libre y software de código abierto ¿Será lo mismo o no?


Saludos, como están. En esta entrada veremos si el software libre y el software de codigo abierto son la misma cosa o no, así que empecemos.

El código abierto (en inglés open source) es una forma de referirse al software que es distribuido y desarrollado libremente. Ahora bien ¿No es lo mismo expresado por el software libre? ¿Software de código abierto y software libre no vendrían siendo lo mismo? Ya que si el software libre permite el acceso al código fuente del programa y si se dice software de código abierto entonces el código fuente del programa debe ser también abierto o sea libre, por lo que sería redundante ambos tipos de software. Pues resulta que ambos tienen sus diferencias como veremos en las próximas líneas. 

Primero recordaremos que se considera software libre a todo programa que le da al usuario las siguientes libertades:
Libertad 0: La libertad para ejecutar el programa con cualquier propósito.
Libertad 1: La libertad para estudiar y modificar el programa.
Libertad 2: La libertad de distribuir copias del programa y ayudar con él a tu vecino.
Libertad 3: La libertad de mejorar el programa, y hacer públicas tus mejoras, de forma que se beneficie toda la comunidad.



Estas son las llamadas libertades del software libre, para las libertades 1 y 3 se debe tener acceso al código fuente del programa, mientras que las distribuciones de copias indicada en la libertad 2 se puede hacer ya sea de forma gratuita o vendiéndolas. El software libre es promocionado por la Free Software Foundation (FSF o en español Fundación para el Software Libre), organización creada en el añp 1985 por Richard Stallman.
Logotipo de la Free Software Foundation
Richard Stallman

Asimismo, se considera software de código abierto a todo programa que cumpla con los siguientes requisitos:
1.    Libre redistribución: el software debe poder ser regalado o vendido libremente.
2.    Código fuente: el código fuente debe estar incluido u obtenerse libremente.
3.    Trabajos derivados: la redistribución de modificaciones debe estar permitida.
4. Integridad del código fuente del autor: las licencias pueden requerir que las modificaciones sean redistribuidas sólo como parches.
5.    Sin discriminación de personas o grupos: nadie puede dejarse fuera.
6.  Sin discriminación de áreas de iniciativa: los usuarios comerciales no pueden ser excluidos.
7.    Distribución de la licencia: deben aplicarse los mismos derechos a todo el que reciba el programa.
8.    La licencia no debe ser específica de un producto: el programa no puede licenciarse solo como parte de una distribución mayor.
9.    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.
10. 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.

Estos son los también conocidos puntos o premisas del software de código abierto. El software de código abierto es promocionado por la Open Source Initiative (OSI o en español Iniciativa para el Código Abierto) organización creada en el año 1998 por  Bruce Perens y Eric S. Raymond.

Logotipo de la Open Source Imitiative
Bruce Perens
Erick S. Raymond
Recordemos también que el termino código abierto (open source en inglés) surgió para evitar la ambigüedad en la frase en ingles free software, el cual es igual para referirse para software libre como para software gratis cuando el software libre no necesariamente tiene que ser gratis, pues como dice la libertad 2 se tiene la libertad de distribuir copias ya sea regalándolas o vendiéndolas.

Ahora haremos una comparación entre las premisas o puntos del software de código abierto y las libertades del software libre en el siguiente cuadro:

Las 4 libertades del software libre
Las 10 premisas o puntos del software de código abierto
Libertad 0: La libertad para ejecutar el programa con cualquier propósito.
Libre redistribución: el software debe poder ser regalado o vendido libremente.
Libertad 1: La libertad para estudiar y modificar el programa (para lo cual es necesario poder acceder al código fuente).
Código fuente: el código fuente debe estar incluido u obtenerse libremente.
Libertad 2: La libertad de distribuir copias del programa y ayudar con él a tu vecino (esto puede hacerse de forma gratuita o no).
Trabajos derivados: la redistribución de modificaciones debe estar permitida.
Libertad 3: : La libertad de mejorar el programa, y hacer públicas tus mejoras, de forma que se beneficie toda la comunidad..
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.

Pues bien, vemos que tienen mucho parecido, por lo que muchos caerían en confusión y dirán que ambos conceptos son lo mismo, pero indaguemos más.


Las libertades del software libre van dirigidas al usuario de un programa. De acuerdo con los impulsores de esta idea, el usuario debe tener el derecho a usar un programa como mejor le parezca, así como estudiar su funcionamiento, modificarlo y copiarlo para distribuirlo luego, de eso se trata, es el usuario quien tiene esa potestad. La intención del software libre es promover la solidaridad social: compartir y cooperar.

En cambio, el objetivo del software de código abierto al momento de desarrollar dicha idea fue la de darle mayor importancia a los beneficios prácticos del compartir el código fuente, e interesar a las grandes empresas desarrolladoras de software y de tecnología. 
Esta es la gran diferencia entre software libre y software de código abierto, mientras que el primero se enfoca hacia la libertad del usuario mientras que en el otro sólo se tienen en cuenta conceptos relativos al propio software, es decir, solo le importa los beneficios prácticos de liberar el código fuente de algún programa sin tomar en cuenta al usuario, solo se enfoca en el producto, o sea el programa en si.

Podemos concluir que tanto en software libre como el software de código abierto a pesar que tienen en común la importancia de un código fuente libre, se diferencia en como ven al usuario.

Bueno dejemoslo hasta aquí. No olviden comentar y hasta la próxima


No hay comentarios.:

Publicar un comentario