AD (728x60)

domingo, 7 de diciembre de 2014

Licencias de software - Categorías de software libre y software que no es libre

Share & Comment

Introducción

Si eres desarrollador probablemente te interese este post, la vida de un desarrollador se centra estar constantemente creando y manteniendo sistemas, algunos de los proyectos se hacen por la simple necesidad de aplicar los conocimientos, otras veces con un fin comercial, lo cierto es que el desarrollo es un arte que como toda actividad requiere de un sustento, además, ¿qué pasa si alguien decidiera usar nuestros proyectos con fines comerciales, siendo que esta no era la idea principal? y peor aun no se recibe el el reconocimiento del autor.

Para proteger nuestros trabajos en software existen categorías para su licenciamiento, donde el autor intelectual, ya sea personas física o moral (empresa o institución) otorgan los permisos que creen convenientes para sus obras intelectuales.

Sugerencia: Hay música en el desarrollo de software (El arte del desarrollo de software visto como una composición musical).

Como artesanos de software sabemos la complejidad que implica desarrollar aplicaciones, por lo cual se debe saber bajo que permisos distribuimos nuestras obras, de la misma forma respetar los derechos de software que utilizamos de otros autores.  A continuación se presentan las categorías de software libre y no libre según un artículo guiado por la filosofía de GNU, intentando definir cada una de tal forma que se evite confusión.

Definición de términos

Licencia

Es un contrato entre el desarrollador de un software sometido a propiedad intelectual y a derechos de autor y el usuario, en el cual se definen con precisión los derechos y deberes de ambas partes. 
Es el desarrollador, o aquél a quien éste haya cedido los derechos de explotación, quien elige la licencia según la cual distribuye el software.

Lista de licencias:
http://www.gnu.org/licenses/license-list.html
En la lista anterior se muestran las licencias más comunes para cada categoría de software que a continuación.

Patente

Es un conjunto de derechos exclusivos garantizados por un gobierno o autoridad al inventor de un nuevo producto (material o inmaterial) susceptible de ser explotado industrialmente para el bien del solicitante por un periodo de tiempo limitado.

La siguiente imagen representa las categorías de software, diseñado originalmente por Chao-Kuei y actualizado desde entonces por varias personas:


El diagrama se entenderá conforme se lean las definiciones de cada categoría, listadas a continuación.

Software Libre

Es aquel software que se proporciona con autorización para que cualquiera pueda usarlo, copiarlo y/o distribuirlo, ya sea con o sin modificaciones, gratuitamente o mediante pago. Al poderse modificar y utilizarse con fines comerciales significa que el código fuente debe estar disponible. 

«Si no es fuente, no es software»

Si un programa tiene este tipo de licencia, puede ser incluido en un sistema operativo libre como GNU o versiones libres del sistema operativo GNU/Linux.

Cabe mencionar que a pesar de establecer muchas libertades no necesariamente tiene que ser gratuito, hay software libre comercial de este tipo, siempre y cuando conserven su carácter libre (respetando las libertades).

Software de código abierto («Open Source»)

Existe cierta confusión entre lo que es software libre y software open source, son muy parecidos, la diferencia es que open source no significa que sea totalmente libre, existen restricciones que no lo hacen como tal libre.
La expresión siguiente expresa la diferencia entre los términos: 

 «software libre» se refiere a libertad, 
cosa que no sucede con la expresión «código abierto».

Casi todo el software libre es de código abierto, y casi todo el software de código abierto es libre. La diferencia con software libre radica en los beneficios cada uno considera importante, para open source se centra más en los beneficios prácticos (acceso al código fuente) que en cuestiones éticas o de libertad que tanto se destacan en el software libre.

Software con copyleft

Es el software libre cuyos términos de distribución garantizan que todas las copias de todas las versiones tengan aproximadamente los mismos términos de distribución, esto permite que terceros no agreguen requisitos adicionales al software y exigen que el código fuente esté disponible.

Algunas licencias de este tipo prohíben convertir el software en privativo. Casi todo el software con copyleft usa la Licencia Pública General de GNU (GNU General Public License). Regularmente dos licencias con copyleft diferentes son «incompatibles», lo cual significa que es ilegal combinar el código que está bajo un tipo de licencia con el código que está bajo otro tipo de licencia.

Software de Dominio Publico

Es aquel software que no tiene derechos de autor, se trata de un caso especial de software libre sin copyleft, esto significa que una distribución de software de este tipo puede no ser totalmente libre.
En algunos casos un ejecutable puede ser de dominio público pero no contar con el código fuente, para este caso no sería software libre porque se requiere accesibilidad al código fuente. Por otro lado el software libre no esta en dominio publico ya que cuenta con autores, mismos que han dado derechos bajo licencias de software libre.

Software Privativo

