¿Qué se entiende por software libre?

Por José Manuel Arrufat (Asesor en TIC’s de mundiverso)

A propósito de las necesidades de las organizaciones no gubernamentales y asociaciones de todo tipo, quisiera hacer especial hincapié en lo interesante que resulta el software libre, especialmente el gratuito. Para ello, primero es interesante indicar que no todo el software libre es gratuito, ni todo el software gratuito es libre. ¿Qué se entiende entonces por software libre?

imagen de windows 7 land

Un programa de un ordenador se puede proporcionar de dos maneras: compilado o en código fuente. Se entiende por software cerrado aquel que se suministra compilado. ¿Y qué significa esto? El programa se encuentra empaquetado de tal forma que sólo el ordenador es capaz de entenderlo. Un informático no es capaz, por medios convencionales, de alterar el comportamiento del programa, solventar algún fallo, o implementar una mejora, porque no es capaz de descifrar los entresijos de cómo funciona el programa. Para aclarar esto procedamos a hacer un símil con los aparatos electrónicos. Si compramos una radio moderna, un ingeniero electrónico apenas será capaz de realizar unas pequeñas reparaciones sobre la misma, ya que pese a su formación desconoce qué función realizan exactamente cada uno de los componentes del circuito impreso. Sus conocimientos de física de semiconductores, electricidad,… son necesarios, pero por desgracia no suficientes para ampliar o mejorar de forma determinante la funcionalidad del dispositivo.

El software libre es aquel para el que se suministra su código fuente. El código fuente comprende todo el texto generado por los programadores que han desarrollado el programa. Este código fuente no es, por lo general, entendido por el ordenador. Para que el ordenador pueda ejecutarlo es necesario traducirlo al lenguaje nativo de éste: a ese proceso se le denomina compilación, y al programa traducido, programa compilado. Un informático que tiene acceso al código fuente es capaz de modificarlo para resolver problemas, o incluso aumentar la funcionalidad del programa. Después de realizar las modificaciones sólo tiene que traducirlo, compilarlo, al lenguaje del ordenador. Si recuperamos nuestro símil de la radio, se puede comparar el código fuente a los esquemas eléctricos de los circuitos de la radio, así como a su correspondiente documentación técnica. Con esta información el ingeniero electrónico es capaz de diagnosticar fallos y repararlos y de mejorar y ampliar la funcionalidad del aparato si fuese necesario.

El navegador de Internet Opera (www.opera.com) se proporciona de forma gratuita; sin embargo, no se proporciona su código fuente. Este es un caso típico de software gratuito que no es libre. El sistema de gestión de contenidos “ExpressionEngine” (expressionengine.com) es de pago, pero con él se proporciona el código fuente para que el cliente pueda hacer las modificaciones necesarias al software que ha adquirido. Teniendo los conceptos de software gratuito y software libre bien claros y diferenciados seremos capaces de asesorar adecuadamente a organizaciones y empresas.

Esta entrada fue publicada en APLICACIONES INFORMÁTICAS, Divulgación y otras herramientas en Software libre y etiquetada , , , , , . Guarda el enlace permanente.

