Software libre

Este artículo se refiere al término free software, tal y como está definido por la Free Software Foundation. El término inglés free es ambiguo, y puede refererirse tanto a la libertad (free speech, libertad de expresión) como a la gratuidad (free beer, cerveza gratis). En español no existe tal ambigüedad, distinguiendose claramente el software libre (objeto del presente artículo) del software gratis o software gratuito. Para este segundo caso, vease Freeware.

Software libre es el software que, una vez obtenido, puede ser usado, copiado, estudiado, modificado y redistribuido libremente. El software libre suele estar disponible gratuitamente en Internet, o a precio del coste de la distribución a través de otros medios; sin embargo no es obligatorio que sea así y, aunque conserve su carácter de libre, puede ser vendido comercialmente. Análogamente, el software gratuito (denominado usualmente Freeware) incluye en algunas ocasiones el código fuente; sin embargo, este tipo de software no es libre en el mismo sentido que el software libre, al menos que se garanticen los derechos de modificación y redistribución de dichas versiones modificadas del programa.

Historia

Entre los años 60 y 70 del Siglo XX, el software no era considerado un producto sino un añadido que los vendedores de los grandes computadores de la época (los mainframes) aportaban a sus clientes para que éstos pudieran usarlos. En dicha cultura, era común que los programadores y desarrolladores de software compartieran libremente sus programas unos con otros. Este comportamiento era particularmente habitual en algunos de los mayores grupos de usuarios de la época, como DECUS (grupo de usuarios de computadoras DEC). A finales de los 70, las compañías iniciaron el hábito de imponer restricciones a los usuarios, con el uso de acuerdos de licencia.

En 1984, Richard Stallman comenzó a trabajar en el proyecto GNU, y un año más tarde fundó la Free Software Foundation (FSF). Stallman introdujo una definición para free software y el concepto de "copyleft", el cual desarrolló para dar a los usuarios libertad y para restringir las posibilidades de apropiación del software [1].

De acuerdo con tal definición, el software es "libre" si garantiza:

  • la libertad para ejecutar el programa con cualquier propósito (llamada "libertad 0")
  • la libertad para estudiar y modificar el programa ("libertad 1")
  • la libertad de copiar el programa de manera que puedas ayudar a tu vecino ("libertad 2")
  • la libertad de mejorar el programa, y hacer públicas tus mejoras, de forma que se beneficie toda la comunidad ("libertad 3")

Es importante señalar que las libertades 1 y 3 obligan a que se tenga acceso al código fuente.

En el sitio web de la FSF (ver abajo) hay una lista de licencias que cumplen estas garantías. El término software no libre se emplea para referirse al software distribuido bajo una licencia de software más restrictiva que no garantiza estas libertades. Las leyes de la propiedad intelectual reservan la mayoría de los derechos de modificación, duplicación y redistribución para el dueño del copyright; el software dispuesto bajo una licencia de software libre rescinde específicamente la mayoría de estos derechos reservados.

La definición de software libre de la FSF no contempla el asunto del precio; un eslogan frecuentemente usado es "libre como en libertad de expresión no como en cerveza gratis" (aludiendo a la ambigüedad del término inglés "free"), y es habitual ver a la venta CDs de software libre como distribuciones GNU/Linux. Sin embargo, en esta situación, el comprador del CD tiene el derecho de copiarlo y redistribuirlo. El software gratis pude incluir restricciones que no se adaptan a la definición de la FSF —por ejemplo, puede no incluir el código fuente, puede prohibir explícitamente a los distribuidores recibir una compensación a cambio, etc—.

Para evitar la confusión, alguna gente utiliza los términos "libre" (Libre software) y "gratis" (Gratis software) para evitar la ambigüedad de la palabra inglesa "free". Sin embargo, estos términos alternativos son usados únicamente dentro del movimiento del software libre, aunque están extendiendose lentamente hacia el resto del mundo. Otros defienden el uso del término open source software (software de códígo abierto). La principal diferencia entre los términos "open source" y "free software" es que éste último tiene en cuenta los aspectos éticos y filosóficos de la libertad, mientras que el "open source" se basa únicamente en los aspectos técnicos.

