title: GPLv3 párrafo a párrafo (Sección 1: Código fuente) date: 2006-02-01 09:53 ---

Nueva entrega de la serie GPLv3 párrafo a párrafo sobre el borrador de la GPLv3 en la que trataré la sección 1 que puede ser considerada una extensión de las definiciones de la sección 0 pero centrada sobre el código fuente.

Como ya va siendo habitual, advierto que en estas entregas no se plasman ni traducciones ni explicaciones oficiales de la Free Software Foundation tratándose siempre de opiniones personales.

1. Source Code.

The "source code" for a work means the preferred form of the work for making modifications to it. "Object code" means any non-source version of a work.

"Código fuente" de un trabajo hace referencia a la forma preferida para realizar modificaciones en ese trabajo. "Código objeto" es cualquier versión del trabajo que no es código fuente.

The "Complete Corresponding Source Code" for a work in object code form means all the source code needed to understand, adapt, modify, compile, link, install, and run the work, excluding general-purpose tools used in performing those activities but which are not part of the work. For example, this includes any scripts used to control those activities, and any shared libraries and dynamically linked subprograms that the work is designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work, and interface definition files associated with the program source files.

El "código fuente completo correspondiente" de un trabajo en código objeto es todo el código fuente necesario para comprender, adaptar, modificar, compilar, enlazar, instalar y ejecutar el trabajo, excluyendo herramientas de propósito general para realizar dichas actividades pero que no forman parte del trabajo en si. Por ejemplo, cualquier script para controlar esas actividades, cualquier librería compartida o cualquier subprograma enlazado dinamicamente que el trabajo pueda requerir, como comunicaciones de datos privados o control de flujo entre esos subprogramas y otras partes del trabajo, y los ficheros de definición asociados con los fuentes del programa.

Complete Corresponding Source Code also includes any encryption or authorization codes necessary to install and/or execute the source code of the work, perhaps modified by you, in the recommended or principal context of use, such that its functioning in all circumstances is identical to that of the work, except as altered by your modifications. It also includes any decryption codes necessary to access or unseal the work's output. Notwithstanding this, a code need not be included in cases where use of the work normally implies the user already has it.

El código fuente completo correspondiente también incluye cualquier cifrado o códigos de autorización necesarios para instalar y/o ejecutar el código fuente del trabajo, quizás modificado por ti, en el contexto de uso recomendado o principal, para que su funcionamiento en cualquier circunstancia sea idéntico al del trabajo, exceptuando las alteraciones producidas por tus modificaciones. También incluye cualquier código de descifrado necesario para acceder o descodificar la salida realizada por el trabajo. A pesar de esto, no será necesario incluir los códigos en los casos en los que el uso del trabajo implique que los usuarios ya disponen de ellos.

En pocas palabras, que el acceso al código fuente completo correspondiente no pueda ser limitado de ninguna manera, lo que choca de frente con las especificaciones de los sistemas DRM. Bajo mi punto de vista, malo para las empresas que desarrollan sistemas DRM, bueno para los usuarios.

Complete Corresponding Source Code need not include anything that users can regenerate automatically from other parts of the Complete Corresponding Source Code.

El código fuente completo correspondiente no necesita incluir nada que los usuarios puedan regenerar automaticamente desde otras partes del código fuente completo correspondiente.

Para ser sinceros he de decir que no comprendo a qué se refiere con esta frase, así que comentarios aclaratorios serían muy bien recibidos.

As a special exception, the Complete Corresponding Source Code need not include a particular subunit if (a) the identical subunit is normally included as an adjunct in the distribution of either a major essential component (kernel, window system, and so on) of the operating system on which the executable runs or a compiler used to produce the executable or an object code interpreter used to run it, and (b) the subunit (aside from possible incidental extensions) serves only to enable use of the work with that system component or compiler or interpreter, or to implement a widely used or standard interface, the implementation of which requires no patent license not already generally available for software under this License.

Como excepción especial, el código fuente completo correspondiente no necesita incluir una subunidad en particular si (a) la subunidad idéntica es incluída normalmente en la distribución de un componente esencial mayor (kernel, gestor de ventanas, y otros) del sistema operativo en el que se ejecuta o es un compilador usado para producir el ejecutable o es un intérprete de código objeto usado para ejecutarlo, y (b) la subunidad (aparte de posibles extensiones casuales) solamente sirva para permitir el uso del trabajo con ese componente del sistema o con ese compilador o con ese intérprete, o para implementar una interfaz estándar o de uso general y que esa implementación requiera otra licencia, lo que normalmente no es posible para los programas bajo esta Licencia.

De esta forma se ayuda a la modularidad de los programas libres, haciendo innecesaria la duplicación de código para cada programa que use unas determinadas funcionalidades generales disponibles para todo el conjunto de programas libres.

Dudo mucho que la traducción de la última linea sea la correcta, por lo que si alguien se anima estaría agradecido también.