![]()
Me gustaría dirigir el contenido expuesto en este libro a todos aquellos apasionados por la tecnología que sienten curiosidad por conocer cada aspecto de este increíble mundo y en especial, se los dedico a todos aquellos programadores o futuros programadores que desean emprender con sus proyectos de programación o darlos a conocer de manera independiente y tienen dudas o desconocen sobre el software libre y su importancia, espero con mucho anhelo que esta lectura les ayude a tener una mayor visión de qué es el software libre y les sirva de ayuda para que el día de mañana puedan distribuir código libre ya sea gratuito o no o mejoren código ya existente aportando su toque personal e ingenio. Espero esta lectura sea de su provecho.
Como desarrollador de software que desea en un futuro programar software exitosos usados por grandes masas de personas o incluso emprender con este, es de vital importancia conocer a profundidad los distintos términos sobre la distribución de software y licencias, además de conocer las leyes que las engloban, es aquí donde entra el software libre y las posibilidades que te ofrece.
El software libre dentro de sus muchas variedades y subramas, tiene como fin la reutilización de código ya existente de un programa por parte de la comunidad de usuarios para generar nuevo software a partir de este y así no depender al completo de las decisiones que quiera tomar una empresa sino que cada persona sea dueña del software que ha adquirido.
A continuación se desarrollará y profundizará en tópicos importantes referentes al software libre, se explicarán conceptos básicos y además se hará una resumen histórico de cómo surgió el software libre, quienes lo fundaron y se explicará los distintos tipos de licencias de software libre existentes.
El software libre hace referencia a todos aquellos programas informáticos, los cuales, los programadores y desarrolladores permiten y autorizan acceso de manera sencilla al código fuente original de dicho programa al usuario para que, si este lo desea, pueda modificar, copiar, revisar o personalizarlo de manera libre y legal. El termino software libre fue creado y concebido por el proyecto GNU y la Free Software Foundation.
Unos de los objetivos principales del proyecto que concibió el software libre era que otros programadores sean capaces de colaborar y aportar en el desarrollo de un software ya existente y perfeccionarlo de manera gratuita, por y para la comunidad. Esta idea era muy contraria a las ideas tradicionales de las empresas de software, ya que estas siempre suelen ser muy cerradas y celosas con el código de sus productos y no desean que sea de dominio público.
Logos oficial de la Free Software Foundation
Es importante realizar un inciso y aclarar las diferencias entre software libre y el software gratuito, el software libre solamente contempla el software con libre acceso al código fuente y no necesariamente al coste de este, el software libre puede ser tanto gratuito como de pago.
Link hacia las descripciones de la Free Software Foundation: https://www.fsf.org/es/about
El proyecto GNU es un proyecto que tuvo origen en el año de 1984 a manos de Richard Stallman, el fundador de Free Software Foundation. El proyecto GNU tiene como fin la creación y desarrollo de un sistema operativo basado completamente en libre, además de también respetar y proteger la privacidad de los usuarios. Para el año 1985 Stallman desde Free Software Foundation comenzó a poner ejecutar los procesos tanto administrativos como legales para difundir, dar a conocer y concientizar el uso del software libre ante las masas. Los proyectos GNU están compuestos por pequeños proyectos por partes de empresas y usuarios voluntarios.
El proyecto GNU fue anunciado en septiembre de 1983 en el campus del Instituto de Tecnología de Massachusetts por parte de Richard Stallman, esto con esperanzas de que el instituto participase y donase recuerdos económicos, personal y además componentes de PC para la ejecución del proyecto GNU.
Stallman busca la libertad en el software libre con 3 motivos destacados, los cuales eran:
Libertad para aprender cómo funciona un programa y modificar un programa según las necesidades del usuario
Libertad para redistribuir software
Libertad para mejorar un programa y compartir esas mejoras
En resumen, las ideas y filosofía de Richard Stallman apuntaban a que a que todos los usuarios puedan participar de manera libre en el desarrollo continuo de un software ya existente y por ende, hacer con este código lo que ellos deseen de manera individual y así, no depender de las decisiones de empresas corporativas, todo gracias a la creación de licencia GLP (GNE
General Public License).Las licencias de software son acuerdos que establecen la protección y prevención de violación leyes de derecho de autor en programas informáticos y además, establecen términos de derechos y obligaciones al implementar el uso de programas. Las licencias de software buscan garantizar a una empresa el correcto funcionamiento de un producto. Existen distintas licencias bastante importantes a resaltar, entre ellas se encuentran las siguientes:
Copyleft es una licencia de creación de software para la liberación legal de programas informático (aunque también es usado en obras de arte o documentos varios) para la posterior modificación y redistribución del mismo, con o sin ánimo de lucro. El término fue creado por el famoso programador Richard Stallman, ya mencionado anteriormente por sus aportaciones. Las licencias copyleft deben de ser autorizadas por el autor original de la obra para que puedas ser usadas y modificadas por una gran cantidad de usuario y se trata de uno de los tipos de licencias libres más famosos. Como dato extra, su nombre proviene de un ingenioso juego de palabras, ya que "copy" se trata de una contraposición del término "copyright" (derechos de autor) y además, left además de hacer referencia a izquierda en inglés también significa "dejado" por lo que su traducción se acercaría a algo como "copia dejada".
Una licencia GPL (Licencia Pública General) tiene como objetivo 2 finalidades, la primera es hacer hincapié en que un software cubierto es libre y además, protegerlo de usuarios que deseen apropiarse de un software libre al modificarlo o distribuirlo.
La licencia GPL permite que el usuario o empresa que haya modificado y distribuido el software pueda hacerlo tanto de manera gratuita, como de pago, siempre y cuando respetando la propiedad del código fuente original del programa hacia su autor.
Las licencias LGPL (Licencia Pública General Reducida) a diferencia de la licencia GPL, es una licencia bastante menos estricta que, se caracteriza y diferencia principalmente porque esta no requiere de compartir y ceder el acceso a todo el código fuente del programa sino que solo a partes específicas de este, o dicho de manera más explícita, acceso a las librerías del programa, librerías que pueden usarse para otros proyectos futuros que pueden o no ser completamente distintos al programa original, esto con el fin de reciclar recursos de trozos de código ya existentes y funcionales en otros programas. Las librerías usualmente patentadas bajo esta licencia usualmente son las que su extensión termina en ".dll", ".so" y ".jar".
Logos oficiales de las licencias GPL y LGPL
Según la Free Software Foundation, para que un software sea considerado libre, debe de cumplicar cada una de las 4 libertades fundamentales del software libre, las cuales son:
1) Libertad para usar el programa con cualquier propósito.
2) Libertad para estudiar cómo funciona el programa y adaptarlo a sus necesidades.
3) Libertad para distribuir copias.
4) Libertad para mejorar el programa y distribuir las mejoras.
OPEN SOURCE
También llamado software de código abierto, es cualquier software cuyo código fuente está disponible para que cualquier público pueda realizar modificaciones.
Se considera a un software de dominio público cuando este no posee ningún tipo de derechos de autor o copyright y por ello es un caso especial de software libre sin copyleft, es importante recalcar que, algunas copias o versiones del software que no sean de parte de su autor original pueden no ser de código libre.
Es un tipo de software que gracias a que se rige de las condiciones de una licencia copyleft, garantiza que todas las copias del software posean las mismas condiciones de distribución y así terceros no pueda, modificarlas y asegurar que siempre sea software libre.
SOFTWARE PRIVATIVO
El software privativo es uno de los software no libres más comunes y engloga a todo software cuyo código fuente no se encuentra disponible al público y está controlado 100% por una entidad, normalmente una empresa. Al no existir acceso legal por parte de los usuarios al código no puede ser modificado.
El software privado es todo aquel software propietario de una empresa u organización el cual si bien se le permite al usuario utilizarlo y se le da una licencia para su uso, no puede modificarlo ni redistribuirlo de ninguna manera.
TIPOS DE SOFTWARE NO LIBREEs importante aclarar que muchas personas confunden el software no libre con el software comercial, cuando esto es errado y ambos pueden coexistir, puede existir software libre de pago como puede existir software no libre gratuito, para que un software se le considere no libre debe de incumplir con una o más de las 4 libertades fundamentales del software libre.
Link hacia las filosofías de los distintos tipos de software a mayor profundidad según gnu.org, patrocinado por Free Software Foundation: https://www.gnu.org/philosophy/categories.es.html
SISTEMA GNU
Los sistemas operativos GNU son aquellos sistemas operativos que se caracterizan por ser de código abierto y usualmente gratuitos. Los sistemas GNU son famosos porque, como todo software libre GNU son muy flexibles al momento de personalizar para crear una experiencia de usuario que se adecue a cualquier necesidad y gusto, además pueden compilarse dichas modificaciones y distribuirse con nuevas funcionalidades.
El software GNU es el software que forma parte del proyecto GNU y contiene todos y cada uno de los principios e ideas fundamentales del software libre antes mencionados, como dato adicional, el proyecto GNU ha desarrollado y proporcionado ciertas herramientas a lo largo de los años para faciliar el desarrollo del mismo, como por ejemplo: GCC (compiladores de lenguajes de programación), Emacs (un editor de texto extensible) o GBD (una herramienta de depuración para analizar y depurar programas).
Se trata de una licencia de software que permite la autorización de uso y modificación de un software y además la distribución del mismo pero sin fines de lucro.
SOFTWARE GNU
SOFTWARE
Por otro lado, existen también el software shareware que se trata de una función limitada del software, ya sea con límite de tiempo, usos, funciones limitadas solamente dejando al usuario con funcionalidad o herramientas básicas. A este tipo de software también se le conoce como versiones o prueba o demos que tienen la función principal de dar al usuario una probada del software para inducirlo a que pague por el software completo.
Canva y Spotify son ejemplos famosos de shareware, ya que permiten hacer uso del software de manera gratuita pero limitada, en el caso de Canva existen diversas herramientas útiles solo desbloqueables al comprar la versión pro y spotify permite disfrutar de su música de manera gratuita pero con anunciones y no permite seleccionar canciones específicas de un álbum a menos que se pague.
El software freeware se caracteriza principalmente por distribuirse al público de manera gratuita pero no permite de ninguna manera el acceso al código fuente para modificación, este software se suele distribuir en internet. 13
El software comercial es aquel software que como su nombre no indica, tiene como fin la comercialización, es decir, tiene como objetivo generar dinero como cualquier otro producto. El software comercial se destaca por las siguientes razones:
No permite que se modifique el código fuente Se debe pagar para hacer uso de este a través de una licencia, además dicha licencia de usuario
El usuario no tiene permitido la distribución del software ya que la licencia solo autoriza el uso, no la distribución.
Suelen ofrecer un nivel de experiencia de usuario y estabilidad de buena calidad
Poseen respaldo y mantenimiento por parte de la empresa desarrolladora.
La OSI u Open Source Initiative es una organización sin fines de lucro que se dedica a la promoción y difunción del software de código abierto, fue fundada en 1998 por Bruce Perens y Eric Raymod, siendo Eric su presidente hasta el año 2005.
Bruce Perends y Eric Raymond inspiraron su proyecto luego de ver el lanzamiento del código fuente de Netscape Communications, evento que provocó que quisiesen formar una organización que promueva y coordine el desarrollo de software de código abierto. OSI contrasta bastante con la Free Software Foundation ya que la OSI vela y priorirza el negocio y generación de ingresos a través de programas informáticos mientras que la FSF es una fundación que vela más por su filosofía y moral, aún así, esto no impide que ambas asociaciones hayan trabajado en diversos proyectos a lo largo de los años. Open Source Initiative se dedica constantemente a la publicación y promoción de código abierto ya que anhelan que más personas en el mundo desarrollen código de esto tipo, además OSI proporciona programas de certificación de código abierto que solo tienen como requisito que el software se distribuya con una licencia que garantize el derecho legal de leer, usar, modificar y redistribuir dicho software, o en otras palabras, que cumpla con las libertades fundamentales del software libre.
(S/A). (S/F). ¿Qué es el software libre? Característica y ventajas. Recuperado de: https://protecciondatoslopd.com/empresas/software-libre/ (S/A). 2023. Software Libre. Recuperado de: https://concepto.de/software-libre/ (S/A). (S/F). ¿Qué es el software libre? Recuperado de: https://fsfe.org/freesoftware/gnuproject.es.html
(S/A). 2023. ¿Qué es el proyecto GNU? - definición de techopedia. Recuperado de: https://es.theastrologypage.com/gnu-project
Safe Creative Team. 2022. ¿Qué es el copyleft y ejemplos? Recuperado de: https://www.safecreative.org/blog/es/2022/09/27/copyleft/
Antonio Aguilera. (2023). ¿Qué es GNU GPL? | Software gratuito y abierto. Recuperado de: https://tecno-simple.com/que-es-gnugpl/ (S/A). (S/F). Categorías de software libre y software que no es libre. Recuperado de: https://www.gnu.org/philosophy/categories.es.html
Graciela Marker. (S/F). El sistema operativo GNU/Linux. Recuperado de: https://www.tecnologia-informatica.com/elsistema-operativo-gnu-linux/
Pérez Porto, J., Gardey, A. (2017). Freeware - Qué es, definición, origen y ejemplos. Recuperado de: https://definicion.de/freeware/