La mayoría de la gente no conoce la diferencia entre el software libre y el software open source, piensa que es lo mismo o simplemente no sabe lo que es.

Las diferencias son muy sutiles y muchas veces un programa puede considerarse tanto libre como de código abierto, pero vamos a analizar esos pequeños matices.

 

Principios del software libre

Todo empieza con Richard Stallman y la nueva impresora Xerox 9700 de su empresa en 1980. Las impresoras en aquel momento se atascaban más que ahora, así que Stallman quiso modificar el software para que notificara al ordenador en el caso que fallase la impresión (ya lo hizo con la anterior impresora). El problema fue que la empresa no distribuía el código fuente, impidiendo así mejorar el software.

Este hecho y el cambio de rumbo general de las empresas hacia la privatización del software que en un principio era abierto (cuando se empezaba con la programación la gente compartía conocimientos y códigos sin problemas), hizo que Stallman fundara en 1985 la Free Software Fundation, publicando los principios del software libre poco después:

0. La libertad de ejecutar el programa como se desea, con cualquier propósito.

1. La libertad de estudiar cómo funciona el programa y modificarlo. El acceso al código fuente es condición necesaria.

2. La libertad de redistribuir copias para ayudar a su prójimo.

3. La libertad de distribuir copias de sus versiones modificadas a terceros, permitiendo ofrecer a toda la comunidad la oportunidad de beneficiarse de las modificaciones.

Básicamente, los usuarios pueden ejecutar, estudiar, distribuir y modificar el software.

 

Principios del software de código abierto

En 1998 se funda la OSI (Open Source Initiative), una organización que promueve el uso del software no propietario. Se establecen 10 principios a los que toda licencia de código abierto debe adherirse:

  1. Libre redistribución: se puede regalar o vender el software libremente.
  2. Código fuente: tiene que estar incluido u obtenerse libremente.
  3. Trabajos derivados: la redistribución de modificaciones tiene que estar permitida.
  4. Integridad del código fuente del autor: las licencias pueden requerir que las modificaciones se redistribuyan sólo como parches.
  5. No restringir su uso a ninguna persona o grupo: nadie puede quedar excluido.
  6. No restringir su uso a ninguna área de iniciativa: los usuarios comerciales no pueden quedar excluidos.
  7. Distribución de la licencia: tienen que aplicarse los mismos derechos a todos los que reciban el programa.
  8. La licencia no tiene que ser específica de un producto: el programa no puede licenciarse solamente como parte de una distribución mayor.
  9. La licencia no debe restringir otro programa: la licencia no puede obligar que otro programa distribuido con el software sea también abierto.
  10. Tecnológicamente neutral: no ha de requerirse la aceptación de la licencia mediante un clic de ratón o de otra forma específica del medio de soporte del programa.

 

¿Existe realmente alguna diferencia?

La diferencia más clara es que el software libre se basa en una filosofía (dando el poder al usuario), mientras que el software open source se basa en la utilidad y da más poder al desarrollador. Es más utilizado por empresas, ya que permite añadir más condiciones y aun así puede beneficiarse de las aportaciones de los usuarios.

Las licencias libres tienden hacia el copyleft, es decir, cualquier programa derivado debe seguir siendo siempre libre. Por otra parte, algunas licencias open source son más permisivas e incluso permiten privatizar el software derivado.

El punto 4 del decálogo open source seria probablemente donde hay la diferencia más evidente, ya que el programa podría no dejarte modificar el código de forma directa sino a traves de un parche, lo cual entra en conflicto con la libertad tercera del código libre.

 

Entonces, ¿se puede ganar dinero con el software libre o de código abierto?

Es importante destacar que libre o de código abierto no quiere decir que sea gratis. Si bien es cierto que la inmensa mayoría de programas libres o abiertos son gratuitos, no tienen porque serlo. Las licencias no obligan a ello y existen varios ejemplos de lo contrario.

Es posible vender un software de código abierto, aunque es más habitual ganar dinero de otras formas. A través del mantenimiento, servicios y funcionalidades adicionales, publicidad, etc.

  • Red Hat es una empresa que desarrolla Linux para servidores, ofreciendo un servicio de pago que incluye soporte y mantenimiento.
  • Arduino vende placas programables donde tanto el software como el hardware es libre.
  • Mozilla Firefox gana dinero poniendo un determinado buscador por defecto y la barra de búsqueda (Google, Yahoo, Bing…).
  • Si una empresa quiere añadir una funcionalidad extra a un programa y carece de la capacidad técnica para hacerlo, puede contratar al desarrollador para hacer estas mejoras.
  • Telegram es una app totalmente libre y sin ningún servicio de pago. Por ahora se mantiene gracias a las donaciones, pero los desarrolladores no descartan añadir funcionalidades extras de pago.

Un factor importante es la comunidad que hay detras. Si la comunidad apoya el software, los costes de desarrollarlo y mejora disminuyen considerablemente.