Software libre, semilibre, propietario y tipos de licencias
Muchas veces tenemos ciertas dificultades en entender que significan algunos terminos asociados con el propio mundo en el que nos desarrollamos; hoy abarcare el tema de las licencias, los tipos de software, distribuciones y derechos.
:::: Aqui les va::::
Código abierto
Código abierto (open source en inglés) es el término por el que se le conoce a software distribuido y desarrollado en una determinada forma. Este término empezó a utilizarse en 1998 por usuarios de la comunidad del software libre, tratando de usarlo como reemplazo al ambiguo nombre original del software libre (free software).
En inglés, “free software” puede significar diferentes cosas. Por un lado, permite pensar en “software por el que no hay que pagar”, y se adapta al término de forma igualmente válida que el significado que se pretende (software que posee ciertas libertades).
Lamentablemente, el término no resultó apropiado como reemplazo para el ya tradicional free software, y en la actualidad es utilizado para definir un movimiento nuevo de software, diferente al movimiento del software libre, aunque no completamente incompatible con este, de modo que es posible (como de hecho ocurre) que ambos movimientos trabajen juntos en el desarrollo práctico de proyectos.
El significado obvio del término “código abierto” es “se puede mirar el código fuente”, lo cual es un criterio más débil y flexible que el del software libre; un programa de código abierto puede ser software libre, pero también puede serlo un programa semi-libre o incluso uno completamente propietario.
El software de código abierto (OSS por sus siglas en inglés) es software para el que su código fuente está disponible públicamente, aunque los términos de licenciamiento específicos varían respecto a lo que se puede hacer con ese código fuente.
Software Libre
(Redirigido desde Software libre)
Software Libre es el nombre por el que se le conoce a cierto tipo de software, y al movimiento que lo promueve, que se caracteriza por promover las siguientes libertades y obligaciones al usuario final y a los desarrolladores:
• Libertad de ser utilizado por cualquier persona para cualquier propósito.
• Libertad de ser copiado y distribuido libremente (se le puede pasar al vecino sin ningún problema).
En este punto hay una diferencia importante entre las licencias tipo BSD y tipo GPL.
o BSD: La libertad de distribución es total. Esto incluye cambiar la licencia, “cerrando” el código.
o GPL: La redistribución de versiones modificadas ha de hacerse bajo la misma la licencia. De este modo se impide que de programas licenciados bajo GPL puedan derivar en programas propietarios.
• Libertad de estudiarlo (para esto es indispensable contar con el código fuente)
• Libertad de modificarlo. Si se redistribuyen los cambios en el caso de GPL es obligatorio hacerlo bajo la misma licencia (por supuesto, el código fuente también es prerequisito de este enunciado). Si se modifica para uso interno y no se redistribuye, no es necesario publicar los cambios. En este punto también hay matices, por ejemplo entre la GPL y la LGPL:
o GPL: Cualquier código que utilice código GPL (a través del aporte de código, enlazamiento de librerías etc), debe ser necesariamente liberado bajo la GPL.
o LGPL: Se pueden enlazar dinámicamente librerías LGPL con programas con licencias distintas, incluso propietarios.
Mantenemos esta definición de software libre para mostrar claramente qué debe cumplir un programa de software concreto para que se le considere software libre.
El “Software Libre'’ es un asunto de libertad, no de precio. Para entender el concepto, debes pensar en “libre'’ como en “libertad de expresión'’, no como en “barra libre'’ [N. del T.: en inglés una misma palabra (free) significa tanto libre como gratis, lo que ha dado lugar a cierta confusión].
“Software Libre'’ se refiere a la libertad de los usuarios para ejecutar, copiar, distribuir, estudiar, cambiar y mejorar el software. De modo más preciso, se refiere a cuatro libertades de los usuarios del software:
• La libertad de usar el programa, con cualquier propósito (libertad 0).
• La libertad de estudiar cómo funciona el programa, y adaptarlo a tus necesidades (libertad 1). El acceso al código fuente es una condición previa para esto.
• La libertad de distribuir copias, con lo que puedes ayudar a tu vecino (libertad 2).
• La libertad de mejorar el programa y hacer públicas las mejoras a los demás, de modo que toda la comunidad se beneficie. (libertad 3). El acceso al código fuente es un requisito previo para esto.
Un programa es software libre si los usuarios tienen todas estas libertades. Así pues, deberías tener la libertad de distribuir copias, sea con o sin modificaciones, sea gratis o cobrando una cantidad por la distribución, a cualquiera y a cualquier lugar. El ser libre de hacer esto significa (entre otras cosas) que no tienes que pedir o pagar permisos.
También deberías tener la libertad de hacer modificaciones y utilizarlas de manera privada en tu trabajo u ocio, sin ni siquiera tener que anunciar que dichas modificaciones existen. Si publicas tus cambios, no tienes por qué avisar a nadie en particular, ni de ninguna manera en particular.
La libertad para usar un programa significa la libertad para cualquier persona u organización de usarlo en cualquier tipo de sistema informático, para cualquier clase de trabajo, y sin tener obligación de comunicárselo al desarrollador o a alguna otra entidad específica.
La libertad de distribuir copias debe incluir tanto las formas binarias o ejecutables del programa como su código fuente, sean versiones modificadas o sin modificar (distribuir programas de modo ejecutable es necesario para que los sistemas operativos libres sean fáciles de instalar). Está bien si no hay manera de producir un binario o ejecutable de un programa concreto (ya que algunos lenguajes no tienen esta capacidad), pero debes tener la libertad de distribuir estos formatos si encontraras o desarrollaras la manera de crearlos.
Para que las libertades de hacer modificaciones y de publicar versiones mejoradas tengan sentido, debes tener acceso al código fuente del programa. Por lo tanto, la posibilidad de acceder al código fuente es una condición necesaria para el software libre.
Para que estas libertades sean reales, deben ser irrevocables mientras no hagas nada incorrecto; si el desarrollador del software tiene el poder de revocar la licencia aunque no le hayas dado motivos, el software no es libre.
Son aceptables, sin embargo, ciertos tipos de reglas sobre la manera de distribuir software libre, mientras no entren en conflicto con las libertades centrales. Por ejemplo, copyleft [“izquierdo de copia'’] (expresado muy simplemente) es la regla que implica que, cuando se redistribuya el programa, no se pueden agregar restricciones para denegar a otras personas las libertades centrales. Esta regla no entra en conflicto con las libertades centrales, sino que más bien las protege.
Así pues, quizás hayas pagado para obtener copias de software GNU, o tal vez las hayas obtenido sin ningún coste. Pero independientemente de cómo hayas conseguido tus copias, siempre tienes la libertad de copiar y modificar el software, e incluso de vender copias.
“Software libre'’ no significa “no comercial'’. Un programa libre debe estar disponible para uso comercial, desarrollo comercial y distribución comercial. El desarrollo comercial del software libre ha dejado de ser inusual; el software comercial libre es muy importante.
Es aceptable que haya reglas acerca de cómo empaquetar una versión modificada, siempre que no bloqueen a consecuencia de ello tu libertad de publicar versiones modificadas. Reglas como “Si haces disponible el programa de esta manera, debes hacerlo disponible también de esta otra'’ pueden ser igualmente aceptables, bajo la misma condición. (Observa que una regla así todavía te deja decidir si publicar o no el programa). También es aceptable que la licencia requiera que, si has distribuido una version modificada y el desarrollador anterior te pide una copia de ella, debas enviársela.
En el proyecto GNU, utilizamos “copyleft'’ para proteger de modo legal estas libertades para todos. Pero el software libre sin “copyleft'’ también existe. Creemos que hay razones importantes por las que es mejor usar copyleft, pero si tus programas son software libre sin ser copyleft, los podemos utilizar de todos modos.
Visita la página Categorías de Software Libre (18.000 caracteres) para ver una descripción de las diferencias que hay entre el “software libre'’, “software con copyleft (`izquierdo’ de copia)'’ y otras categorías de software se relacionan unas con otras.
A veces las normas de control de exportación del gobierno y las sanciones mercantiles pueden restringir tu libertad de distribuir copias de los programas a nivel internacional. Los desarrolladores de software no tienen el poder de eliminar o sobrepasar estas restricciones, pero lo que pueden y deben hacer es rehusar el imponerlas como condiciones de uso del programa. De esta manera, las restricciones no afectarán a actividades y gente fuera de las jurisdicciones de estos gobiernos.
Cuando se habla de software libre, es mejor evitar términos como: “regalar'’ o “gratis'’, porque esos téminos implican que lo importante es el precio, y no la libertad. Algunos términos comunes tales como “piratería'’ conllevan opiniones que esperamos no apoyes. Visita la página Palabras y frases confusas que vale la pena evitar, donde encontrarás una discusión acerca de estos términos. También tenemos una lista de traducciones de “software libre'’ a varios idiomas.
Por último, fíjate en que los criterios establecidos en esta definición de software libre requieren pensarse cuidadosamente para interpretarlos. Para decidir si una licencia de software concreta es una licencia de software libre, lo juzgamos basándonos en estos criterios para determinar si tanto su espíritu como su letra en particular los cumplen. Si una licencia incluye restricciones contrarias a nuestra ética, la rechazamos, aun cuando no hubiéramos previsto el problema en estos criterios. A veces un requisito de una licencia plantea una situación que necesita de una reflexión minuciosa, e incluso conversaciones con un abogado, antes de que podamos decidir si la exigencia es aceptable. Cuando llegamos a una conclusión, a veces actualizamos estos criterios para que sea más fácil ver por qué ciertas licencias se pueden calificar o no como de software libre.
BSD (viene del inglés Berkeley System Distribution) es una especie del sistema operativo Unix, que deriva de las extensiones del sistema de AT&T creadas en la Universidad de California en Berleley.
GPL
GNU General Public License (Licencia Pública General).
Licencia creada por la Free Software Foundation y orientada principalmente a los términos de distribución, modificación y uso de software.
Su propósito es declarar que el software cubierto por esta licencia es Software Libre.
Existen varias licencias “hermanas” de la GPL, como la Licencia de Documentación Libre GNU que cubre los artículos de la wikipedia, la Open Audio License, para trabajos musicales… y otras más “ligeras”, como la LGPL (Lesser General Public License o Library General Public License), que permite el enlace dinámico del código libre a aplicaciones propietarias. Éste último tipo de licencia hace posible proyectos como OpenOffice.org/StarOffice de Sun Microsystems.
LGPL
(del preambulo de la LGPL)
Los contratos de licencia de la mayor parte del software están diseñados para quitarle su libertad de compartir y modificar dicho software. En contraste, la “GNU General Public License” pretende garantizar su libertad de compartir y modificar el software “libre”, esto es para asegurar que el software es libre para todos sus usuarios. Esta licencia pública general se aplica a la mayoría del software de la “FSF Free Software Foundation” (Fundación para el Software Libre) y a cualquier otro programa de software cuyos autores así lo establecen. Algunos otros programas de software de la Free Software Foundation están cubiertos por la “LGPL Lesser General Public License” (Licencia Pública General Menor), la cual puede aplicar a sus programas también.
Esta licencia aplica a cualquier programa o trabajo que contenga una nota puesta por el propietario de los derechos del trabajo estableciendo que su trabajo puede ser distribuido bajo los términos de esta “GPL General Public License”. El “Programa”, utilizado en lo subsecuente, se refiere a cualquier programa o trabajo original, y el “trabajo basado en el Programa” significa ya sea el Programa o cualquier trabajo derivado del mismo bajo la ley de derechos de autor: es decir, un trabajo que contenga el Programa o alguna porción de el, ya sea íntegra o con modificaciones y/o traducciones a otros idiomas. De aquí en adelante “traducción” estará incluida (pero no limitada a) en el término “modificación”, y la persona a la que se aplique esta licencia será llamado “usted”.
Otras actividades que no sean copia, distribución o modificación no están cubiertas en esta licencia y están fuera de su alcance. El acto de ejecutar el programa no está restringido, y la salida de información del programa está cubierta sólo si su contenido constituye un trabajo basado en el Programa (es independiente de si fue resultado de ejecutar el programa). Si esto es cierto o no depende de la función del programa.
Software libre
El software libre es software que viene con autorización para que cualquiera pueda usarlo, copiarlo y distribuirlo, ya sea literal o con modificaciones, gratis o mediante una gratificación. En particular, esto significa que el código fuente debe estar disponible. “Si no es fuente, no es software'’. Ésta es una definición simplificada; ver también la definición completa.
Si un programa es libre, entonces puede ser potencialmente incluido en un sistema operativo libre tal como GNU, o sistemas GNU/Linux libres.
Hay muchas maneras diferentes de hacer un programa libre. Algunas de las posibles variaciones son descritas abajo.
El software libre es frecuentemente más fiable que el software no libre.
Software de Fuente Abierta
El término software de “fuente abierta'’ es usado por algunas personas para dar a entender más o menos lo mismo que software libre. Nosotros preferimos el término “software libre'’ ; siga el vínculo anterior para ver las razones.
Software de dominio público
El software de dominio público es software que no está protegido con copyright. Es un caso especial de software libre no protegido con copyleft, que significa que algunas copias o versiones modificadas no pueden ser libres completamente.
Algunas veces la gente utiliza el término “dominio público'’ de una manera imprecisa para decir “libre'’ o “disponible gratis.'’ Sin embargo, “dominio público'’ es un término legal y significa de manera precisa “sin copyright'’. Por claridad, recomendamos el uso de “dominio público'’ para ese significado solamente y el uso de otros términos para transmitir los otros significados.
Software protegido con copyleft
El software protegido con copyleft es software libre cuyos términos de distribución no permiten a los redistribuidores agregar ninguna restricción adicional cuando éstos redistribuyen o modifican el software. Esto significa que cada copia del software, aun si ha sido modificado, debe ser software libre.
En el Proyecto GNU, protegemos mediante copyleft casi todo el software que escribimos, porque nuestro objetivo es dar a cada usuario las libertades que el término “software libre'’ implica. Ver protegido con copyleft para una mayor explicación sobre cómo funciona el copyleft y por qué lo usamos.
Copyleft es un concepto general; para proteger actualmente un programa con copyleft, necesita usar un conjunto específico de términos de distribución. Hay muchas maneras posibles de escribir términos copyleft de distribución.
Software libre no protegido con copyleft
El software libre no protegido con copyleft viene desde el autor con autorización para redistribuir y modificar así como para añadirle restricciones adicionales.
Si un programa es libre pero no protegido con copyleft, entonces algunas copias o versiones modificadas pueden no ser libres completamente. Una compañía de software puede compilar el programa, con o sin modificaciones, y distribuir el archivo ejecutable como un producto propietario de software.
El Sistema X Window ilustra esto. El Consorcio X libera X11 con términos de distribución que lo hacen software libre no protegido con copyleft. Si usted lo desea, puede obtener una copia que tenga esos términos de distribución y es libre. Sin embargo, hay versiones no libres también, y hay estaciones de trabajo populares y tarjetas gráficas para PC para las cuales versiones no libres son las únicas que funcionan. Si usted está usando este hardware, X11 no es software libre para usted.
Software abarcado por GPL
La GPL (General Public License/Licencia Pública General) de GNU (20k caracteres) es un conjunto específico de términos de distribución para proteger con copyleft a un programa. El Proyecto GNU la utiliza como los términos de distribución para la mayoría del software GNU.
El sistema GNU
El sistema GNU es un sistema operativo libre completo estilo Unix.
Un sistema operativo libre estilo Unix consiste en muchos programas. Hemos estado acumulando componentes para este sistema desde 1984; la primera liberación de prueba de un “sistema GNU completo'’ fue en 1996. Esperamos que dentro de un año más o menos este sistema estará lo suficientemente maduro para recomendarlo para usuarios ordinarios.
El sistema GNU incluye todo el software GNU, así como muchos otros paquetes tales como el Sistema X Window y TeX que no son software GNU.
Debido a que el propósito de GNU es ser libre, cada componente individual en el sistema GNU tiene que ser software libre. No todos tienen que estar protegidos con copyleft, sin embargo; cualquier tipo de software libre es legalmente apto de incluirse si ayuda a alcanzar metas técnicas. Podemos hacer uso de software libre no protegido con copyleft como el Sistema X Window.
Software GNU
Software GNU es software que es liberado bajo el auspicio del Proyecto GNU. La mayoría del software GNU está protegido con copyleft, pero no todos; sin embargo, todo el software GNU debe ser software libre.
Algo de software GNU es escrito por el personal de la Fundación para el Software Libre (Free Software Foundation), pero la mayoría del software GNU es aportada por voluntarios. Parte del software aportado está protegido con copyright por la Fundación para el Software Libre; otra parte está protegido con copyright por los aportadores que los escribieron.
Software semilibre
El software semilibre es software que no es libre, pero viene con autorización para particulares de usar, copiar, distribuir y modificar (incluyendo la distribución de versiones modificadas) sin fines de lucro. PGP es un ejemplo de un programa semilibre.
El software semilibre es mucho mejor que el software propietario, pero aún plantea problemas y no podemos usarlo en un sistema operativo libre.
Las restricciones del copyleft están diseñadas para proteger las libertades esenciales de todos los usuarios. Para nosotros, la única justificación para cualquier restricción substantiva acerca del uso de un programa es prevenir la adición de restricciones por parte de otras personas. Los programas semilibres tienen restricciones adicionales, motivados por fines puramente egoístas.
Es imposible incluir software semilibre en un sistema operativo libre. Esto obedece a que los términos de distribución para el sistema operativo libre como un todo es la conjunción de los términos de distribución de todos los programas en él. Agregando un programa semilibre al sistema haría al sistema como un todo sólo semilibre. Existen dos razones por las que no queremos que esto suceda:
• Creemos que el software libre debe ser para todos–incluyendo empresas, no solamente para escuelas o para quienes gusten de matar el tiempo. Queremos invitar a las empresas a usar el sistema GNU completo y por lo tanto no debemos incluir un programa semilibre en él.
• La distribución comercial de sistemas operativos libres, incluyendo sistemas GNU basados en Linux, es muy importante y los usuarios aprecian poder comprar distribuciones comerciales en CD-ROM.
Incluyendo un programa semilibre en un sistema operativo cortaría su distribución comercial en CD-ROM.
La misma Fundación para el Software Libre es no comercial y por lo tanto estaríamos habilitados legalmente para usar un programa semilibre “internamente'’. Pero no lo hacemos, porque esto minaría nuestros esfuerzos para obtener un programa que pudieramos incluir en GNU.
Si hay un trabajo que necesita hacerse con software, entonces mientras no tengamos un programa libre para hacer el trabajo, el sistema GNU tiene un hueco. Tenemos que decirle a los voluntarios, “Aún no tenemos un programa para hacer este trabajo en GNU, así que esperamos que ustedes escriban uno'’. Si nosotros mismos usamos un programa semilibre para hacer el trabajo, echaría abajo lo que decimos; alejaría el ímpetu (nuestro y de quienes pudieran escuchar nuestros puntos de vista) para escribir un reemplazo libre. Por lo tanto, no hacemos esto.
Software propietario
El software propietario es software que no es libre ni semilibre. Su uso, redistribución o modificación está prohibida, o requiere que usted solicite autorización o está tan restringida que no pueda hacerla libre de un modo efectivo.
La Fundación para el Software Libre sigue la regla de no instalar ningún programa propietario en nuestras computadoras excepto temporalmente para el propósito específico de escribir un reemplazo libre para ese programa. Con excepción de lo anterior, sentimos que no hay excusa posible para instalar un programa propietario.
Por ejemplo, nos sentimos justificados al instalar Unix en nuestras computadoras en los ’80s, porque lo estábamos usando para escribir un reemplazo libre para Unix. Actualmente, puesto que están disponibles sistemas operativos libres, la excusa ya no es aplicable; hemos eliminado todos nuestros sistemas operativos no libres y cualquier computadora nueva que instalamos debe ejecutar un sistema operativo completamente libre.
Nosotros no les insistimos a los usuarios de GNU o a los aportadores de GNU a que tengan que vivir bajo esta regla. Ésta es una regla que hicimos para nosotros. Pero esperamos que decidan seguirla también.
Freeware
El término “freeware'’ no tiene una definición clara aceptada, pero es usada comúnmente para paquetes que permiten la redistribución pero no la modificación (y su código fuente no está disponible). Estos paquetes no son software libre, por lo tanto por favor no use “freeware'’ para referirse al software libre.
Shareware
El shareware es software que viene con autorización para la gente de redistribuir copias, pero dice que quien continúe haciendo uso de una copia deberá pagar un cargo por licencia.
El shareware no es software libre, ni siquiera semilibre. Existen dos razones por las que no lo es:
• Para la mayoría del shareware, el código fuente no está disponible; de esta manera, usted no puede modificar el programa en absoluto.
• El shareware no viene con autorización para hacer una copia e instalarlo sin pagar una cantidad por licencia, ni aún para particulares involucrados en actividades sin ánimo de lucro. (En la práctica, la gente a menudo hace caso omiso a los términos de distribución y lo hace de todas formas, pero los términos no lo permiten.)
Software Comercial
El software comercial es software que está siendo desarrollado por una entidad que tiene la intención de hacer dinero del uso del software. “Comercial'’ y “propietario'’ ¡no son la misma cosa! La mayoría del software comercial es propietario , pero hay software libre comercial y hay software no libre no comercial.
Por ejemplo, Ada de GNU siempre es distribuida bajo los términos de la GPL de GNU y cada copia es software libre; pero los desarrolladores venden contratos de soporte. Cuando sus vendedores les hablan a los clientes potenciales, algunas veces el cliente dice “Nos sentiríamos más seguros con un compilador comercial.'’ Los vendedores responden, “Ada de GNU es un compilador comercial; sólo que es software libre.'’
Para el proyecto GNU, el énfasis está en otro orden: lo importante es que Ada de GNU es software libre; si es comercial no es una pregunta importante. Sin embargo, el desarrollo adicional de Ada de GNU que resulta del negocio que soporta es definitivamente beneficioso.
:::: Espero que les haya sido util este granito de arena ::::::