2 respuestas a ¿Qué se entiende por software libre?

  1. Mikel dijo:

    Hola:

    En realidad, la descripción y los ejemplos que ponéis no son en absoluto Software Libre.

    «Software Libre» va de libertades, no de enseñar código. El hecho de que el código fuente acompañe al binario es sólo un requisito necesario para cumplir con algunas de esas libertades, pero lo verdaderamente importante es lo que se te permita (o no) hacer con ese código fuente.

    El software es Libre si garantiza la siguientes libertades:

    0. La libertad de usar el programa, con cualquier propósito.
    1. La libertad de estudiar cómo funciona el programa y modificarlo, adaptándolo a tus necesidades.
    2 . La libertad de distribuir copias del programa, con lo cual puedes ayudar a tu prójimo.
    3. La libertad de mejorar el programa y hacer públicas esas mejoras a los demás, de modo que toda la comunidad se beneficie.

    http://es.wikipedia.org/wiki/Software_libre

    Las libertades 1 y 3 requieren acceso al código fuente porque estudiar y modificar software sin su código fuente es muy poco viable, pero el acceso al código fuente no otorga esas libertades per se.

    Programas como ExpresionEngine sólo se diferencian de programas totalmente privativos en la libertad número uno.

    El término Open Source (o código abierto) tampoco es solamente poder acceder al código fuente:
    http://www.opensource.org/docs/osd

    Aprovechando la confusión, las empresas han empezado a sacar licencias que se «disfrazan» de Libres, pero que siguen siendo igual de restrictivas. Un ejemplo de ello son algunas de las licencias «Shared Source» de Microsoft:
    http://es.wikipedia.org/wiki/Shared_source

    Por otro lado, también es interesante remarcar que aquello que no esta sujeto a una licencia específica está sujeto a las leyes de «Propiedad Intelectual», «Copyright», «Derechos de Autor» o «Todos los derechos reservados» y por tanto no se puede modificar, redistribuir ni utilizar sin el consentimiento del autor (por tanto, si no tiene una licencia que lo especifique, no es Libre)

    Por ejemplo, la imagen que ilustra el artículo no tiene ninguna licenia asociada. Por tanto, salvo permiso expreso del autor, no se puede redistribuir, modificar ni utilizar en ningún caso. Si está sacada de una web, esa web tiene que tener permiso para distribuirla y además, quien la muestre ha de tenerlo para explotarla. En este caso, el logo que aparece repetido es el del sistema operativo Mac OS (que tampoco es libre) y muy probablemente sea propiedad de Apple Inc.

    Mi consejo, es que (salvo que queráis un «Todos los derechos reservados») le pongáis una licencia específica a todo (p.ej al contenido de este blog, al software que desarrolléis, documentos que liberéis, etc.) y, por supuesto, que esa licencia que elijáis sea una licencia libre 😉

    http://en.wikipedia.org/wiki/List_of_FSF_approved_software_licenses

    Espero que el comentario y los enlaces que os paso sirvan para aclarar esos términos a veces un poco confusos…

    http://www.gnu.org/philosophy/open-source-misses-the-point.html

    • Jose Manuel Arrufat dijo:

      Por: José Manuel Arrufat, asesor TIC Mundiverso

      Muy buenas puntualizaciones.

      Como correctamente comentas, Software Libre es una manera de entender el software que raya más en lo ideológico que en lo técnico. Esto se debe fundamentalmente a la organización que en su momento publicó este concepto, la Free Software Foundation (FSF). Indicas además que las libertades 1 y 3 requieren acceso al código fuente, por lo que se puede interpretar que el requisito técnico más importante de todo software libre es el acceso al código.

      La percepción generalizada que tiene la gente sobre el Software Libre es que es gratuito, algo que derivaría de la libertad número 2. Sin embargo, en la definición de Software de Código Abierto de la Open Software Initiative (OSI) se da la posibilidad de obtener un rendimiento económico del mismo (punto 1). Esta contradicción resulta curiosa, ya que la Free Software Foundation considera que la definición de la OSI es una definición de Software Libre válida. Y no es la única (basta mirar el listado de licencias compatibles con el concepto de Software Libre que proporcionas).

      Los conceptos de Software Libre, Software de Código Abierto, etc. se han visto además contaminados por el conjunto general de usuarios, y su significado se ha visto diluído y modificado, en parte por el enorme número de definiciones y tipos de licencia que se han publicado en los últimos años y las modificaciones que se han realizado sobre éstas. Baste el ejemplo de la licencia BSD, que fue reformulada y actualizada para que fuese compatible con la definición de Software Libre de la FSF. El caso del Acuerdo de Código Abierto de la NASA es más curioso, ya que se reconoce como Software de Código Abierto por parte de la OSI, pero no está reconocida como Software Libre por la FSF. Con esto quiero hacer entender a la gente que no todo es blanco, o negro en el ámbito de software libre, software de código abierto, o incluso de libre distribución. Hay que consultar detenidamente la documentación, y muchas veces se encontrarán incongruencias.

      Fue un error afirmar que “no todo el Software Libre es gratuito”, ya que esto entra en conflicto con la libertad número 2 de la FSF. Lo correcto sería indicar que “no todo el Software de Código Abierto es gratuito”. El ejemplo del software “ExpressionEngine”, de pago, pero para el que además se proporciona el código fuente, tampoco entraría dentro de este grupo, ya que impone restricciones adicionales, como muy bien comentas.

      El uso de material ajeno de cualquier tipo puede resultar muy problemático, sobre todo si no se presta atención a su procedencia ni a la licencia, si la hubiere, por la que se proporciona a terceros. Por ello aceptamos de buen grado las críticas en este sentido. Una buena herramienta para ello pueden ser los repositorios de contenidos libres de derechos, o con algún tipo de licencia que permita su uso para los propósitos aplicables. Aún así siempre existe el riesgo de que parte del contenido obtenido en esos repositorios haya sido incluído ahí de forma fraudulenta, por ejemplo por alguien que se haya hecho pasar por el autor, o propietario de la imagen, sin verdaderamente serlo.

      Gracias por tu comentario…

Deja un comentario