También llamado software propietario, un sinónimo para este término seria software no libre, debido a que no puede distribuirse y menos modificarse, por lo que no se cuenta con código fuente, por este software hay que pagar una licencia únicamente de uso.
La Free Software Foundation (FSF) sigue la regla de no usar este tipo de software, salvo que se utilice su versión de prueba para desarrollar una alternativa libre. Fue lo que paso al crear sistemas tipo UNIX de distribución libre, en un principio se tuvo que instalar para crear su remplazo en software libre.
La persona física o jurídica (empresa) al poseer los derechos de autor sobre un software, tiene la posibilidad de controlar y restringir los derechos del usuario sobre su programa.

Software privado

También llamado software personalizado es aquel que ha sido desarrollado para un usuario (generalmente una organización o una empresa). El usuario lo mantiene y utiliza, y no lo publica, ni como código fuente ni como binarios.
Un programa privado es software libre, en sentido trivial, si su único usuario tiene las cuatro libertades.

Software comercial

El software comercial es aquel desarrollado por una empresa como parte de su actividad comercial. Se puede confundir con software privativo, ya que la mayor parte del software comercial es privativo, aunque también hay software comercial que es libre y software privativo que no es comercial.
Por ejemplo, GNU Ada fue desarrollado por una empresa. Se distribuye siempre bajo los términos de la GNU GPL, y cada una de las copias es software libre, pero los desarrolladores venden servicios de soporte.
La idea del software libre y comercial es tener un proyecto sustentable, obteniendo algún tipo de remuneración económica que logre mantener gastos de desarrollo y mantenimiento.

Software Shareware

Se refiere al software que puede ser distribuido, pero para utilizar esa copia se necesita pagar una licencia.  Esta distribución cumple la función de ser evaluada de forma gratuita limitaciones en el tiempo de uso o en algunas de las formas de uso o con restricciones en las capacidades finales.

La limitaciones que presentan usualmente son: 
El programa es funcional sólo durante un período después la instalación.
Insertan una marca o firma en los archivos creados (es común en el software para editar imágenes y vídeo)
Restringen o bloquean el acceso a importantes funciones como guardar el documento actual o grabar.
El software shareware no es software libre, ni semilibre, por dos razones:
El código fuente no está disponible, por lo tanto no se pueden modificar.
No viene con permiso para hacer una copia e instalarlo sin pagar la licencia, ni siquiera para las personas que participan en actividades sin fines de lucro. 

Un ejemplo de Shareware puede ser un programa recuperador de archivos, el cual deja recuperar solo una parte de la información, mandando la alerta que si deseas recuperar toda tu información pagues una licencia. Por lo tanto te orillan a comprar el producto                       .

Software Semi-libre

Es una categoría de software en la que no se cuenta como software libre, pero tienen permisos de copia, modificación y redistribución (incluso de versiones modificadas) sin fines de lucro.
Un ejemplo de esta categoría es el software para proteger información mediante encriptación PGP (Pretty Good Privacy) .

Freeware

El término freeware no tiene una definición claramente aceptada, pero se usa generalmente para referirse a paquetes en los cuales se permite la redistribución pero no la modificación (y su código fuente no está disponible). A menudo se confunde son software libre pero no es lo mismo.

Conclusiones

Existen varias categorías para incluir licencias de software las cuales pueden o no relacionarse unas con otras, por ello, es importante entender los términos y condiciones de software. Dependiendo las libertades que se otorguen se disfruta de ventajas, como lo son las de software libre y open source, las cuales nos permiten a acceder al código fuente,  ya se a para estudiarlo, modificarlo o comercializarlo (esta característica depende de la licencia), esta es una gran ventaja ya que podemos adaptar el aplicaciones a nuestras necesidades, además de contar con código de los mejores programadores del mundo para estudiarlo. Que mejor escuela que estar con los mejores maestros, esta cultura del open source hace que el software mejore, inclusive estas mejoras ayudan al software propietario ya que el coste de desarrollo de muchas aplicaciones se elevarían a tal grado que una entidad no podría cubrir el coste de desarrollo.
El caso del desarrollo de Linux, uno de los mejores sistemas operativos, sin las características de libertad y la gran comunidad, este proyecto no hubiera sido posible. 

No todo el software puede ser Libre, pero tampoco todo el software puede ser Propietario, debido a la madurez que pueden tomar por un aporte constante de una comunidad.

Por si hiciera falta he aquí un mapa conceptual que intenta eliminar ambigüedad con términos:


Recomendado este artículo sobre términos que no se deben confundir:
http://www.gnu.org/philosophy/words-to-avoid.html

Utiliza, aporta y respeta el código de los demás, según los permisos de las obras...

Fuentes:


Tags: , , , , , , , , , , ,

Written by

Información sobre tecnología: -Programación multiplataforma(aplicaciones de escritorio, web y móviles) -Ingeniería de software -Redes -Telemática

0 comentarios:

Publicar un comentario

 
Copyright © Geek Star Blue | Designed by Templateism.com