El código libre es su licencia

 

 

 

 

 

 

 

 

 

 

Puedes buscar la información de licencia para el software de código abierto mirando el código fuente. Se pueden generar diferentes vistas o informes de esa información de licencia para abordar las diferentes necesidades.

Si bien la entrega de información de licencia directamente en el código fuente no es un requisito para el software de código abierto, los beneficios prácticos de hacerlo se hicieron aparentes desde el principio. Como las licencias de fuente abierta facilitan el movimiento del software, la información de la licencia que se transmite con el código simplifica la administración haciendo que las declaraciones de los permisos estén disponibles para aquellos que tienen el código, incluso si reciben el código indirectamente.


¿Cuáles son los términos de la licencia?

El valor de incrustar la información de la licencia en el árbol fuente no se aprecia. Hagamos una pausa y reflexionemos por un momento sobre lo útil que ha sido esta práctica común [insertar un momento de silencio aquí].

¿Cuáles son los términos de la licencia? Para un gran número de software de código abierto, hay una respuesta simple: un solo texto de licencia contiene toda la información de la licencia para todo el cuerpo del software. Pero el poder del código abierto es que facilita que otros desarrolladores construyan sobre ese punto de partida, y ese proceso puede complicar la información de la licencia.

El software de código abierto se puede ampliar, reutilizar y combinar con otro software. A diferencia de los dispositivos mecánicos, en los cuales la colaboración de un grupo diverso es más desafiante, es práctico que el software complejo se beneficie del trabajo de muchos. Las licencias de fuente abierta proporcionan los permisos para facilitar esa dinámica de desarrollo. El software con un historial complejo también puede tener información de licencia compleja.

Considera el siguiente ejemplo: alguien escribe un programa nuevo, incluyendo en cada archivo fuente un aviso de copyright con una declaración de que el software está licenciado bajo la licencia Apache, versión 2.0, e incluye en la raíz del árbol fuente una copia del texto de la licencia de Apache. Más tarde, se agrega un archivo con un aviso de copyright diferente y una copia de una licencia BSD de 2 cláusulas. A continuación, se agrega un nuevo subdirectorio, en el que los archivos tienen declaraciones de licencia de Apache, pero con avisos de derechos de autor que identifican a un propietario de derechos de autor diferente. Luego, se agrega una copia de una licencia de MIT a un nuevo subdirectorio que incluye archivos con avisos de derechos de autor que son los mismos que en el archivo de licencia de MIT, pero sin ninguna otra indicación de licencia.

Este ejemplo muestra que la información de licencia incrustada en un árbol fuente puede ser compleja y detallada. Puede haber textos de licencia en la raíz y/o en varios subdirectorios. Algunos archivos fuente pueden tener avisos de licencia; otros pueden no. Puede haber avisos de derechos de autor identificando varios titulares de derechos de autor. Separar los bits de aspecto legal del código puede no ser posible sin pérdida de información. Por lo tanto, el código fuente es la licencia.

Visto en el contexto del árbol fuente, la interpretación de la información de licencia en el ejemplo anterior es bastante sencilla. Sin embargo, sería un desafío capturar esa información de licencia en una declaración independiente simple e inequívoca. Una declaración de licencia que capture toda la información de licencia presente en el código fuente sería más corta que el código fuente, pero sería incómodo: ¿quién querría una declaración independiente tan detallada? La mayoría de los usuarios probablemente prefieran un resumen que, aunque incompleto, capture elementos que coincidan con sus propios intereses y sensibilidades particulares.


Resumiendo la información de la licencia: vistas

Respondiendo a “¿Cuáles son los términos de la licencia?” con una copia del árbol fuente completo puede no ser tan útil ya que es voluminoso y diluido. La mayoría de la gente quiere un resumen. Pero hay un desafío: cuando la información de la licencia es compleja, la gente quiere resúmenes diferentes porque tienen diferentes ideas sobre lo que es importante.

Para algunos, responder “sí” a las siguientes preguntas podría ser adecuado: ¿el software 1) está licenciado bajo una o más licencias de código abierto, y 2) ensamblado y licenciado de modo que su distribución y uso es consistente con todas esas licencias? Otros pueden querer una lista de todas las licencias, o pueden querer ver qué componente de software corresponde a cada licencia. Aún otros pueden desear una lista componente por componente que identifique cualquier licencia de copyleft (quizás para hacer su propia inmersión profunda en el cumplimiento del copyleft). Y algunos pueden tener interés en ver todos los avisos de derechos de autor y las listas asociadas de componentes de software.

Un solo resumen probablemente no abordará los intereses de todos. Simplemente haciendo que el resumen sea más detallado, puede reducir su utilidad a algunos mientras sigue siendo inadecuado para otros. Por lo tanto, existe una necesidad de diferentes “vistas” de la información de la licencia que se expresa en el código fuente. Considera que el término vista aquí es similar a cómo se usa en referencia a las bases de datos. Alternativamente, puedes pensar en vistas como “informes”.

Existe una ventaja al pensar en (a) el código fuente como la licencia, y (b) la existencia de múltiples vistas diferentes que pueden extraerse de él.

Puede tratar de crear un resumen de “hacer todo”, desde el cual se podrían crear otros resúmenes más cortos. Pero una representación intermedia de la información de la licencia tiene al menos tres deficiencias:

Sincronización: es posible que el responsable de ese resumen maestro no se actualice en su agenda.
Versiones: el resumen maestro puede estar basado en una versión diferente del software que la que usa.
Calidad: su vista hereda las características de error y juicio del maestro.

Por lo tanto, tiene sentido generar su vista preferida a pedido, directamente desde la versión del árbol fuente que utiliza.

Las herramientas pueden generar vistas. La generación de vistas a demanda depende de las herramientas. La eficacia de esa herramienta se ve facilitada (o dificultada) por la claridad (o confusión) de cómo se representa la información de la licencia. No necesitamos la codificación específica de la máquina de la información de la licencia, pero debemos aprovechar las numerosas fuentes de experiencia que representan la información de forma que sean legibles por el ser humano y extraíbles por máquina.

En su artículo, Un modelo económicamente eficiente para el cumplimiento de licencia de software de código abierto, Jeff Kaufman hace un punto relacionado: Debido a que el código fuente contiene la información de la licencia, distribuir el código fuente puede ser una forma eficiente de cumplir ciertos requisitos de licencia.

Incrustar toda la información de la licencia en el árbol fuente es una mejor práctica. Si descubres que la información de licencia no está representada en el árbol fuente, considera mejorar el proyecto enviando un informe de error recomendando que esa información se agregue al árbol fuente.

El código fuente es la licencia. A partir de ese registro completo, se pueden generar vistas de la información de la licencia. Las herramientas pueden extraer información de licencia en varios informes para satisfacer necesidades o sensibilidades particulares.

Tenemos trabajo que hacer para obtener todos los beneficios de esta visión. ¿Cuál es su sentido del estado de las herramientas y la representación de la información de licencia?

Original

Comparte

(Artículo visitado 1 veces, 1 visitas hoy)

Responder

avatar
Photo and Image Files
 
 
 
Audio and Video Files
 
 
 
Other File Types
 
 
 
  Suscribirse  
Notificarme de