Introducción al Software Libre

Res publica non dominetur

Pablo Iranzo Gómez (https://iranzo.io)

Introducción

  • Concepto de libertad en el software
    • Definición
    • Términos relacionados
  • Motivaciones
  • Consecuencias de la libertad del software
    • sociedad, usuario final, desarrollador, integrador, administración, proveedor de mantenimiento o servicios
  • Resumen
  • Bibliografía
  • Preguntas

Free software

En inglés, la palabra free tiene dos significados:

“Free as in beer” o “Free as in freedom”

En castellano sería ‘gratis’ o ’libre’, para evitar ambigüedades muchas veces en inglés se utiliza la palabra española ’libre software’ o ‘gratis software’

  • ¿Es gratuito el software libre?
    • No necesariamente, pero muy probable
  • ¿Es libre el software gratuito?
    • No

Concepto de libertad en el software

  • ¿Qué es el software privativo?
    • Mucho software tiene licencias privativas (que nos privan de libertad de su uso), por ejemplo, algunos sistemas operativos al comprar el ordenador, no nos permiten venderlo por separado o hacer copias, etc
  • ¿Qué es el software libre?
    • El software libre se caracteriza por garantizarnos una serie de libertades:
      • Uso (en cualquier lugar, propósito y para siempre)
      • Estudiarlo y adaptarlo (necesita el código fuente)
      • Libertad de redistribución (podemos copiarlo para nuestros amigos)
      • Libertad para mejorarlo y publicar mejoras (nec. código)

Ideas

Si tu tienes una manzana y yo tengo otra manzana e intercambiamos manzanas, ambos tenemos una manzana.

Si tu tienes una idea y yo tengo una idea y las intercambiamos, cada uno tendremos dos ideas

(Atribuida a Bernard Shaw)

El software libre se basa en poder compartir lo que sabemos para que todos aprendamos.

…licencias libres…

Para que el software libre se adapte a la legislación, se le otorgan unas licencias ’libres'

Existen muchas licencias libres, muchas equivalentes y otras con distintos grados de libertad

  • GPL
  • BSD
  • Creative Commons
  • Artística
  • MIT
  • etc

GPL

La GNU General Public License es una de las más asociadas al software libre pero no la única.

Se dice que es una licencia vírica:

“Cualquier modificación sobre software basado en una licencia GPL, debe ser licenciado nuevamente bajo la licencia GPL.”

Esto nos permite ‘asegurar’, que si alguien hace uso de software libre que otros han hecho, el resto podamos seguir beneficiándonos de las mejoras

BSD

Se considera la más libre:

  • se mantiene la autoría
  • se debe incluir la licencia
  • se puede convertir en ‘privativo’

La licencia BSD aunque da más libertad de uso, no impide que la gente saque provecho de ella y luego no revierta los beneficios de nuevo a la comunidad.

Motivaciones

¿Qué nos aporta el software libre?

  • Libertad (uso, distribución, copia, etc)
  • Conocimiento (podemos aprender del código)
  • Tranquilidad (analizar el código)
  • Adaptabilidad (podemos aprovechar el código de otros para desarrollar sólo las partes que faltan)

Consecuencias de la libertad del soft.

Para el desarrollador

  • Tiene acceso a una amplia variedad de rutinas o programas ya creados que puede utilizar o adaptar para sus programas evitando invertir el tiempo para desarrollar una y otra vez cosas que miles de personas ya han hecho
  • Aprende de lo que otros han hecho para evitar problemas comunes o nuevas formas de enfocarlos u optimizar código
  • Se acostumbra a trabajar en grupos multinacionales que programan en base a estándares, desarrollando con ‘calidad’ (ya que mucha gente puede revisar el código)

Consecuencias de la libertad del soft.

Para el integrador

  • En palabras de Ricardo Galli, el software está hoy en día “comoditizado”, el coste del hardware es tan bajo que pagar más por el software que por el propio equipo no es lógico.
  • El software libre permite que un integrador de hardware pueda incorporar un conjunto de elementos que saquen dicho partido del hardware a una fracción del coste del software privativo.

Consecuencias de la libertad del soft.

Para el que proporciona mantenimiento o servicios

  • Al tener acceso al código, puede personalizarlo y ofrecer servicios personalizados para los clientes (soporte, formación, consultoría, etc)
  • Como todo el mundo tiene acceso, es fácil convertirse en proveedor de una empresa gracias a la cercanía (servicios locales)
  • Mayor competencia, porque todo el mundo puede proveer el software, así que el ‘valor’ diferenciador es la calidad del servicio

Consecuencias de la libertad del soft.

Para la administración pública

  • El poder examinar el software da mayor garantía sobre cómo se tratan los datos de los ciudadanos
  • Puede promover la economía local al contratar a empresas locales para prestar servicios
  • Es más seguro porque lo revisan más desarrolladores
  • El software libre suele estar basado en estándares (como consecuencia del interdesarrollo), lo que permite que los datos con los que trabaja, no queden ’encerrados’ en formatos propietarios que en un futuro no podrá consultar por desaparecer el software privativo que los trataba.

Consecuencias de la libertad del soft.

Para el usuario final

  • Puede aprender con el software
  • Al haber mayor oferta de servicios, puede obtener mejores precios
  • Puede acceder a soporte por parte de otros usuarios de forma gratuita (hay mucha documentación)
  • Es más seguro y se actualiza más rápido
  • Consume menos recursos

Consecuencias de la libertad del soft.

Para la sociedad

  • El conocimiento se amplifica al compartirse entre todos
  • Se trabaja en un proyecto común para adaptar el software a las necesidades de los involucrados
  • Se democratiza el acceso a la tecnología
  • Al tener software que podemos revisar,no estamos sujetos a secuestros de información o comportamientos de espionaje.
  • El conocimiento digital no se pierde al poder adaptar los accesos a formatos antiguos a los programas modernos

Reflexionando en voz alta…1

  • El software libre nos permite acceso al código
  • Podemos redistribuirlo
  • Podemos cobrar por él
  • Podemos modificarlo para adaptarlo a nuestras necesidades
  • Si no sabemos programar, podemos contratar a alguien para que lo haga
  • Si la empresa que nos hizo un programa desaparece, otra puede continuarlo
  • Podemos acudir a cualquier empresa con el código de nuestro programa para que lo mejore

Reflexionando en voz alta…2

  • Al auditar el software, tenemos menos peligro de espionaje
  • Al poder escoger la empresa que nos ofrecerá los servicios, conseguiremos precios más bajos
  • ¿De qué viven las empresas relacionadas con el software libre?

¿Qué es Linux?

  • Linux es un ejemplo, entre muchos otros, de software libre
  • Linux técnicamente es el núcleo del sistema, al que se acompaña de diversas ‘facilidades’, como programas de oficina, utilidades, instaladores, sistemas de configuración, etc, hasta constituir un sistema operativo y las aplicaciones de productividad que lo rodean.
  • A cada uno de esos conjuntos de software se le denominan ‘distribuciones’.
  • Entre las más conocidas: Debian, Fedora, OpenSuSE, Ubuntu, Gentoo, CentOS, Mandriva, Lliurex, Guadalinex, Linex, etc.

Bibliografía