miércoles, 18 de febrero de 2009

Introducción al software libre y al open source


un montón de logotipos de diferentes sistemas libres

Este post trae incluida una disculpa ya que esta semana no podré dedicarle su tiempo a los temas que se habían venido tratando, pero como compensación publicaré un texto dedicado al software libre y al código abierto (open source) que realicé en algún momento del año pasado.

Ésta es una introducción acompañada con algunas notas históricas, solo que son de las que no contienen fechas, jajaja, ya que este post fue realizado sin una sesuda investigación previa, con el propósito de explicar de la manera más amena la importancia del software libre.

Sobre estos dos términos

Seguramente ya han escuchado hablar alguna ves de estos dos términos. Desafortunadamente en mi país que es México, la difusión en los medios clásicos de comunicación de este tema ha sido nula. Para comprender del todo lo que son, hay que entender la diferencia entre software propietario y software libre (o Free Software): el software propietario es aquel que se vende utilizando una licencia copyright (como las películas que compramos en un videoclub), cuando adquirimos un programa de esta clase, comprándolo en una tienda o por Internet, te haces con una copia del archivo o de los archivos ejecutables, es decir, los archivos que ejecuta tu PC para correr el programa, el detalle esta en que no tienes no tienes acceso al código fuente (es decir la lineas de texto en las que se describe el funcionamiento del programa), no puedes hacer copias de ese programa, mucho menos distribuirlo con tus amigos (legalmente no), y en algunos casos (como las licencias del software de Microsoft) te limitan el número de equipos en los que lo puedes instalar.

Ahora, en que se diferencia el software libre, libre(Free) no implica que es software gratuito necesariamente (eso es freeware), sino que hace referencia a la libertad que tiene la persona que lo adquiera para: usarlo, estudiarlo (ya que se incluye el código fuente), modificarlo y redistribuirlo libremente. La Software Free Foundation define cuatro libertades que cualquier usuario de software tiene, en las que el usuario tiene la libertad de: utilizar el programa, con cualquier propósito; de estudiar el funcionamiento del programa, a través del código fuente, y adaptarlo a sus necesidades; de distribuir copias, para ayudar a otros; de mejorar el programa y hacer públicas las mejoras, de modo que el resto de la comunidad se beneficie.

La base de la filosofía del software libre, es que el conocimiento debe ser compartido más no privativo, es decir, no hay problema si lucras con una idea, pero el código fuente debe estar a disposición del que necesite consultarlo. Si vendes un programa debes entregar a tu cliente el código fuente, y también si desarrollas un programa que donarás sin pago alguno, esto con el propósito de que el conocimiento no este en manos de un solo individuo o grupo, para crear un mercado libre en el que otros programadores puedan dar mantenimiento y hacer mejoras en los sistemas existentes, para que exista una libre competencia, en lugar de monopolios.

Ahora bien, ¿qué es Open Source?, este término quiere decir código fuente abierto, es decir que el código fuente de un programa Open Source esta disponible para cualquier persona que desee revisarlo. Esto implica que cualquier programa que sea Software Libre es Open Source, ya que para poder modificar un programa y hacer adaptaciones y/o mejoras es necesario contar con su código fuente, además de contar con los conocimientos necesarios de informática claro :P. La razón por la que surgió este segundo término es algunos programadores querian presentar el concepto de software libre a los grupos empresariales, sin que sonara tan radical, ya que Free Software que también puede entenderse como software gratis, cosa que no causaría mucho gracia entre el sector empresarial que deseara invertir en estos proyectos.

La filosofía que rige a los programadores de este software es diametralmente opuesta a la de empresas como Microsoft, de hecho fue Bill Gates el que invento el concepto de software propietario, ya que en un principio el software era libre, hasta que Bill Gates tuvo la genial idea de venderle el MS-DOS a IBM para sus equipos, pero sin darle los derechos sobre producto en sí, solo el derecho de distrubuirlo, vean la película los piratas de Silicon Valley para más información. Con lo que nunca contó Microsoft es que pudiera surgir una comunidad de programadores alrededor del mundo que colaboran entre sí, para desarrollar programas que compartieran entre ellos y con otros programadores de forma totalmente libre, sin fines de lucro, sino por su pasión por la programación, para lograr mejores programas de software. ¿Cómo competir contra un montón de programadores regados por el mundo?

