Vicente Matellán Olivera, Jesús González Barahona,
Pedro de las Heras Quirós, José Centeno González,
Francisco Ballesteros Cámara
Contacto: jgb@gsyc.escet.urjc.es
Departamento de Informática, Universidad Carlos III de Madrid
Noviembre de 1998
©1998 Vicente Matellán Olivera, Jesús González Barahona, Pedro de las Heras Quirós, José Centeno González, Francisco Ballesteros Cámara.
Se otorga permiso para copiar y distribuir este documento completo en cualquier medio si se hace de forma literal y se mantiene esta nota.
Desde hace tiempo se están realizando muchos esfuerzos por informar a la sociedad de los perjuicios que produce la copia ilegal de software. Sin embargo, existen modelos de desarrollo software basados precisamente en el derecho de los usuarios a copiar y redistribuir programas, con muy pocas restricciones.
De hecho, si lo analizamos sin prejuicios, podría decirse que la copia de software no perjudica directamente a ninguno de los que intervienen en ella. El software puede``duplicarse'' (copiarse) sin que se degrade en ninguna medida la información original, y teniendo el duplicado (la copia) exactamente la misma calidad. Ninguna de las partes que intervienen en la copia (el individuo que tiene el orginal y el que recibe la copia) están motivados para no hacerla, dado que ninguno de ellos pierde nada, sino más bien al contrario. En general, ambos salen beneficiados cuando se realiza una copia de software, y especialmente quien la recibe. Por supuesto, están también los derechos del autor de ese software, que sí podría resultar perjudicado. Pero al no intervenir directamente en la copia (salvo, naturalmente, en la ``primera''), no puede evitarla de forma directa. Es importante reconocer que los problemas que se plantean en este caso son radicalmente diferentes de los que plantea la propiedad privada, deado que aún no se han descubierto formas de duplicar bienes materiales, a coste prácticamente cero.
Hay una analogía muy interesante, que a menudo repite Richard Stallman1. Es la de un nuevo invento que permite copiar piezas de pan, con coste prácticamente cero. Las nuevas piezas, resultado del proceso, son exactamente iguales que las ``originales''. Para tener una nueva pieza, todo lo que hace falta es que alguien te preste momentáneamente la suya. Es sencillo entender que con este invento cualquiera estaría dispuesto a prestar su pieza para obtener nuevas piezas... El proceso de copia de información es muy parecido. Sin embargo, tendemos a pensar en él de forma diferente a lo que posiblemente pensaríamos de este ``copiador de pan''.
Antes de discutir los motivos que pueden aconsejar la restricción de los derechos de copia, vamos a presentar brevemente algunos ejemplos que refuerzan la idea de que la copia de información es algo habitual en nuestra experiencia diaria:
Pero si la copia de información es tan sencilla y aparentemente beneficiosa para todos, ¿por qué la sociedad permite prohibir la copia?. La realidad es que esa prohibición es una legislación relativamente moderna y se conoce como (copyright o derecho de copia.
En general, se tiende a justificar su existencia como un balance entre el derecho a copiar información (natural como se ha justificado en el apartado anterior) y la necesidad de asegurar que los autores son recompensados adecuadamente, para aumentar su motivación, y se supone que por tanto su productividad.
La realidad es que su origen está en la legislación inglesa del siglo XVIII sobre los derechos de autor de las obras literarias. Antes de su promulgación, los autores llevaban su manuscrito original a un editor, el cual tenía que invertir una cantidad de dinero importante en preparar las planchas, realizar las copias, amortizar su maquinaria.
Tanto es así que la legislación asegura que la protección que obtienen los poseedores de los derechos de copia no son absolutos. Por ejemplo, esos derechos (a diferencia de la propiedad sobre bienes materiales) expiran con el tiempo, y se garantiza que ciertas instituciones (como las bibliotecas públicas) estén sujetas a ellos de forma más flexible que el público en general.
Desde otro punto de vista, podría entenderse la legislación de copyright como un ``impuesto'' al uso de la información. Ese impuesto es la cantidad que hay que pagar a quien detenta los derechos de copia (copyright), cada vez que esta copia se realiza (por ejemplo, cada vez que se compra una película de video, un disco de música o incluso un libro). Es un impuesto desde el momento que el hecho en sí (sacar una copia de la película, del disco o del libro) sería muy barato, o virtualmente gratis con las tecnologías actuales, y sólo porque la legislación lo impone hay que pagar un cierto sobrecoste. Curiosamente, este impuesto no lo recibe el estado, sino directa o indirectamente el dueño de los derechos de copia. La suposición implícita es que este dinero extra que se paga permite que se mantenga o incremente (en términos cualitativos o cuantitativos) la producción del tipo de información en custión (películas, música o libros, por ejemplo). Otra cosa es que esto sea realmente así, o al menos que sea así en todos los casos y para todos los tipos de información donde se aplica este modelo.
Por lo tanto, la sociedad permite la limitación legal del derecho natural de copia como una forma de fomentar una mayor producción (cuantitativa y cualitativamente) de información. En cuanto el lector se percata de este hecho, surge inmediatamente la pregunta: ``En el caso del software, ¿se beneficia la sociedad de la limitación de los derechos de copia?''.
La respuesta a la pregunta anterior genera largas discusiones. A nuestro entender, la respuesta es, al menos en muchos casos, ``NO''. Es más, es muy posible que la aplicación de una legislación diseñada para garantizar los derechos de los intermediarios, generados en una sociedad de hace dos siglos y pensados para objetos materiales (libros) esté en la raíz de muchos problemas en la evolución del software.
Para sostener esta afirmación, analicemos algunos de los mecanismos habituales de evolución y mejora del software. Desde luego, la lista que ofrecemos a continuación no es exhaustiva, y cada desarrollador de software añadirá (o quitará) algún punto de ella. El enfoque de este análisis se centra en el impacto que produce en cada mecanismo la disposición libre del código fuente, que a nuestro modo de ver es el aspecto más esencial (desde el punto de vista técnico).
Si el código fuente fuese accesible, los ``imitadores'' podrían concentrarse en las mejoras que quieren realizar, y reutilziar completamente el resto del programa. Al poder concentrar sus esfuerzos en la innovación, esta se realizará con mucho menos esfuerzo, y a igualdad de recursos, el resultado será en general mejor. Incluso si se decide empezar el nuevo producto de cero, el poder leer y estudiar el código del producto imitado allanará mucho el camino a sus desarrolladores.
Sin embargo, si el código fuente está disponible apra otros desarrolladores, muchos más pueden realizar esta mejora incremental. Esto permite, por ejemplo, que se desarrollo en producto en direcciones no previstas por sus creadores, y que haya competencia en el desarrollo de neuvas versiones, lo que en general no puede sino benecificar al usuario.
En el mundo del software libre la integración es lo habitual, y permite mejorar sustancialmente un programa integrando en él muchos trabajos ya realizados, e incluso beneficiarse de sus mejoras cuando esos otros trabajos se van actualizando.
Si este análisis fuese exacto, los modelos de desarrollo software basados en la disponibilidad del código fuente y en el permiso explícito de copia y redistribución permitirían desarrollar software de mejor calidad, y capaz de evolucionar más rápidamente. Ese software existe. Suelen usarse para denominarlo los términos de ``software libre'' (``free software'') o ``fuente abierto'' (``open source''). Pero el mundo del software libre no es uniforme, sino que lo hay de diversos tipos, según la licencia con la que se distribuya.
Con el marco legal actual, la licencia bajo la que se distribuye un programa delimita exactamente los derechos que tienen sobre él sus usuarios. Por ejemplo, en la mayoría de los programas propietarios, la licencia priva al usuario de los derechos de copia, modificación, préstamo, alquiler, uso en varias máquinas, etc. De hecho, las licencias suelen especificar que la propietaria del programa es la empresa editora del mismo, que simplemente vende derechos restringidos de uso del mismo.
En el apartado anterior se ha descrito cómo el modelo de copyright vigente en el mundo del software es en muchos casos contraproducente para su desarrollo, y cómo la alternativa que se propone se basa en el derecho a copiar. Resulta por tanto paradójico que el moviento del software libre haya encontrando precisamente en las licencias (la muestra más evidente del software propietario) la forma de expandirse y garantizar los derechos de los usuarios sobre los de los intermediarios.
Cuando se habla en inglés de ``free software'', hay una peligrosa ambiguedad, debido que ``free'' significa tanto ``libre'' como ``gratis''. Afortunadamente, en castellano no tenemos esta ambiguedad2, y el significado de ``software libre'' está mucho más claro. De todas formas, es bueno dejar claro que el software libre no tiene porqué ser gratis. Es más, no suele serlo, o al menos no completamente. Su característica fundamental es la libertad que tiene cualquier usuario para:
Para poder cumplir las dos condiciones anteriores, hay una tercera que es básica, y se deriva necesariamente de ellas:
Todas las licencias de software libre respetan estas condiciones. Normalmente, los detalles de estas licencias son el resultado de un compromiso entre varios objetivos hasta cierto punto contrapuestos, entre los que se pueden citar los siguientes:
Según el grado con que se quiera cumplir cada uno de estos objetivos, y los detalles que se quieran asegurar, los autores pueden elegir proteger su software con distintas licencias. De hecho, el autor puede (si así lo desea) distribuir su software con licencias diferentes por canales (y con precios) diferentes4. Por lo tanto, el autor de un programa suele elegir con mucho cuidado la licencia bajo la que lo distribuye. Y los usuarios, y especialmente quien redistribuya o modifique el software, debe estudiar con cuidado su licencia.
Afortunadamente, aunque cada autor podría utlizar una licencia diferente para sus programas, en realidad casi todo el software libre se define bajo una de las licencias más habituales (GPL, LGPL, Artistic, ``estilo'' BSD, ``estilo'' Netscape, etc.). Para simplificar aún más las cosas, en los últimos tiempos están apareciendo organizaciones que promueven ``marcas'' que garantizan que todo el software que cubren está distribuido bajo licencias que aseguran ciertas condiciones ``razonables'' y simples de entender. Un ejemplo notable de esto es la marca Open Source (http://www.opensource.org).
A continuación se con cierto detalle alguna de las licencias bajo las que distribuye habitualmente el software libre.
Cuando las primeras versiones de Unix fueron distribuidas por ATT a algunas Universidades, uno de los sitios donde más desarrollos se hicieron sobre ellas fue la Universidad de California en Berkeley. Estos desarrollos, compuestos íntegramente por código desarrollado por los investigadores de la Universidad o por sus colaboradores se distribuyeron como ``Berkeley Software Distributions'' (BSD). Con el tiempo, BSD se convirtió en una de las dos ramas más extendidas de la familia Unix, incluyendo muchas versiones propietarias (como SunOS, Ultrix, etc.).
Las caracaterísticas de la licencia bajo la que se distribuyó este software presenta las siguientes características:
Resuminedo, los redistribuidores pueden hacer casi cualquier cosa con el software, incluyendo usarlo para productos propietarios. Los autores sólo quieren que su trabajo sea reconocido. En cierto sentido, esta restricción asegura un cierto grado de ``mercadeo (marketing) gratis''. Es importante darse cuenta que este tipo de licencia no incluye ninguna restricción orientada a garantizar que los trabajos derivados sigan siendo libres. De hecho, ya se ha mencionado anteriormente cómo muchos sistemas operativos derivados de versiones de BSD han sido distribuidos como software no libre. Puede argumentarse que esta licencia asegura ``verdadero software libre'', en el sentido que el usuario tiene libertad ilimitada con respecto al software, y puede decidir incluso redistribuirlo como no libre. Otras opiniones están más orientadas a destacar que este tipo de licencia no contribuye al desarrollo de más software libre, incluso cuando es básicamente la versión libre original redustribuida como un producto propietario.
El proyecto GNU fue anunciado por Richard Stallman en 1983, y hasta cierto punto es uno de los orígenes del movimiento de software libre, tal y como lo conocemos hoy día. Con él se pretendía realizar un sistema operativo completo, con todas las aplicaciones habituales en la época, donde todos sus componentes fuesen software libre. La mayor parte del software de GNU (y muchos otros programas, como por ejemplo el kernel Linux) están protegidos por la ``GNU Public Licence'' (GPL). Las principales características de esta licencia son las siguientes:
La idea básica de esta licencia es utilizar la legislación actual de copyright para obligar a los que reciben un programa a cumplir ciertas condiciones. Esas condiciones están cuidadosamente diseñadas para conseguir que ese programa, o cualquier trabajo derivado de él, sigan siendo software libre. Desde este punto de vista, la GPL no sólo permite distribuir software libre, sino que se esfuerza para asegurarse de que a partir de él nunca se derivará software propietario.
LA GPL resultó ser demasiado estricta para algunos tipos de software. Por ejemplo, si una bilbioteca está protegida por la GPL, no puede utilizarse para enlazarla con código propietario. Esto impide, por ejemplo, el uso de un compilador con bibliotecas protegidas por GPL para crear software propietario. En su momento, Richard Stallman decidió que para asegurarse el éxito de GCC (el compilador C de GNU) necesitaba cubrir sus bibliotecas con otra licencia. Así nació la licencia GNU para bibliotecas (LGPL). Sus características principales son las siguientes:
Por lo tanto, la biblioteca queda protegida prácticamente como quedaría si estuviera protegida por la GPL, pero permitiendo su uso para el ``mezclado'' con software propietario.
Aunque la mayor parte del software libre disponible hoy día utilzia alguna de las licencias anteriores, o ligeras modificaciones de las mismas, hay muchas más. De hecho, potencialmente, cada autor puede escribir su propia licencia, para especificar las condiciones exactas que le interesen. Por ejemplo, los siguientes son algunos otros ejemplos:
Alguna de estas licencias, como la MPL o la de Aladdin están diseñadas intentando maximizar los derechos del autor del software, sin violar las condeiciones que hacen de ellas ``licencias de software libre''. De hecho, no son más que un exponente de la etapa de exploración de nuevos modelos de negocio que se está viviendo desde hace unos años en el mundo del software libre.
En esta ponencia hemos tratado de exponer un nuevo modelo de distribución de software, que se está abriendo paso en el mercado informático: el llamado ``software libre''. Este modelo pone en tela de juicio (al menos en parte) las supuestas ventajas del modelo actualmente predominante de distribución software, basado en la aplicación de unas leyes de copyright pensadas fundamentalmente para proteger los derechos de los autores y los editores de obras literarias.
Como parte fundamental de este modelo, se han expuesto también las caracterísitcas principales de alguna de las licencias de software libre más habituales (entre ellas, la GPL, la LGPL y la BSD). Cada una de ellas tiene como distintos modelos de negocio, y restringe distintos aspectos de lo que puede hacer o no el usuario con el programa que recibe. Pero en ningún caso prohiben las libertades básicas de uso, copia y redistribución (incluido el código fuente). Es importante darse cuenta de que alguna de estas licencias (y en particular la GPL) serían probablemente innecesarias si no hubiese legislación que permite la restricción de los derechos de uso, copia y distribución del software.