Pali Rohár cambió la licencia del proyecto libopenaptx, que ofrece la implementación del códec aptX (Audio Processing Technology), utilizado en el perfil Bluetooth A2DP. El paquete incluye la biblioteca libopenaptx.so y utilidades para codificar y decodificar sonido. La licencia ha sido cambiada de LGPLv2.1 a GPLv3+, lo que resultará en la imposibilidad de usar el código de libopenaptx en proyectos que se distribuyen únicamente bajo la licencia GPLv2 sin reprocesar el código vinculado a la biblioteca a GPLv3. Con esto, se logrará la compatibilidad de licencia con proyectos bajo la licencia Apache 2.0.
El cambio de licencia fue una respuesta a un conflicto con los desarrolladores del proyecto Freedesktop y la empresa Collabora, quienes según el creador de Libopenaptx violaron el acuerdo de licencia y abusaron del código de conducta adoptado. En particular, según Pali, los desarrolladores de Freedesktop y Collabora trasladaron su código a PulseAudio sin darle crédito al autor.
Como prueba, el autor de libopenaptx citó una función que él escribió, decode_buffer, donde incluso coinciden los comentarios; sin embargo, según Pali, los desarrolladores de Freedesktop afirmaron que este era su propio código. En respuesta a la indignación y el intento de discutir que esta acción representa una violación del acuerdo de licencia, los desarrolladores de Freedesktop simplemente eliminaron el mensaje sobre el problema bajo el pretexto de que esta discusión infringe el código de conducta adoptado en el proyecto.
Al darse cuenta de la imposibilidad de resolver el problema de manera pacífica, el autor de libopenaptx cambió la licencia a GPLv3 y añadió una nota prohibiendo el uso del código en proyectos de Freedesktop. El cambio de licencia entró en vigor a partir de la versión libopenaptx 0.2.1, que ya ha sido añadida por los desarrolladores de Freedesktop a una lista negra que prohíbe su uso en el código de PipeWire debido a la incompatibilidad de licencias.
Daniel Stone, exmiembro de la junta directiva de X.Org Foundation y uno de los desarrolladores clave de Wayland y PipeWire, quien ocupa el cargo de líder de proyectos gráficos en Collabora, declaró que el cambio de licencia de libopenaptx es cuestionable desde el punto de vista legal. Libopenaptx no es un desarrollo personal de Pali Rohar, sino un fork de código del proyecto FFmpeg, que inicialmente se proporcionó bajo la licencia LGPLv2.1 y Pali Rohar no puede unilateralmente cambiar la licencia de las partes del código que no le pertenecen, y mucho menos imponer restricciones adicionales sobre el ámbito de uso.
Para la relicenciamiento se requiere el consentimiento explícito de los autores originales del código en base al cual se creó el fork. De acuerdo con los términos de LGPL, la actualización de la licencia sin obtener el consentimiento de otros autores solo es posible hasta una nueva versión de LGPL, es decir, hasta LGPL v3.0, pero no hasta GPLv3, que incluye restricciones adicionales. Pali Rohar respondió que no ha impuesto restricciones adicionales, el proyecto ahora se proporciona bajo una licencia GPLv3 pura, y las menciones sobre Freedesktop y Collabora son solo aclaraciones en el archivo README de que los proyectos que violen GPLv3 no pueden utilizar el código.
En cuanto a la afirmación de que Freedesktop violó la licencia de Libopenaptx, según Daniel Stone, esto no es cierto, ya que el código fue entregado por el desarrollador al proyecto PulseAudio con la aceptación de los términos del acuerdo de licencia, y los intentos posteriores del desarrollador de Libopenaptx de revocar el derecho transferido sobre el código carecen de validez. No tiene fundamento establecer una conexión entre el cumplimiento del código de conducta y la violación de la licencia, así como también la afirmación de que Collabora violó la licencia, la cual no está relacionada con las acciones que llevaron a la prohibición de un participante.
Daniel Stone declaró que fue él quien eliminó esa discusión y bloqueó al desarrollador de Libopenaptx, pero lo hizo por iniciativa personal en su tiempo libre, y no como empleado de Collabora. La eliminación se realizó tras violaciones sistemáticas del código de conducta, con el que todos los participantes de las discusiones están de acuerdo. Comparar la eliminación por comportamiento con la violación de la licencia es absurdo, ya que las licencias abiertas no regulan el derecho a llevar a cabo el desarrollo solo en plataformas no moderadas y no exigen proporcionar acceso ilimitado a todas las plataformas de desarrollo.
Fuente: opennet.ru
