REPÚBLICA BOLIVARIANA DE VENEZUELA
MINISTERIO DE EDUCACIÓN SUPERIOR
INSTITUTO UNIVERSITARIO DE TECNOLOGÍA DE MARACAIBO
DEPARTAMENTO DE INFORMÁTICA
MARACAIBO ESTADO ZULIA

Software libre para una sociedad
libre
Integrantes:
Karina Nachef CI: 14.668.400
Elias El Hayek CI: 18.743.723
Seccion: 3401
Profesor: Billy Portillo.
Maracaibo 13/03/2012
Software libre para una sociedad
libre
El software libre es una cuestión de libertad: la gente
debería de ser libre de usar el software de todas las formas consideradas
socialmente útiles." Así suele sentenciar Richard Stallman, destacando que
la programación y el software son asuntos que competen a la libertad y a la
comunidad. Software libre para una sociedad libre es una colección de ensayos
en los que, precisamente, se proponen y se analizan esos asuntos sociales y
políticos que habitualmente quedan al margen del ámbito de la producción
técnica. A través de la definición de software libre, como aquel que es público
y abierto, que puede ser modificado y utilizado libremente, y que puede ser
copiado y distribuido de la forma que se desee, se descubre una iniciativa
colectiva que, a través de la cooperación voluntaria de sus creadores, es capaz
de producir sofisticadas herramientas informáticas al servicio de la comunidad.
De este modo, el acceso a la "cocina" del software libre se presenta
como el acceso a una perspectiva que no comprende la tecnología en términos
reductivos o binarios. Las cuestiones jurídicas, la propiedad y las licencias
del software, las formas cooperativas de desarrollo de los programas, son
elementos insoslayables en esta cuestión y este libro es un alegato (muy bien
justificado) en defensa de la continuidad del software libre, amenazado hoy por
las normativas que pretenden la patentabilidad de los métodos de programación.
La
Definición de Software Libre
La
definición de software libre estipula los criterios que se tienen que cumplir
para que un programa sea considerado libre. De vez en cuando modificamos esta
definición para clarificarla o para resolver problemas sobre cuestiones
delicadas. Software libre significa que el software respeta la libertad de los
usuarios y la comunidad. En términos generales, los usuarios tienen la
libertad de copiar, distribuir, estudiar, modificar y mejorar el software.
Con estas libertades, los usuarios (tanto individualmente como en forma colectiva)
controlan el programa y lo que hace.
Cuando
los usuarios no controlan el programa, el programa controla a los usuarios. El
programador controla el programa y, a través del programa, controla a los
usuarios. Un programa que no es libre, llamado «privativo», es por lo tanto un
instrumento de poder injusto.
Por
tanto, el «software libre» es una cuestión de libertad, no de precio. Para
entender el concepto, piense en «libre» como en «libre expresión», no como en
«barra libre».
Un
programa es software libre si los usuarios tienen las cuatro libertades
esenciales:
- La libertad de ejecutar el
programa para 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.
Un
programa es software libre si los usuarios tienen todas esas libertades. Por
tanto, usted debe ser libre de redistribuir copias, tanto con cómo sin
modificaciones, ya sea gratuitamente o cobrando una tarifa por la distribución,
a
cualquiera en cualquier parte.
El ser libre de hacer estas cosas significa, entre otras cosas, que no tiene
que pedir ni pagar el permiso.
También
debe tener la libertad de hacer modificaciones y usarlas en privado para su
propio trabajo o pasatiempo, sin siquiera mencionar que existen. Si publica sus
cambios, no debe estar obligado a notificarlo a nadie en particular, ni de
ninguna manera en particular.
La
libertad de ejecutar el programa significa que cualquier tipo de persona u
organización es libre de usarlo en cualquier tipo de sistema de computación,
para cualquier tipo de trabajo y finalidad, sin que exista obligación alguna de
comunicarlo al programador ni a ninguna otra entidad específica. En esta
libertad, lo que importa es el propósito de los usuarios, no el de los programadores.
Usted como usuario es libre de ejecutar el programa para alcanzar sus
propósitos, y si lo distribuye a otra persona, también esa persona será libre
de ejecutarlo para lo que necesite; usted no tiene derecho a imponerle sus
propios objetivos.
La
libertad de redistribuir copias debe incluir las formas binarias o ejecutables
del programa, así como el código fuente, tanto para las versiones modificadas
como para las no lo estén. (Distribuir programas en forma de ejecutables es
necesario para que los sistemas operativos libres se puedan instalar
fácilmente). Resulta aceptable si no existe un modo de producir una formato
binario o ejecutable para un programa específico, dado que algunos lenguajes no
incorporan esa característica, pero debe tener la libertad de redistribuir
dichos formatos si encontrara o programara una forma de hacerlo.
Para
que la libertad 1 y 3 de realizar cambios y publicar las versiones modificadas
tengan sentido, usted debe tener acceso al código fuente del programa. Por
consiguiente, el acceso al código fuente es una condición necesaria para el
software libre. El «código fuente» ofuscado no es código fuente real, y no
cuenta como código fuente.
La
libertad 1 incluye la libertad de usar su versión modificada en lugar de la
original. Si el programa se entrega con un producto diseñado para ejecutar
versiones modificadas de terceros, pero rechaza ejecutar las suyas, una
práctica conocida como «tivoización» [«tivoization»] o «arranque seguro»
[«lockdown»] (en la terminología perversa de los que la practican); la
libertad 1 se convierte más en una ficción teórica que en una libertad
práctica. Esto no es suficiente. En otras palabras, estos binarios no son
software libre, incluso si se compilaron desde un código fuente que es libre.
Una
manera importante de modificar el programa es agregándole subrutinas y módulos
libres ya disponibles. Si la licencia del programa específica que no se pueden
añadir módulos que ya existen y que están bajo una licencia apropiada, por
ejemplo si requiere que usted sea el titular de los derechos de autor del
código que desea añadir, entonces se trata de una licencia demasiado
restrictiva como para considerarla libre.
La
libertad 3 incluye la libertad de publicar sus versiones modificadas como
software libre. Una licencia libre también puede permitir otras formas de
publicarlas; en otras palabras, no tiene que ser una licencia de copyleft. No obstante, una licencia que requiera que las versiones
modificadas no sean libres, no se puede considerar libre.
Para
que estas libertades sean reales, deben ser permanentes e irrevocables siempre
que usted no cometa ningún error; si el programador del software tiene el poder
de revocar la licencia, o de añadir restricciones a las condiciones de uso en
forma retroactiva, sin que haya habido ninguna acción de parte del usuario que
lo justifique, el software no es libre.
Sin
embargo, ciertos tipos de reglas sobre la manera de distribuir software libre
son aceptables, cuando no entran en conflicto con las libertades principales.
Por ejemplo, el copyleft (definido muy resumidamente) es la regla en base a la
cual, cuando redistribuye el programa, no puede agregar restricciones para
denegar a los demás las libertades principales. Esta regla no entra en
conflicto con las libertades principales, más bien las protege.
«Software
libre» no significa que «no es comercial». Un programa libre debe estar
disponible para el uso comercial, la programación comercial y la distribución
comercial. La programación comercial de software libre ya no es inusual; tal
software libre comercial es muy importante. Puede haber pagado dinero para obtener
copias de software libre, o puede haber obtenido copias sin costo. Pero sin
tener en cuenta cómo obtuvo sus copias, siempre tiene la libertad de copiar y
modificar el software, incluso de vender copias.
Si
una modificación constituye o no una mejora, es un asunto subjetivo. Si su
derecho a modificar un programa se limita, básicamente, a modificaciones que
alguna otra persona considera una mejora, el programa no es libre.
No
obstante, eventuales reglas sobre cómo empaquetar una versión modificada son
aceptables si no limitan substancialmente su libertad para publicar versiones
modificadas, o su libertad para hacer y usar versiones modificadas en privado.
Así, es aceptable que una licencia le obligue a cambiar el nombre de la versión
modificada, eliminar el logotipo o identificar sus modificaciones como suyas.
Son aceptables siempre y cuando esas obligaciones no sean tan agobiantes que le
dificulten la publicación de sus modificaciones. Como ya está realizando otras
modificaciones al programa, no le supondrá un problema hacer algunas más.
Un
problema particular se presenta cuando la licencia requiere que a un programa
se le cambie el nombre con el cual será invocado por otros programas. De hecho
este requisito dificulta la publicación de la versión modificada para
reemplazar al original cuando sea invocado por esos otros programas. Este tipo
de requisitos es aceptable únicamente cuando exista un instrumento adecuado
para la asignación de alias que permita especificar el nombre del programa
original como un alias de la versión modificada.
Las
normas del tipo «si pone a disposición su versión de este modo, también debe
hacerlo de este otro modo» también pueden ser, bajo la misma condición,
admisibles. Un ejemplo de una norma admisible sería alguna que requiera que, si
usted ha distribuido una versión modificada y uno de los programadores
anteriores le solicita una copia, usted deba enviársela (tenga en cuenta que
tal norma le sigue permitiendo optar por distribuir o no distribuir su
versión). Las normas que obligan a suministrar el código fuente a los usuarios
de las versiones publicadas también son admisibles.
En
el proyecto GNU, usamos copyleft para proteger legalmente estas libertades para todos. Pero
también existe software
libre sin copyleft. Creemos que existen
razones importantes por las que es mejor usar
copyleft, pero si su programa es software libre
sin copyleft, sigue siendo ético de todos modos. (Véase en categorías del software
libre una descripción de la relación que
existe entre «software libre», «software con copyleft» y otros tipos de
software libre).
En
algunos casos las regulaciones de control de exportación y las sanciones
comerciales pueden limitar sus libertades de distribuir copias de programas a
nivel internacional. Los desarrolladores de software no tienen el poder de
eliminar o pasar por alto estas restricciones, pero lo que pueden y deben hacer
es rechazar imponerlas como condiciones para el uso del programa. De este modo,
las restricciones no afectarán las actividades ni a las personas fuera de las
jurisdicciones de dichos gobiernos. Por tanto, las licencias de software libre
no deben requerir la obediencia a ninguna regulación de exportaciones como
condición de cualquiera de las libertades esenciales.
La
mayoría de las licencias de software libre están basadas en el copyright, y
existen límites en los tipos de requisitos que se pueden imponer a través del
copyright. Si una licencia basada en el copyright respeta la libertad en las
formas antes mencionadas, es poco probable que surja otro tipo de problema que
no hayamos anticipado (a pesar de que esto ocurre ocasionalmente). Sin embargo,
algunas licencias de software libre están basadas en contratos, y los contratos
pueden imponer un rango mucho más grande de restricciones. Esto significa que
existen muchas maneras posibles de que tal licencia sea inaceptablemente
restrictiva y que no sea libre.
Nos
resulta imposible enumerar todas las formas en las que eso puede pasar. Si una
licencia basada en un contrato restringe al usuario de un modo que no se puede
hacer con las licencias basadas en el copyright, y que no está mencionado aquí
como legítimo, tendremos que analizar el caso, y probablemente concluyamos que
no es libre.
Cuando
se habla de software libre, es mejor evitar usar términos como «regalar» o
«gratuito», porque dichos términos implican que el asunto es el precio, no la
libertad. Algunos términos comunes como «piratería» implican opiniones con las
que esperamos no concuerde. Véase un análisis sobre el uso de esos términos en
nuestro artículo palabras
y frases confusas que vale la pena evitar.
Por
último, tenga en cuenta que para interpretar criterios tales como los que se
establecen en esta definición de software libre, se hace necesario un cuidadoso
análisis. Para decidir si una licencia de software específica es una licencia
de software libre, la evaluamos en base a estos criterios para determinar si
concuerda tanto con el espíritu de los mismos como con la terminología precisa.
Si una licencia incluye restricciones inaceptables, la rechazamos, aun cuando
no hubiéramos anticipado el problema en estos criterios. Algunas veces, los
requisitos de una licencia revelan una cuestión que hace necesaria una
reflexión más profunda, incluyendo la discusión con un abogado, antes de que
podamos decidir si el requisito es aceptable. Cuando llegamos a una conclusión
sobre una nueva cuestión, solemos actualizar estos criterios para que resulte
más fácil ver por qué una cierta licencia puede o no ser calificada como libre.
Si
está interesado en saber si una licencia específica está calificada como
licencia de software libre, consulte nuestra lista de licencias. Si la licencia que busca no está en la lista, puede
consultarnos enviándonos un correo electrónico a <licensing@gnu.org>.
Si
está considerando escribir una nueva licencia, por favor contacte a la FSF
escribiendo a esa dirección. La proliferación de distintas licencias de
software libre significa mayor esfuerzo por parte de los usuarios para
entenderlas; podemos ayudarle a encontrar una licencia de software libre que ya
exista y que satisfaga sus necesidades.
Si
eso no fuera posible, si realmente necesita una nueva licencia, con nuestra
ayuda puede asegurarse que la licencia sea realmente una licencia de software
libre y evitar varios problemas en la práctica.
Más allá del software
Los manuales de
software deben ser libres por las mismas
razones que el software debe ser libre, y porque de hecho los manuales son
parte del software.
También
tiene sentido aplicar los mismos argumentos a otros tipos de obras de uso
práctico; es decir, obras que incorporen conocimiento útil, tal como
publicaciones educativas y de referencia. La Wikipedia es el ejemplo más conocido.
Cualquier
tipo de obra puede ser libre, y la definición de software libre se ha
extendido a una definición de obras
culturales libres aplicable a
cualquier tipo de publicación.
¿Código abierto?
Otro
grupo ha comenzado a usar el término «código abierto» (del inglés «open
source») que significa algo parecido (pero no idéntico) a «software libre».
Preferimos el término «software libre» porque una vez que ya se sabe que se
refiere a la libertad y no al precio, evoca la idea de libertad. La palabra
«abierto» nunca
se refiere a la libertad.