Existen distintas variantes del concepto de software libre en el sentido de la FSF, por ejemplo:

  • Las libertades definidas por la FSF están protegidas por licencias copyleft, de las cuales la más importante es la Licencia Pública General GNU (GPL). El autor conserva los derechos de autor (copyright), y permite la redistribución y modificación bajo términos diseñados para asegurarse de que todas las versiones modificadas del software permanecen bajo los términos copyleft.
  • Software bajo el dominio público, sobre el cual el autor ha abandonado sus derechos de autor. El software bajo el dominio público, puesto que carece de protección de copyright alguna, puede ser incorporado libremente tanto en software libre como no libre.
  • Licencias estilo BSD, llamadas así porque se utilizan en gran cantidad de software distribuido junto a los sistemas operativos BSD. El autor, bajo tales licencias, mantiene la protección de copyright únicamente para la renuncia de garantía y para requerir la adecuada atribución de la autoría en trabajos derivados, pero permite la redistribución y modificación, incluso si dichos trabajos tienen propietario.

Hay que hacer constar que el titular de los derechos de autor (copyright) de un software bajo licencia copyleft puede también realizar una versión modificada bajo su copyright original, y venderla bajo cualquier licencia que desee, además de distribuir la versión original como software libre. Esta técnica ha sido usada como un modelo de negocio por una serie de empresas que realizan software libre; esta práctica no restringe ninguno de los derechos otorgados a los usuarios de la versión copyleft.

Ejemplos y evolución

Existe una gran cantidad de software, cada vez mayor, disponible bajo licencias de software libre. Los observadores (y adeptos) a menudo interpretan este fenómeno como el movimiento del software libre. Algunos proyectos notables de software libre incluyen los kernel de los sistemas operativos GNU-Linux y BSD, los compiladores GCC, el depurador GDB y las bibliotecas de C, el servidor de nombres BIND, el servidor de transporte de correo Sendmail, el Servidor web Apache, los sistemas de base de datos relacional MySQL y PostgreSQL, los lenguajes de programación Perl, Python, Tcl y PHP, el sistema X Window, los entornos de escritorio GNOME y KDE, la suite de ofimática OpenOffice.org, el navegador Mozilla, el servidor de ficheros Samba, y el editor de gráficos GIMP.

Los paquetes de software libre constituyen un ecosistema software donde diferentes piezas de software pueden proporcionar servicios a otras, llevando a la co-evolución de características. Por mostrar un ejemplo sencillo, el lenguaje de programación Python proporciona soporte para el protocolo HTTP, y el servidor web Apache que proporciona el protocolo HTTP puede llamar al lenguaje de programación Python para servir contenido dinámico.

El Proyecto Debian, que produce un sistema operativo compuesto enteramente de software libre, ha creado una serie de directrices que se usan para evaluar la compatibilidad de una licencia con el objetivo de libertad de Debian. Las Directrices de Software Libre de Debian se usan para discernir el software libre del no-libre. Para 2003, Debian había recolectado más de siete mil quinientos paquetes de software que cumplían con las citadas directrices.

Los desarrolladores de Debian argumentan que los mismos principios deberían aplicarse no sólo a los programas, sino también a la documentación libre. Muchos documentos escritos por el Proyecto de Documentación de Linux, y muchos documentos licenciados bajo la Licencia de Documentación Libre de GNU (los documentos con secciones invariantes) no se ajustan a todas las directrices citadas arriba.

Comparación con el software Open Source

Aunque en la práctica el software Open Source y el software libre comparten las mismas licencias, de acuerdo con la FSF, el movimiento Open Source es filosóficamente diferente del movimiento del software libre . Apareció en 1998 con un grupo de personas, entre los que cabe destacar a Eric S. Raymond y Bruce Perens, que formaron la Open Source Initiative (OSI). Buscaban (1) darle mayor relevancia a los beneficios prácticos del compartir el código fuente, y (2) interesar a las principales casas de software y otras empresas de la industria de la alta tecnología en el concepto. Estos defensores ven que el término open source evita la ambigüedad del termino Inglés free en free software. El término "open source" fue acuñado por Christine Peterson del think tank Foresight Institute, y se registró para actuar como marca registrada para los productos de software libre.

Mucha gente reconoce el beneficio cualitativo del proceso de desarrollo de software cuando los desarrolladores pueden usar, modificar y redistribuir el código fuente de un programa. (Veáse también La Catedral y el Bazar). El movimiento del software libre hace especial énfasis en los aspectos morales o éticos del software, viendo la excelencia técnica como un producto secundario deseable de su estándar ético. El movimiento Open Source ve la excelencia técnica como el objetivo prioritario, siendo la compartición del código fuente un medio para dicho fin. Por dicho motivo, la FSF se distancia tanto del movimiento Open Source como del término "Open Source".

