El pasado 28 de abril tuve la oportunidad de asistir a la primera jornada del Mundo Hacker Day, el evento asociado al programa televisivo Mundo Hacker. Y si el programa muestra de manera divulgativa a un público generalista aspectos relevantes de ciberseguridad y le introduce en la cultura hacker, el evento reúne a profesionales del sector de la seguridad informática y tecnológica, a fabricantes de productos de seguridad y a miembros de las comunidades hacker de nuestro país.
En la sesión de la mañana, entre las actividades programadas, estaba una mesa redonda que llevaba por título "Hacking Spain: el rol de las comunidades en la ciberseguridad". En ella participaban personas que daban puntos de vista distintos y complementarios sobre la labor que las comunidades especializadas en seguridad están desarrollando en nuestro país. Y algo llamó poderosamente mi atención: se utilizaba el término "fuentes abiertas" y "software libre" como equivalentes, incluso recalcando en ocasiones que era lo mismo, lo que sin duda es erróneo e inducía a confusión.
La idea de este artículo surge en ese momento, porque es importante que cualquier persona interesada por la informática, especialmente hackers y programadores, conozcan esa distinción e incluso que decidan su posicionamiento al respecto.
Un poquito de historia: un hacker inventa el término "Software Libre"El término Software Libre lo ideó Richard Stallman, un joven hacker que en los 70 trabajaba en el MIT (Instituto Tecnológico de Massachussets) y se identifica de una forma muy especial con la dinámica de esa institución en aquellos momentos: el conocimiento se compartía libremente y con ello se lograba grandes dosis de productividad, a la que vez que resultaba apasionante para todos los participantes. Espíritu científico en un ambiente creativo.
Esta manera de ver la informática, donde la colaboración y la libertad eran clave, no era algo exclusivo del MIT, sino algo común entre los apasionados a la informática de aquel entonces (también conocidos como hackers).
Pero a principios de los años 80 las cosas empezaron a cambiar. Algunos emprendedores del mundo de la informática estaban fundando compañías con la que conseguían grandes fortunas en muy poco tiempo. Y esto seducía cada vez más a informáticos, que preferían dejar de lado esas prácticas de colaboración total en libertad y sustituirlas por patentes, restricciones de acceso a los programas y ganar "pasta a saco" y cuanta más mejor.
Incluso dentro del MIT un grupito de expertos decidieron dejar el centro, fundar una empresa llamada Symbolics y comenzar a venderle las herramientas software que antes se realizaban internamente.
Stallman no sólo no se unió a ellos, sino que puso todo su empeño en mejorar las herramientas internas, para que fueran superiores a las que externamente se ofrecían y así no fuera atractiva su compra.
En algún momento de esta pequeña guerra, a Stallman se le iluminó la idea de que aquello no era un problema local, sino algo mucho más importante, que afectaba al conjunto de la humanidad y fue cuando acuñó el término "Software Libre" frente a "Software Privativo" (también llamado "Software Propietario", es aquel realizado con intenciones meramente comerciales, sin acceso a su código fuente y con la distribución y uso restringidos a la posesión de licencias otorgadas por el propietario, habitualmente a cambio del pago de cierta cantidad de dinero).
Stallman pronto dejó el MIT, fundó la Free Software Foundation y se embarcó en un gran proyecto: crear un clon de UNIX, totalmente libre, y al que llamó GNU (embrión de lo que luego fue el exitoso sistema operativo GNU/Linux, conocido por el gran público simplemente como Linux).
Software Libre: ¿Qué es?Stallman entendía que el software cambiaría drásticamente, y para mejor, el devenir de la humanidad y por ello debería ser un bien común, al que nadie debería poner límites.
Redactó cuatro principios básicos para el Software Libre, con una intencionalidad clara: que nadie pudiera restringir su libertad.
Los 4 principios son:
- La libertad de ejecutar el programa como se desea, con cualquier propósito (libertad 0).- La libertad de estudiar cómo funciona el programa, y cambiarlo para que haga lo que usted quiera (libertad 1). El acceso al código fuente es una condición necesaria para ello.- La libertad de redistribuir copias para ayudar a su prójimo (libertad 2).- La libertad de distribuir copias de sus versiones modificadas a terceros (libertad 3). Esto le permite ofrecer a toda la comunidad la oportunidad de beneficiarse de las modificaciones. El acceso al código fuente es una condición necesaria para ello.En estos cuatro principios llama mucho la atención las menciones al acceso al código fuente, pero la palabra realmente importante es la que se repite al principio de cada uno de ellos: libertad (de hecho cada uno de esos principios se indentificó con un número de libertad, empezando por 0, en claro guiño a los lenguajes de programación).
Y es que esta forma de entender el software, la cual pronto encontró muchos adeptos, era una propuesta revolucionaria. Si la sociedad occidental había basado su desarrollo desde los inicios de la revolución industrial en patentes, en restringir la utilización de las ideas y creaciones a favor de sus autores (en realidad, de los propietarios de sus derechos intelectuales), él proponía todo lo contrario. Proteger la obra y también la libertad del resto de la humanidad para modificarla y generar nuevas a partir de ellas, que también deberían ser libres.
Por cierto, y aunque no es objeto de este artículo, parte de los adeptos a la idea del Software Libre decidieron trasladar sus principios y su concepto de fondo a otros ámbitos de la cultura y la creación, dando lugar a la denominada Cultura Libre.
Un poco de historia: nace el Software de Fuentes AbiertasRichard Stallman puso a rodar la Free Software Foundation en 1985 y con el paso del tiempo se iba demostrando el rotundo éxito del Software Libre, con miles de adeptos en todo el mundo que estaban involucrados en sus comunidades de desarrollo.
Un pequeño grupo de personas que participaban en esas comunidades veían el sentido práctico del acceso al código fuente, pero les traía mucho al pairo todo eso de la libertad y de la propuesta filosófica de contribuir al progreso de la humanidad defendiendo la libertad por encima de la propiedad privada de las ideas y creaciones.
Dos de ellas, Bruce Perens y Eric S. Raymond, decidieron fundar en 1998 la Open Source Iniative. Y con esa organización propusieron el "Open Source", o "Software de Fuentes Abiertas" traducido al español, con diez principios, bastante más extensos que los del "Software Libre" y con los que dejaban totalmente de lado la preocupación por la libertad.
Software de Fuentes Abiertas, ¿qué es?A continuación se enumeran de forma abreviada esos principios, incluyendo sólo su "titular", aunque para comprenderlos conviene acudir al original en inglés y leer con detenimiento cada uno de los párrafos que los definen ( http://opensource.org/osd):
1. Libre distribución
2. Acceso al código fuente
3. Obras derivadas
4. Integridad del código fuente
5. No discriminación contra personas o grupos
6. No discriminación contra áreas de iniciativa
7. Distribución de la licencia
8. La licencia no debe ser específica de un producto.
9. La licencia no debe restrigir a otro software.
10. La licencia debe ser tecnológica neutral.
Los aspectos más relevantes del cambio de planteamiento, son que aunque se continúa con el acceso al código fuente, se permite restringir el derecho a modificar el código realizado por un autor (salvo parches para corregir errores) y que varios de los principios están directamente redactados para hacer atractivo el Open Source a las empresas.
Porque ahí está la clave. El Free Software será muy bueno para la humanidad, pero a los empresarios que tiene por objetivo fundamental ganar dinero, eso les echa para atrás, sin embargo el Open Source les resulta mucho más atractivo, porque sólo propone un método productivo distinto. Y si es para ellos resulta más rentable que el software privativo o les abre nuevos mercados, les convence.
Las diferencias muy clarasEl propio Richard Stallman tiene un magnífico artículo en el que explica las diferencias entre Software Libre y Software de Fuentes Abiertas.
Este artículo está disponible en http://www.gnu.org/philosophy/open-source-misses-the-point.html y a continuación destacamos algunos de sus párrafos más esclarecedores:
"Cuando decimos que el software es "libre", nos referimos a que respeta las libertades esenciales del usuario: la libertad de utilizarlo, ejecutarlo, estudiarlo y modificarlo, y de distribuir copias con o sin modificaciones. (...)Estas libertades son de vital importancia. Son esenciales no solamente para el bien del usuario individual sino para la sociedad entera, porque promueven la solidaridad social: compartir y cooperar. (...)La expresión "código abierto" fue rápidamente asociada con ideas y argumentaciones basadas únicamente en valores de orden práctico, tales como desarrollar o usar software potente y confiable.(...)Ambas expresiones describen casi la misma categoría de software, pero representan puntos de vista basados en valores fundamentalmente diferentes. El código abierto es una metodología de programación, el software libre es un movimiento social. Para el movimiento del software libre, el software libre es un imperativo ético, respeto esencial por la libertad de los usuarios. En cambio la filosofía del código abierto plantea las cuestiones en términos de cómo "mejorar" el software, en sentido meramente práctico. (...)Nosotros, en el movimiento del software libre, no vemos el ámbito del código abierto como al enemigo; el enemigo es el software privativo, el que no es libre. Pero queremos que la gente sepa que defendemos la libertad, así que no aceptamos que se nos identifique como partidarios del código abierto. (...)"En España, confusión institucionalEl Ministerio de Industria, Turismo y Energía, tiene un organismo dependiente llamado CENATIC: Centro Nacional de Referencia de Aplicación de las TIC basada en Fuentes Abiertas.
Un largo nombre para una entidad que en su propia página web, en un contenido destacado en el que explican su actividad, se atreven a decir lo siguiente ( http://www.cenatic.es/sobre-el-software-libre): " El Software Libre es una forma de construir y distribuir aplicaciones de software cuyo tipo de licencia ofrece más libertades a quien las usa. En España, los conceptos Software Libre y Software de Fuentes Abiertas hacen referencia a una misma realidad desde un punto de vista técnico, ya que la propia Ley 11/2007, de 22 de Junio, de Acceso Electrónico de los Ciudadanos a los Servicios Públicos, establece que una aplicación de fuentes abiertas es aquella que "se distribuye con una licencia que permite la libertad de ejecutarla, de conocer el código fuente, de modificarla o mejorarla y de distribuir copias a otros usuarios" (Esta definición se puede consultar en el "Anexo" de la citada Ley, que está en este enlace: http://www.boe.es/diario_boe/txt.php?id=BOE-A-2007-12352).
En definitiva, utilizan los dos términos asociándolos de forma artificial y forzada, porque la legislación, con esa definición que se hizo en la ley y con el uso del término "fuentes abiertas" en sí, apuesta claramente por el Software de Fuentes Abiertas y no por el Software Libre.
Y en este párrafo llama mucho la atención la frase "los conceptos Software Libre y Software de Fuentes Abiertas hacen referencia a una misma realidad desde un punto de vista técnico", sobre todo por que la página en la que se incluye lleva como gran título "Sobre el Software Libre". Porque con esa frase, y con ese título, se evidencia lo que hay detrás: el interés de apostar por el "Software de Fuentes Abiertas", pero dado que el término es feo a más no poder y carece de cualquier "glamour", asociarlo forzadamente a "Software Libre" para aprovecharse de su prestigio y del atractivo que tiene para las nuevas generaciones de expertos en tecnología.
Por todo esto, es muy importante clarificar la diferencia entre los términos y, como bien proclama Richard Stallman: "A medida que los promotores del código abierto atraen nuevos usuarios a nuestra comunidad, nosotros, los activistas del software libre, tenemos que trabajar aún más para llevar el concepto de libertad a estos nuevos usuarios. Tenemos que decir "¡Es software libre y te brinda libertad!" más fuerte que nunca. Cada vez que usted dice "software libre" en lugar de "código abierto", apoya nuestros esfuerzos".
Y tú... ¿por qué apuestas?La creación o el uso de software de cualquiera de los tres tipos es legítimo: privativo, libre o de fuentes abiertas.
De hecho, en la práctica muy probablemente la mayoría de los aficionados y profesionales de la informática utilicen los tres tipos de software de forma prácticamente inevitable.
Pero, cuando uno se dedica profesionalmente a esto o cuando decide colaborar en comunidades, conviene tener muy clara las diferencias, para que su participación sea acorde a sus principios éticos y filosóficos.
Yo lo tengo muy claro. Si tengo que trabajar para vivir, aceptaré participar en proyectos de desarrollo de software privativo o de fuentes abiertas. Pero si lo hago de forma voluntaria, por contribuir al bien común, sólo lo haré en comunidades de Software Libre.
Y tú... ¿por qué apuestas?Enlaces relevantes:
Free Software Foundation: http://www.fsf.org/
GNU Project: http://www.gnu.org
Open Source Initiative: http://opensource.org/
Cenatic: http://www.cenatic.es
via