Cuando aparecen el Ñu y el Pingüinito

El peor miedo de Microsoft debió ser el surgimiento de un sistema operativo totalmente libre, que compitiera con su Windows y eso se volvió realidad con la aparición de GNU/Linux. Este sistema operativo está disponible para cualquier humano sobre la fas de la tierra, que tenga acceso a una PC y a Internet. La gran mayoría de sus distribuciones (Fedora, OpenSuse, Mandriva, Ubuntu, entre otras) se pueden adquirir gratuitamente y en el caso de las distribuciones comerciales (como Red Hat), lo que realmente te venden es el servicio de asistencia y no el producto, , ya que en todo momento tu cuentas con el código fuente y tienes total libertad de revisarlo y modificarlo.

Otro dato interesante es que los programadores de software libre que fueron contratados por empresas privadas siguen trabajando para el software libre, como es el caso del mexicano Miguel de Icaza.

GNU/Linux surgió a través de la unión del nucleo del S.O. o kernel Linux con el conjunto de programas GNU.

Richard Stallman es uno de estos programadores, él es además la persona que ideo la filosofía que sustenta al software libre y que ha estado trabajando por años en el desarrollo de programas de software libre para el proyecto GNU.

Linus Torvalds es otro de los personajes importantes en el software libre, el desarrollo el kernel de Linux, que de hecho eso es realmente Linux, el núcleo del sistema, de ahí prescisamente que el nombre verdadero del S.O. es GNU/Linux y no Linux como muchos lo nombran.

GNU/Linux se basa en uno de los principios que rigen a la Ciencia que es que el conocimiento debe ser libre, es quizás una de las razones por las que es en las universidades donde se han desarrollado varias de las diferentes distribuciones. Aunque también existen empresas comerciales como Sun Mycrosistems o IBM que apoyan el desarrollo del software libre, a través de proyectos como OpenOffice, Eclipse o la plataforma Java. El mayor buscador del mundo en Internet Google funciona con software libre.

También muchos gobiernos en distintas naciones han comenzado a migrar sus sistemas hacia el software libre y es GNU/Linux uno de los principales pioneros. Por ejemplo en Extremadura España desarrollaron su propia distribución de GNU/Linux para casa y escuela llamada GNULinex, en México estudiantes de la UNAM ya desarrollaron su propia distribución llamada Jarro Negro, los Argentinos también hicieron la suya, el gobierno de Inglaterra fundó en 2005 la Open Source Academy (Academia de Fuente Abierta), destinado a fomentar el uso de ese tipo de sistemas abiertos en el sector público. China ya empezó a migrar todos los sistemas operativos del gobierno a GNU/Linux, y hay otros gobiernos alrededor del mundo que piensan hacer lo mismo, entre otras razones porque cuentan con el código fuente y eso les da la mayor seguridad.

Al principio Microsoft decidió solo ignorar la presencia de estos sistemas, pero actualmente esta gastando una gran cantidad de recursos para contra atacarlos. Una de las armas que ha utilizado es el desprestigio a través de distintos medios de comunicación, el propio Bill Gates llegó a llamar comunistas a los programadores de software libre, además han lanzado críticas a que gobiernos como el de China estén utilizando GNU/Linux. Cómo esto no funcionó, decidieron "liberar parte de su código fuente", pero con varias restricciones que no cumplen con las 4 libertades de la OSF. Actualmente la principal arma con la que Microsoft cuenta es la plataforma .Net, en la que de hecho han invertido la mayor cantidad de sus recursos. Pero la comunidad de software no se quedó pasiva y contra ataco con el proyecto Mono, dirigido por Miguel de Icaza, que permite ejecutar las aplicaciones .Net también en Linux. Y así la batalla continua de estos sistemas operativos continúa hasta la actualidad...

0 comentarios:

Publicar un comentario