Contacto
Sitemap
 
Categoría: Diseño Web e Internet

Sábado, 22 Jul 2006

El 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.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.
Libertades del Software Libre

De acuerdo con tal definición, el software es “libre” si garantiza las siguientes libertades:

* “libertad 0″, ejecutar el programa con cualquier propósito (privado, educativo, público, comercial, etc.)
* “libertad 1″, estudiar y modificar el programa (para lo cuál es necesario poder accesar al código fuente)
* “libertad 2″, copiar el programa de manera que se pueda ayudar al vecino o a cualquiera
* “libertad 3″, mejorar el programa, y hacer públicas las mejoras, de forma que se beneficie toda la comunidad.

Es importante señalar que las libertades 1 y 3 obligan a que se tenga acceso al código fuente. La “libertad 2″ hace referencia a la libertad de modificar y redistribuir el sofwtare libremente licenciado bajo algún tipo de licencia de software libre que beneficie a la comunidad. Ciertos teóricos usan este punto cuarto (libertad 3) para justificar parcialmente las limitaciones impuestas por la licencia GNU GPL frente a otras licencias de software libre, sin embargo el sentido original es más libre, abierto y menos restrictivo que el que le otorga la propia GNU GPL.

La licencia GNU GPL posibilita la modificación, redistribución del software, pero unicamente bajo esa misma licencia. Y añade, que si se reutiliza en un mismo programa código “A” licenciado bajo licencia GNU GPL y código “B” licenciado bajo otro tipo de licencia libre, el código final “C”, independientemente de la cantidad y calidad de cada codigo “A” y “B” debe de estar bajo la licencia GNU GPL.

En la práctica esto hace que las licencias de software libre se dividan en dos grandes grupos, aquellas que pueden ser mezcladas con código licenciado bajo GNU GPL (y que inevitablemente desaparecerán en el proceso, al ser el código resultante licenciado bajo GNU GPL) y las que no lo permiten al incluir mayores u otros requisitos que no contempla ni admite la GNU GPL y que por lo tanto no puede ser enlazadas ni mezcladas con código gobernado por la licencia GNU GPL.

Esta situación de incompatibilidad, que podría ser resuelta en la próxima versión 3.0 de la licencia GNU GPL (en desarrollo), causa en estos momentos graves prejuicios a la comunidad de programadores de software libre, que muchas veces no pueden reutilizar o mezclar códigos de dos licencias distintas, pese a que las libertades teoricamente lo deberían permitir.

En el sitio web de la FSF hay una lista de licencias que cumplen las condiciones impuestas por la GNU GPL y otras que no. En el sitio web de la OSI está la lista completa de las licencias de software libre actualmente aprobadas y tenidas como tales. 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 cuatro 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 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 software libre —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.
Tipos de Licencias

Existen distintas variantes del concepto de software libre o grupos de licencias, por ejemplo:

* Las libertades definidas anteriormente están protegidas por licencias de software libre, de las cuales una de las más utilizadas 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 mas´restrictivos de la propia GNU GPL. Esto hace que no sea imposible crear un producto con partes no licenciadas GPL: el conjunto tiene que ser GPL.
* 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 libre redistribución y modificación, incluso si dichos trabajos tienen propietario. Son muy permisivas, tanto que son facilmente absorvidas al ser mezcladas con la licencia GNU GPL con quienes son compatibles.

Puede argumentarse que esta licencia asegura “verdadero”software libre, en el sentido que el usuario tiene libertad ilimitada con respecto al software, y que puede decidir incluso redistribuirlo como no libre. Otras opiniones están orientadas a destacar que este tipo de licencia no contribuye al desarrollo de más software libre.

* Licencias estilo MPL y derivadas, Esta licencia es de Software Libre y tiene un gran valor porque fue el instrumento que empleó Netscape Communications Corp. para liberar su Netscape Communicator 4.0 y empezar ese proyecto tan importante para el mundo del Software Libre: Mozilla. Se utilizan en gran cantidad de productos de software libre de uso cotidiano en todo tipo de sistemas operativos. La MPL es Software Libre y promueve eficazmente la colaboración evitando el efecto “viral” de la GPL (si usas código licenciado GPL, tu desarrollo final tiene que estar licenciado GPL). Desde un punto de vista del desarrollador la GPL presenta un inconveniente en este punto, y lamentablemente mucha gente se cierra en banda ante el uso de dicho código. No obstante la MPL no es tan excesivamente permisiva como las licencias tipo BSD. Estas licencias son denominadas de copyleft debil. La NPL (luego la MPL) fue la primera licencia nueva después de muchos años, que se encargaba de algunos puntos que no fueron tenidos en cuenta por las licencias BSD y GNU. En el espectro de las licencias de software libre se la puede considerar adyacente a la licencia estilo BSD, pero perfeccionada.

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 (por ejemplo MySQL); esta práctica no restringe ninguno de los derechos otorgados a los usuarios de la versión copyleft. También podría retirar todas las licencias de software libre anteriormente otorgadas, pero esto obligaría a una indemnización a los usuarios de las mismas, y en todo caso está claro que pasaría con los productos derivados.
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, la FSF opina que 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. Aunque realmente no lo es en ningún momento.

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.


Escriba un Comentario

:mrgreen: :neutral: :twisted: :shock: :smile: :???: :cool: :evil: :grin: :oops: :razz: :roll: :wink: :cry: :eek: :lol: :mad: :sad: