Psicofonías

(algo así como el blog de Psicobyte)

De qué va el software libre

Como probablemente sepas, he estado algunos años trabajando en la Oficina de Software Libre de la Universidad de Granada. Aunque ya hace cosa de un año que no tengo ninguna relación con esa oficina, de vez en cuando me siguen llegando consultas sobre software libre, licencias y ese tipo de cosas, con lo que he acabado haciendo una especie de texto introductorio explicando de qué va esto del software libre, y es este:

El Software Libre consiste en dar el poder al usuario.

El software Libre consiste en eliminar las barreras que impiden al usuario cosas tan triviales como usar el software, estudiarlo, aprender de él, mejorarlo, regalarlo o venderlo.

Para esto, una de las cosas más importantes es que el software que se distribuye vaya acompañado de su código fuente.

El código fuente

Los programadores crean sus programas usando una gran variedad de lenguajes. Posiblemente hayas oído hablar de cosas como Python, Java, Perl, PHP, BASIC, C, C++, Cobol, Go, Haskell...

Todo eso son lenguajes de programación y se usan básicamente para lo mismo: Programar.

En general, son lenguajes que están diseñados para que los escriban, lean y entiendan personas. En cierto modo, la mayoría de ellos son una especie de inglés macarrónico muy estandarizado.

Pero, normalmente (no siempre), esos lenguajes no son lo ideal para que lo entienda un ordenador, así que lo que se hace es usar un programa especial llamado "compilador" para convertir ese código entendible por humanos en otro tipo de código entendible por el ordenador.

Al lenguaje entendible por humanos le llamamos "Código fuente", el lenguaje entendible por el ordenador es el "código máquina" y el proceso de convertir el primero en el segundo se llama "compilar".

Una vez visto esto, ya te habrás dado cuenta de que, para que una persona pueda ejercer esa libertades de las que hemos hablado (usar el software, estudiarlo, aprender de él, mejorarlo, regalarlo o venderlo...) necesita tener acceso al código fuente.

El código fuente de un programa es lo que te permite ver cómo funciona, modificarlo, etc.

Por eso, siempre, el software libre debe ir acompañado de su código fuente o de algún medio para acceder a él. hoy en día lo más simple es ponerlo en internet en algún sitio accesible para su descarga.

Pero la disponibilidad del código fuente no es suficiente para garantizar las libertades del usuario (y, por tanto, que el software sea libre). También hay que tener en cuenta los derechos de autor y las licencias.

Derechos de autor

En España no existe el copyright, aunque usemos esa palabra para simplificar, sino que la Ley de Propiedad Intelectual habla de "derechos de autor". Los derechos de autor los tienes por el simple hecho de ser autor, no requieren registro ni nada. ¿Tú eres el autor de un programa de ordenador, un libro, poesía, película o lo que sea? Pues todos lo derechos son tuyos: Tú decides lo que se hace con esa obra.

El copyright es una figura del derecho anglosajón que no existe en nuestro ordenamiento. "Tener el copyright" viene a significar que eres el que puede decidir qué se hace con la obra. Si se puede copiar, distribuir, etc.

Los derechos de autor se dividen en "morales" y "patrimoniales". Los morales son irrenunciables aunque quieras. Sorpresa: El derecho a remuneración por copia privada (el famoso canon) es un derecho moral. La autoría también es irrenunciable. Aunque publiques con seudónimo o anónimo, nadie puede obligarte a ocultar tu autoría o arrogarse la autoría de una obra tuya. Hay más, como el derecho a la integridad de la obra, el derecho de modificación y, uno muy curioso, el derecho de acceso a la obra única.

Los derechos patrimoniales son los interesantes, porque son donde está la pasta, el negocio y tal, y son los que normalmente identificamos con el "copyright" anglosajón. Son los de reproducción, distribución, obra derivada, traducción, etc. A estos se puede renunciar, por ejemplo, cuando firmas un contrato con una editorial o cuando trabajas en una empresa de programación.

Los derechos de autor no son eternos (pero casi): Caducan a los setenta años tras la muerte del autor. Entonces la obra pasa a dominio público, que quiere decir que todo el mundo puede usarla como le venga en gana sin pedir permiso a nadie.

La legislación anglosajona (pero no la nuestra) permite poner algo en el dominio público voluntariamente.

Como autor, para ceder o renunciar a un derecho tienes que hacerlo expresamente. Esto es importante: Si no pones ningún tipo de licencia en tu obra y, por ejemplo, la cuelgas en internet, esa obra tiene "todos los derechos reservados". No se puede copiar, distribuir, ni básicamente hacer nada con ella. ¿Que un fotógrafo pone sus fotos en internet sin licencia? Pues no puedes copiarlas ni usarlas para nada, ni con fines de lucro, ni sin lucro, ni nada. Ya sé que eso no es lo que se hace en realidad, pero es lo que dice la ley.

Cuando firmas con una editorial (yo lo he hecho), ellos te ofrecen un porcentaje de las ventas (en torno al 10%) a cambio de que tú pierdas algunos derechos (patrimoniales) en su favor. Por ejemplo: Tú ya no puedes copiar regalar, vender o distribuir tu propia obra, sino que lo hacen ellos según las condiciones del contrato.

Si no haces un contrato con una editorial, sino que te buscas la vida (por ejemplo, colgando tu obra en tu blog), tú conservas todos los derechos. Tú decides qué se hace. Como he dicho antes, si no hay licencia explícita que diga que se puede hacer y qué no, se entiende por defecto que tiene "todos los derechos reservados".

Para permitir que se hagan cosas con tu obra puedes poner una licencia (o más de una, de eso hablamos luego). Una licencia no es más que un documento en el que dices qué cosas se pueden hacer (legalmente) con esa obra.

Licencias libres

En el caso del software, las que nos interesan aquí son las licencias de software libre. las licencias de software libre son las que cumplen las cuatro libertades del software de la FSF, que es posible que ya las conozcas (sobre todo, si has estado en alguna charla mía), pero que voy a poner aquí de todos modos:

  • La libertad de usar el programa, con cualquier propósito.
  • La libertad de estudiar cómo funciona el programa, y adaptarlo a tus necesidades.
  • La libertad de distribuir copias.
  • La libertad de mejorar el programa y hacer públicas las mejoras a los demás.

De paso, comentaré que las licencias "open source" son las que cumplen los 10 puntos de la OSI y que, debates bizantinos aparte, vienen a decir lo mismo que las libertades. Creo que había algún caso de una licencia que cumplía con la OSI pero no con la FSF, pero normalmente si una licencia cumple con una cumple con la otra. El debate Open Source vs Software Libre es relevante y pertinente, pero es sobre ética y principios, no sobre cuestiones prácticas.

De modo que una licencia libre es, básicamente, la que te dice que puedes usar el software sin restricciones, y copiar el código, modificarlo, distribuirlo y usarlo como te venga en gana. Naturalmente, como hemos visto arriba, para que estos derechos sean efectivos tienen que darte el código fuente (si no, a ver qué es lo que modificas y tal).

Algunas licencias libres tiene un tipo de cláusula especial llamada "copyleft". Es un invento de Richard Stallman y es, probablemente, la herramienta más poderosa para la expansión del software libre. Básicamente, una cláusula copyleft es la que dice algo como "puedes hacer todo lo que dice esta licencia pero, si distribuyes copias, modificaciones, etc, debes hacerlo usando también esta misma licencia".

Insisto en ello, porque es muy importante: Si haces un trabajo derivado de algo con copyleft, debes usar la misma licencia (o una compatible, pero eso es meterse en berenjenales). ¿Qué se consigue con esto? Que el trabajo que tú hagas también sea libre. Por eso al copyleft sus críticos empezaron a llamarle "la cláusula vírica". Lo que pasa es que el nombre nos moló y nos lo quedamos.

¿Cuáles son Las licencias con copyleft más importantes? GPL, Affero GPL Y LGPL. (LGPL tiene "copyleft débil", pero no me voy a meter en eso ahora)

Hay licencias que no tienen copyleft. Esto quiere decir que tú puedes redistribuir o hacer trabajo derivado usando otra licencia. Por ejemplo: usar algo con esa licencia libre pero sin copyleft para hacer un producto privativo. Por eso las licencias con copyleft molan mucho más.

las típicas licencias sin copyleft son la Apache, la MIT y la BSD.

A todo esto, y al contrario de cuando contratas con una editorial, empresa de software o lo que sea, tú, como autor, no pierdes ningún derecho. La obra sigue siendo tuya y tú decides. Puedes, por ejemplo, sacar la misma obra con distintas licencias sin ningún problema. Puede parecer una tontería (¿quién querría la versión privativa habiendo una libre?), pero a veces tiene sentido. Por ejemplo, MySQL tenía un sistema de este tipo: Una licencia libre con copyleft pero, si quieres usar su motor o lo que sea para algo privativo, pagas por una licencia no libre pero sin copyleft.

Todas las licencias mencionadas está dieñadas para aplicarlas al software; para liberar cosas que no sean software se suelen usar las licencias Creative Commons, pero no voy a meterme en ello ahora.

Y ya está: Código fuente disponible y licencia libre. No necesitas nada más para que sea software libre. Hay todo un mundo de complejidades y detalles, pero esto es lo esencial.

Escribe tu comentario:





PPCMS 2022