¿Qué es el software libre?
Intentaremos avanzar en varias cuestiones anteriores a tener en vistas para poder abarcar nuestro tema principal. Arranquemos desde la base del tema, ¿de qué hablamos cuando mencionamos la palabra software?
¿Qué es software?
El software, en una definición menos técnica y más amigable, es un conjunto de componentes lógicos de un sistema informático. Este compendio lógico interactúa necesariamente con los componentes físicos (hardware) para realizar un grupo de tareas. Tanto el hardware como el software dependen de estar en conjunto para poder funcionar correctamente. El software se encuentra en las diferentes aplicaciones que utilizamos a diario. No existe una dependencia en cuanto a que la aplicación la utilicemos en nuestra computadora, ya que con el avance de la tecnología es corriente encontrarse con aplicaciones corriendo en diferentes dispositivos. Por ejemplo, muchas aplicaciones se usan desde un teléfono celular, una notebook, un smart-tv y la lista es mucho más extensa. Cualquiera de esas aplicaciones son ejemplo de software.
¿Qué es el software libre?
El software libre es aquel que respeta las libertades de los usuarios con respecto al software que utiliza, entre estas libertades podemos contar con la libertad de copiar, distribuir, estudiar, modificar y mejorar el software. Cuando estamos ante la presencia de un software, que por diferentes circunstancias no tiene en cuenta estas libertades, podemos decir que no se trata de software libre.
Las libertades que promueve el software libre no limitan el accionar sobre la comercialización del mismo. Una libertad no cohesiona a la otra. Una aplicación es libre al cumplir con las cuatro libertades, pero eso no quita la opción de que dicho software libre no pueda ser comercial. Mucho software libre es comercial y aun así coexisten respetando las normas y libertades del software libre.
Sobre libertades
Todo software para poder encajar en la definición de ser software libre tiene que regirse bajo la norma de las siguientes libertades.
Libertad 0
Ejecutar un programa como se desee, bajo cualquier propósito.
En esta libertad se hace mucho hincapié en que el usuario puede utilizar un programa bajo cualquier circunstancia y sin tener que informar sobre su uso. Es una libertad de uso sobre el software.
Libertad 1
La libertad de estudiar cómo funciona el programa y cambiarlo para que haga lo que usted quiera. El acceso al código fuente es una condición necesaria para ello.
En esta libertad está expuesto el acceso al código fuente de la aplicación. Acá podremos ver cómo está construido el programa en sí, podremos estudiarlo y aprender gracias a esta libertad. Uno podría pensar que quizás estamos ante un problema de seguridad, ya que sabiendo cómo está construido podría haber algunos problemas si alguien se aprovecha de ello. En realidad, no es tan así. La certeza más básica habla de poder estar seguro de que la aplicación hará lo que dicen que hace y no otra cosa. Y esto es en base a poder acceder a dicho código fuente. Hay aplicaciones que nos prohíben por ley ver cómo está construido su código fuente. Y es en esas aplicaciones en las cuales si uno quisiera investigar sobre cómo están programadas se incurrirá en una violación de derechos sobre la aplicación. Esto ocurre por el tipo de licencia que el programador adopta con respecto a sus programas. Esta libertad también permite, entre otras cosas, colaborar en la corrección de posibles errores en la aplicación. Al contar con el código fuente si un usuario/programador detecta un error puede informar sobre el mismo o directamente acceder a corregirlo.
Libertad 2
La libertad de redistribuir copias para ayudar a otros.
En esta libertad hablamos sobre la posibilidad de liberar la distribución de copias del software sin poner un límite por copias. Es sabido que el software privativo se suele comercializar en base a no permitir que un software se encuentre instalado en varios equipos. Generalmente, se vende una licencia por equipo en donde se instala el mismo. En cambio, al trabajar sobre software libre estamos viendo que una de las libertades nos permite realizar una distribución de copias de dicho software sin ningún inconveniente.
Libertad 3
La libertad de distribuir copias de sus versiones modificadas a terceros. 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.
En esta libertad podemos distribuir copias del software libre original e incluso realizar modificaciones al mismo. Y obviamente distribuirla de cualquier forma sin tener ninguna limitación. Se puede incluso hacer modificaciones a dicho software para generar un producto comercial. Desde luego respetando las libertades por las cuales se originó (libertades del software libre). Estas modificaciones incluso pueden ser para uso personal. En esta libertad también hablamos claramente de la posibilidad de mejorar un software libre, el tener a mano el código fuente nos permite incluso realizar agregados de funcionalidad a dicho software.
Ventajas
Ahora que conocemos más de cerca las libertades del software libre podemos ver a continuación algunas ventajas destacables.
Compatibilidad
Una de las grandes diferencias que existen con respecto al software privativo es la compatibilidad al adquirir hardware nuevo. El software privativo suele trabajar en círculo con la necesidad de ir modernizando el hardware en donde se ejecuta. Provocando que a medida que cambian las versiones de los programas haya una necesidad de modernizar el hardware porque el mismo ya no es compatible. Esto está pensado desde la idea básica que promueve el modelo de la obsolescencia programada. Cuando hablamos de software libre esta idea es totalmente diferente, en estos ámbitos la idea es que las aplicaciones funcionen en cualquier hardware y que funcione bien. Se intenta evitar el cambio de hardware solo porque una aplicación cambie en su versión.
Soporte técnico
Como se mencionó, el software libre tiene una pata muy importante en la comunidad que está detrás de ella. Por una parte, son los colaboradores quienes aportan tanto programando como cumpliendo diferentes roles en comunidad para aportar al software libre. Entre esos roles está obviamente el soporte técnico a otros usuarios, y esto evita cierta dependencia que existe en el software privativo, ya que al ser parte de una empresa dicho software siempre genera una supeditación hacia dicha empresa en cuanto al soporte técnico.
Seguridad
En este punto, contar con el código fuente de una aplicación es una gran ventaja que por supuesto aquellas aplicaciones que no permiten acceder a dicho código fuente no pueden brindar. El software privativo muestra este inconveniente ya que protege su código fuente para que nadie pueda acceder. Generando un gran problema de seguridad. No solo porque no hay forma de saber qué es lo que va a hacer la aplicación, sino porque dependemos de quien es el dueño en casos de encontrarnos con algún error en la aplicación.
Corrección de errores
Como mencionamos en el punto sobre la seguridad, acá también se genera un inconveniente en cuanto a la corrección de errores. Al encontrar un error en una aplicación de software privativo, el usuario no puede hacer más que enviar un reporte de dicho error y ahí queda toda la situación. Ya que por más que quiera no tiene acceso al código fuente. En el ámbito del software libre eso es totalmente diferente, se dispone del código fuente. Y más allá de la capacidad de solucionar un error o no si se dispone del código fuente se puede llegar a reportar un error, e incluso se podría llegar a aportar una solución al mismo.
-------
Por Pablo Carrai.
Infografía: Carolina Hortal.
Ficha
Publicado: 03 de diciembre de 2020
Última modificación: 12 de enero de 2021
Audiencia
Estudiantes
Área / disciplina
Robótica y Programación
Nivel
Primario
Secundario
Superior
Categoría
Artículos
Modalidad
Todas
Formato
Texto
Etiquetas
Huayra
Linux
sistema operativo libre
Autor/es
Educ.ar
Licencia
Creative Commons: Atribución – No Comercial – Compartir Igual (by-nc-sa)