Open
source o código abierto en español, es un concepto utilizado
principalmente en el área de desarrollo de software. Para entender
de que se trata haremos una revisión histórica desde sus comienzos
en el software libre hasta la actualidad, pasando por sus utilidades
teóricas y prácticas, además de analizar el tremendo impacto que
ha tenido en el desarrollo de la tecnología en las últimas décadas.
El software libre
Durante la mayor parte de la historia humana, las personas han mantenido la costumbre de ser celosas con sus conocimientos bajo la premisa de que mientras seas el único que sabe cómo algo funciona, te vuelves más indispensable para la sociedad. Esto por supuesto genera mayor retribución y permite que Tanto era el deseo de proteger la autoría y exclusividad de cualquier cosa que se desarrollara que se crearon las patentes y derechos de autor para proteger desde el arte hasta los inventos científicos.
Con la llegada de los computadores ocurrió algo que dio espacio para un cambio de mentalidad. Los primeros ordenadores no vendían el sistema operativo ni los programas como productos, sino que venían incorporados para dar funcionalidad a la maquina. Debido a esto los desarrolladores y usuarios compartían el software libremente y el intercambio de de estos era común. Podríamos decir que desde el inicio de la computación ya existía el “software libre”.
Una de las ventajas de este sistema es que muchas personas al encontrar fallas en los programas se metían al código y lo arreglaban, compartiendo sus versiones mejoradas con sus compañeros. Sin embargo con el tiempo los fabricantes decidieron que podían sacar provecho al software y comenzaron a imponer licencias restrictivas que impedían la modificación y la libre distribución de estos. Si alguien detectaba un problema solo podía dar aviso a la empresa para que lo arreglaran.
En este contexto es que nace el software libre como concepto definido. Durante los 80 Richard Stallman trabajaba en un laboratorio, el cual recibió una impresora como donación de una empresa externa. La maquina tenía un desperfecto y continuamente se atascaba el papel. Encima de eso no generaba ningún tipo de aviso sobre el problema, por lo que terminaba disminuyendo la productividad.
Stallman ofreció voluntariamente y sin cobrar a la empresa implementar una pequeño programa que permitiera a la impresora dar un aviso por red cuando se atascara. Para hacer esto necesitaba el código fuente de los controladores del dispositivo, los cuales solicitó a la empresa. La respuesta que recibió fue un rotundo no, lo que lo puso en la encrucijada de si aceptar esta forma restrictiva de abordar el software. Al no estar de acuerdo decidió renunciar a su trabajo y comenzó a cimentar la base del software libre.
Vivió de la venta de programas libres que él desarrollaba y en 1985 fundó la Free Software Foundation (Fundación del Software Libre), donde se definió exactamente que era el software libre y el concepto de copyleft que, en oposición a copyright, restringía las posibilidades de adueñarse de los programas. Stallman definió cuatro libertades esenciales en el software libre: uso, estudio, distribución y mejora.
En resumen los adherentes al software libre podrían usar estos programas para cualquier fin que estimaran conveniente, con acceso al código para estudiarlo y mejorarlo, además de distribuirlo a gusto ya fuera mediante venta o regalo. La condición es que el todo derivado del software libre se mantuviese libre, es decir bajo la licencia GNU GPL .
Open source, un nuevo concepto
Hemos hablado mucho de software libre pero aún no llegamos a lo que nos convoca, que es el open source o código abierto. Este concepto nació buscando evitar la confusión que se producía en inglés con la palabra “free” que significa libre pero también significa gratis. El software libre no necesariamente es gratis, como hemos visto también se puede vender mientras respete las libertades de uso, estudio, distribución y mejora. A pesar de la unión inicial, partir de ese momento comenzó a desarrollarse un movimiento que similitudes técnicas pero con filosofías muy diferentes.
Poco a poco el movimiento open source fue tomando su propio rumbo hacia los beneficios prácticos del código abierto y descartando los principios éticos del software libre. En la práctica esto se traducía en que el código estaba disponible para su revisión y mejora, pero era posible poner restricciones a su distribución y licencia. En el fondo se transformó en un asunto de conveniencia y no de principios.
Lo que hace tan efectivo al código abierto en el área de la programación es que permite que desarrolladores de todo el mundo, pagados y voluntarios, puedan aportar a dar nuevas funcionalidades y detectar errores e incongruencias en los programas. Esto ha motivado a grandes empresas como Google a adoptar el código abierto en buena parte de sus proyectos. De hecho la mayor parte del popular sistema operativo para dispositivos móviles, Android, es de código abierto, lo que no significa que sea libre puesto que contiene una serie de incumplimientos con las licencias que la FSF acepta.
Todoo software libre debe tener su código abierto, sin embargo no todos los programas aceptados como código abierto son libres. Algunos de los programas de código abierto no libres y de mayor impacto son:
* Android: como ya vimos, es el sistema operativo para dispositivos móviles desarrollado por Google.
* Darwin: es el sistema que corre tras las cortinas en Mac OS X. Se han derivado otros sistemas operativos como Darwin OS a partir de este programa.
* Red Hat Enterprise Linux: Este sistema operativo basado en Linux está orientado a empresas y es un gran ejemplo de éxito comercial basado en código abierto. Todos los códigos de sus programas están abiertos para que otros los usen a gusto. De hecho hay clones del sistema como CentOS o Scientific Linux. Entonces, ¿cómo gana dinero si cualquiera puede ocupar los recursos que desarrollan? Porque ofrecen soporte instantáneo a las empresas y logran estar a la vanguardia informática al retroalimentarse de la comunidad que ocupa sus productos.
* Facebook: Esta gigantesca red social se ha construido en base al open source y como es visible, le ha dado excelentes resultados. Esta forma de hacer las cosas atrae a nuevos desarrolladores y facilita la creación de nuevas aplicaciones, útiles para la plataforma.
* Mozilla Firefox: Este navegador web surgió del código del antiguo Netscape Navigator y ha crecido continuamente en popularidad. Nuevamente la clave aquí ha sido generar nuevas funcionalidades desde el público lo que se refleja en la gran cantidad de extensiones de las que dispone.
El open source ha llegado para quedarse y las posibilidades son
cada vez más amplias. Sin duda es una forma interesante de abordar
el desarrollo, no solo en el campo informático, sino que en otras
áreas del conocimiento también. La educación es un campo que va
integrando esta modalidad poco a poco abriendo el conocimiento a la
comunidad en vez de retenerlo en las aulas, lo que sería una especie
de código abierto, Así como el software avanza más rápido
compartiendo, también lo puede hacer la sociedad.