GENBETA
MIÉRCOLES, 7 DE SEPTIEMBRE DE 2016 15:10 GMT
En el mundo de la tecnología hay errores comunes con términos que no
siempre conseguimos diferenciar adecuadamente. Por ejemplo, aunque todos
entendemos bastante bien la diferencia entre el software privativo y el
no privativo, no siempre pasa lo mismo a la hora de separar los conceptos
de software libre y el de código abierto.
En primer lugar, el software libre no es sinónimo de gratuito, aunque en
inglés la palabra free pueda significar ambas cosas. Por otro lado, aunque es
siempre de código abierto u Open Source, no todo el software de código
abierto es libre. Aunque para entenderlo lo mejor será ver qué es cada cosa
y ver después cuales son las diferencias más significativas.
Y es que, tal y como defiende el propio Richard Stallman, "el
movimiento por el software libre y el movimiento por el código abierto son
como dos frentes políticos entre la comunidad de software libre".
Ambos persiguen un objetivo común de dar mayor libertad y transparencia al
mundo del software, pero difieren bastante en sus maneras de llevarlo a cabo.
El Software Libre se define por su ética
El Software Libre no sólo son aquellos programas cuyo código está abierto
al público para que cualquiera pueda mejorarlo. Representa todos aquellos
que respetan las libertades esenciales del usuario definidas por la Free
Software Foundation, fundación creada en 1985 por Richard Stallman para
defender las libertades en el mundo tecnológico.
Estas son las cuatro libertades esenciales de los usuarios tal y como las
define la FSF:
- La
libertad de ejecutar el programa como se desea, con cualquier
propósito (libertad 0).
- La
libertad de estudiar cómo funciona el programa, y cambiarlo
para que haga lo que usted quiera (libertad 1). El acceso al código fuente
es una condición necesaria para ello.
- La
libertad de redistribuir copias para ayudar a su prójimo
(libertad 2).
- La
libertad de distribuir copias de sus versiones modificadas a
terceros (libertad 3). Esto le permite ofrecer a toda la comunidad la
oportunidad de beneficiarse de las modificaciones. El acceso al código
fuente es una condición necesaria para ello.
Las cuatro libertades, según explica la fundación, tienen que ser
aplicadas en todo el código de un programa. De esta manera, si creamos
un software a partir de otro, tenemos que asegurarnos de que tanto la base
sobre la que estamos trabajando como las líneas que nosotros hemos añadido al
proyecto respeten estas libertades. Vamos, que el software producido a partir
de software libre debería ser libre también.
El software comercial también puede ser considerado libre
Esto no quiere decir que no pueda ser comercial. Las libertades
2 y 3 para distribuir copias a terceros con o sin modificaciones permiten que
se haga de forma gratuita o cobrando una tarifa por la distribución. Mientras
el programa respete las cuatro libertades esenciales, seguirá considerándose
libre se cobre o no por él.
Por lo tanto, si vamos a vender software libre debemos tener en cuenta que
tenemos que permitir y no combatir que cualquier usuario pueda
modificarlo a su antojo, tanto si es para mejorarlo y adaptarlo a su uso
personal como si quiere difundirlo o incluso cobrar por su distribución. Es por
lo tanto una filosofía opuesta de la que siguen las grandes corporaciones con
su software privativo, que ni tiene el código abierto ni se suele permitir que
se difundan copias modificadas.
Para evitar problemas en el uso comercial, la Free Software Foundation
acepta reglas eventuales sobre cómo empaquetar versiones modificadas.
Es aceptable, por ejemplo, utilizar licencias que obliguen a que el software
libre modificado tenga que utilizar otro nombre, eliminar un logotipo, o
identificar las modificaciones que son suyas. El límite está en que las
licencias no sean tan agobiantes que dificulten la publicación de las
modificaciones.
Por lo tanto, podemos decir que la definición del Software Libre no está
tanto en la manera en la que se distribuye como en la ética a la hora
de distribuirlo. Es una manera de pensar, y aunque algunos puntos puedan
parecer bastante radicales, con ella se está intentando que el software no
dependa de empresas y que cualquiera pueda acceder a él independientemente de
sus recursos.
El 3 de febrero de 1998, varios integrantes de la comunidad de Software
Libre decidieron ir por su cuenta y crearon la Open Source Initiative (OSI). La
decisión se tomó justo después del lanzamiento de Netscape, viendo en él una
oportunidad para educar a los usuarios y empresas sobre los beneficios
prácticos para los proyectos que deciden liberan su código.
Así como la ética del Software Libre se define en cuatro puntos, la Open
Source Iniciative tiene diez requisitos a cumplir por
parte de un proyecto o las licencias bajo las que se publica para que pueda ser
definido como de código abierto:
- Libre
redistribución: La
licencia del software no debe impedir que este sea regalado o vendido
libremente como parte de una distribución mayor que contenga programas de
diferentes fuentes. Tampoco debe exigir un pago por hacerlo.
- Código
fuente: A la
hora de publicar un programa tiene que incluirse su código fuente íntegro
o permitir acceder libremente a él.
- Trabajos
derivados: Las
licencias deben permitir modificaciones y trabajos derivados, y debe
permitir que estos se distribuyan bajo los mismos términos que el software
original.
- Integridad
del código fuente del autor: Se puede impedir la distribución de
modificaciones únicamente si se permite la distribución de tales como
parches. También se puede requerir que trabajos derivados cambien de
nombre o número de versión.
- Sin
discriminación de personas o grupos: No se puede discriminar a ninguna persona o
grupo a la hora de acceder a un programa o su código.
- Sin
discriminación de áreas de iniciativa: Tampoco le se puede restringir su acceso a
ninguna iniciativa. Las empresas o grupos de investigación tienen tanto
derecho como el resto a utilizar el software.
- Distribución
de la licencia: Los
derechos asociados en las licencias de los programas deben aplicarse a
todos a los que lo redistribuyan sin necesidad de pedir una licencia
adicional.
- La
licencia no debe ser específica de un producto: Un programa no puede
licenciarse únicamente como parte de un software mayor. Podrá ser extraído
y utilizado libremente y con todos los derechos en otras soluciones.
- La
licencia no debe restringir otro software: El hecho de que un proyecto
sea de código abierto no puede obligar a que los programas en los que se
incluye sean también de código abierto.
- La
licencia debe ser tecnológicamente neutral: Ninguna disposición de la
licencia puede basarse en la tecnología o un estilo de interfaz, con lo
que, por ejemplo, no se debe requerir su aceptación mediante gestos
explícitos como clicks de ratón.
Como veis, los puntos son bastante menos ideológicas y más pragmáticos. No
se centran tanto en el hecho que los programas derivados mantengan las
características, sino en fomentar la apertura del código que
utilizan los programas para que todos puedan colaborar y beneficiarse. Esta
flexibilidad les ha permitido ganarse socios de renombre como Facebook,
Google, la Linux Foundation o Mozilla.
Por lo tanto, en vez de un manifiesto ético lo que tenemos son puntos
prácticos con los que regular una actividad y poner orden previendo cualquier
caso o conflicto que se pueda dar. Pero tampoco deja de lado las
libertades, ya que en varios de sus puntos exigen que no se discrimine a
nadie a la hora de poder acceder al código.
También es importante recalcar que no todos los programas que
liberan su código fuente son de código abierto, ya que este código puede
estar siendo liberado bajo unas licencias restrictivas que contradigan los
principios en los que se basa el proyecto Open Source.
¿Cuales son las principales diferencias?
Estamos ante dos maneras de afrontar un objetivo similar, por lo que las
diferencias no son demasiadas. La principal es que el código abierto es menos
estricto que el software libre, por lo que en la práctica todo software libre
se puede calificar como código abierto, aunque no todo el software de
código abierto tiene por qué ser libre. Por ejemplo, algunas licencias de
Open Source son demasiado restrictivas como para considerarse libres.
Además, hay algún punto de la iniciativa Open Source totalmente opuesto a
la de Free Software. El más llamativo es el noveno, en el que en el código
abierto no se requiere que los productos derivados sean también
abiertos. EN cambio, en el software libre el programa resultante tiene que
respetar también sus cuatro principios.
Pongamos por ejemplo a Chromium. Es de código abierto, todos pueden acceder
a él y son muchos los navegadores que lo utilizan como base. Pero mientras
esto no impide que Google pueda crear su Chrome privativo partiendo
de él, en el software libre sería otro cantar. Lo mismo pasa con Android, está
hecho a partir de un código fuente libre como el Kernel Linux, pero algunos de
sus componentes y aplicaciones no son libres.
Otra pequeña diferencia nos la encontramos a la hora de proteger a los
autores originales. La FSF recula con una excepción que permite que los autores
puedan pedir que un producto basado en el suyo sea renombrado para evitar
confusiones. Mientras, la OSI va un poco más allá permitiendo que se
pueda impedir la distribución de algunos subproductos, aunque siempre
a cambio de que puedan ser publicados como parches o añadidos para el original.
Pero más allá de eso
las diferencias tampoco son demasiadas. A ojos de Stallman, con el software libre se le quiere dar sentido a la
libertad que implica el término, mientras que utilizar código abierto no
implica que haya siempre libertad, sino disponibilidad a la hora de acceder al
código. Aún así, el propio Stallman admite que aunque no están de acuerdo en
los principios básicos, sí que lo están en las recomendaciones
prácticas y en el colaborar en contra del software privativo.
No hay comentarios:
Publicar un comentario