Puesto que la OSI sólo aprueba las licencias que se ajustan a la OSD (Open Source Definition), la mayoría de la gente lo interpreta como un esquema de distribución, e intercambia libremente "open source" con "software libre". Aun cuando existen importantes diferencias filosóficas entre ambos términos, especialmente en términos de las motivaciones para el desarrollo y el uso de tal software, ráramente suelen tener impacto en el proceso de colaboración.

Aunque el término "Open Source" elimina la ambigüedad de Libertad frente a Precio (en el caso del Inglés), introduce una nueva: entre los programas que se ajustan a la Open Source Definition, que dan a los usuarios la libertad de mejorarlos, y los programas que simplemente tiene el código fuente disponible, posiblemente con fuertes restricciones sobre el uso de dicho código fuente. Mucha gente cree que cualquier software que tenga el código fuente disponible es open source, puesto que lo pueden manipular (un ejemplo de este tipo de software sería el popular paquete de software gratuito Graphviz, inicialmente no libre pero que incluía el codigo fuente, aunque luego AT&T le cambió la licencia). Sin embargo, mucho de este software no da a sus usuarios la libertad de distribuir sus modificaciones, restringe el uso comercial, o en general restringe los derechos de los usuarios.

Significación Política

Una vez que un producto de software libre ha empezado a circular, rápidamente está disponible a un coste muy bajo o sin coste. Al mismo tiempo, su utilidad no decrece. Esto significa que el software libre se puede caracterizar como un bien público en lugar de un bien privado.

Puesto que el software libre permite el libre uso, modificación y redistribución, a menudo encuentra un hogar en los países del tercer mundo para los cuales el coste del software no libre es a veces prohibitivo. También es sencillo modificarlo localmente, lo que permite que sean posibles los esfuerzos de traducción a idiomas que no son necesariamente rentables comercialmente. Veáse también internacionalización.

La mayoría del software libre se produce por equipos internacionales que cooperan a través de la libre asociación. Los equipos están típicamente compuestos por individuos con una amplia variedad de motivaciones. Existen muchas posturas acerca de la relación entre el software libre y el actual sistema económico capitalista:

  • Algunos consideran el software libre como un competidor del capitalismo.
  • Algunos consideran el software libre como otra forma de competición en el mercado libre, y que el copyright es una restricción gubernamental sobre el mercado.
  • Algunos comparan el software libre a una economía del regalo, donde el valor de una persona está basado en lo que ésta da a los demás.
  • Grupos como Oekonux e Hipatia consideran que todo debería producirse de esta forma y que este modelo de producción no se limita a reemplazar el modelo no libre de desarrollo del software. La cooperación basada en la libre asociación puede usarse y se usa para otros propósitos (tales como escribir enciclopedias, por ejemplo).

Seguridad Relativa

Existe una cierta controversia sobre la seguridad del software libre frente al software no libre (siendo uno de los mayores asuntos la seguridad mediante obscuridad). Un método usado de forma habitual para determinar la seguridad relativa de los productos es determinar cuantos fallos de seguridad no parcheados existen en cada uno de los productos involucrados. Por lo general los usuarios de este método recomiendan que cuando un producto no proporcione un método de parchear los fallos de seguridad, no se use dicho producto, al menos hasta que no esté disponible un arreglo.

A fecha de Diciembre de 2004 el sitio de seguridad Secunia cuenta cero fallos de seguridad no parcheados (no arreglados aún) para los productos software más usados para navegación de internet, productividad de oficina y e-mail -Mozilla Firefox, OpenOffice.org y Mozilla Thunderbird-, en comparación con los varios fallos de seguridad aún no corregidos para cada uno de los tres principales productos no libres equivalentes (hechos por Microsoft) - Internet Explorer, Microsoft Office y Outlook Express.

Véase también

Enlaces externos

Fundación de Sofware Libre de Republica Dominicana

Entradas populares de este blog

Acerca de los mensajes de tipo... "Por favor no agreges a este usuario es un virus!"

Temas oficiales para Windows XP

Linux From Scrach (Parte 1 - Preparación del sistema)