domingo, 26 de octubre de 2008

Software Libre, Código Abierto y demás ...

Tal vez éste tenía que haber sido el primer post de este blog. He de decir que los conceptos de Software Libre, Código Abierto, Licencias GNU, etc... me eran remotamente conocidas, sin embargo nunca entré en los detalles de tales diferencias, por eso, ahora es el momento de aclarar algunos conceptos.

Software Libre Free software
Según la FSF, el software libre es aquel que cumple las cuatro libertades del software, a saber:
  • 0. Ejecutar el programa con cualquier propósito (privado, educativo, público, comercial, militar, etc.)
  • 1. Estudiar y modificar el programa (para lo cual es necesario poder acceder al código fuente)
  • 2. Copiar el programa de manera que se pueda ayudar al vecino o a cualquiera
  • 3. Mejorar el programa y publicar las mejoras
Licencia GNU GPL
Esta licencia creada por la FSF tiene como finalidad declarar que el software cubierto por esta licencia es software libre y protegerlo de intentos de apropiación que restrinjan esas libertades a los usuarios. Licencia GNU 3 en español

Código abierto Open source
El código abierto es defendido desde la OSI, que hace especial hicapie en el desarrollo de los programas a través del conocimiento de su código. Terminológicamente también se quería marcar la diferencia con el free software, que parecería implicar gratuidad. Las 10 premisas del Código abierto son:
  • Libre redistribución: el software debe poder ser regalado o vendido libremente.
  • Código fuente: el código fuente debe estar incluido u obtenerse libremente.
  • Trabajos derivados: la redistribución de modificaciones debe estar permitida.
  • Integridad del código fuente del autor: las licencias pueden requerir que las modificaciones sean redistribuidas sólo como parches.
  • Sin discriminación de personas o grupos: nadie puede dejarse fuera.
  • Sin discriminación de áreas de iniciativa: los usuarios comerciales no pueden ser excluidos.
  • Distribución de la licencia: deben aplicarse los mismos derechos a todo el que reciba el programa
  • La licencia no debe ser específica de un producto: el programa no puede licenciarse solo como parte de una distribución mayor.
  • La licencia no debe restringir otro software: la licencia no puede obligar a que algún otro software que sea distribuido con el software abierto deba también ser de código abierto.
  • La licencia debe ser tecnológicamente neutral: no debe requerirse la aceptación de la licencia por medio de un acceso por clic de ratón o de otra forma específica del medio de soporte del software.
Licencia Open Source
Es aquella que se usa para programas que siguen los principios de la OSI vistos más arriba

FOSS Free open source software
Un poco para dejar de lado unas diferencias mínimas de conceptos, aparece FOSS, que no hace distinción entre el software libre y el código abierto, asumiendo las premisas de ambos