Pali Rohár zmienił licencję projektu libopenaptx, który oferuje implementację kodeka aptX (Audio Processing Technology) wykorzystywanego w profilu Bluetooth A2DP. Pakiet zawiera bibliotekę libopenaptx.so oraz narzędzia do kodowania i dekodowania dźwięku. Licencja została zmieniona z LGPLv2.1 na GPLv3+, co uniemożliwi wykorzystanie kodu libopenaptx w projektach rozprowadzanych wyłącznie na podstawie licencji GPLv2 bez ponownej licencjonizacji powiązanego z biblioteką kodu do GPLv3. Zostanie w ten sposób osiągnięta zgodność licencyjna z projektami na licencji Apache 2.0.
Zmiana licencji była odpowiedzią na konflikt z deweloperami projektu Freedesktop i firmą Collabora, którzy, zdaniem twórcy Libopenaptx, naruszyli umowę licencyjną oraz nadużyli przyjętego kodeksu postępowania. W szczególności, zdaniem Pali, deweloperzy Freedesktop i Collabora przenieśli jego kod do PulseAudio, nie podając informacji o autorze.
Jako dowód autor Libopenaptx powołał się na napisaną przez siebie funkcję decode_buffer, w której zgadzają się nawet komentarze, ale według Pali deweloperzy Freedesktop stwierdzili, że to ich własny kod. W odpowiedzi na oburzenie i próbę omówienia, że takie działanie stanowi naruszenie umowy licencyjnej, deweloperzy Freedesktop po prostu usunęli wiadomość o problemie pod pretekstem, że ta dyskusja narusza przyjęty w projekcie kodeks postępowania.
Uświadomiwszy sobie, że nie można rozwiązać problemu w sposób pokojowy, autor Libopenaptx zmienił licencję na GPLv3 i dodał adnotację o zakazie używania kodu w projektach Freedesktop. Zmiana licencji zaczęła obowiązywać od wersji libopenaptx 0.2.1, która już została dodana przez deweloperów Freedesktop do czarnej listy, zabraniającej użycia w kodzie PipeWire z powodu niezgodności licencyjnej.
Daniel Stone, były członek zarządu X.Org Foundation i jeden z kluczowych programistów Wayland i PipeWire, aktualnie kierujący projektami graficznymi w firmie Collabora, stwierdził, że zmiana licencji na libopenaptx jest wątpliwa z punktu widzenia prawa. Libopenaptx nie jest osobistym projektem Paliego Rohara, a jedynie fork kodu z projektu FFmpeg, który pierwotnie był dostarczany na licencji LGPLv2.1. Pali Rohar nie ma prawa jednostronnie zmieniać licencji na części kodu, które do niego nie należą, a tym bardziej narzucać dodatkowe ograniczenia dotyczące jego wykorzystania.
Aby przeprowadzić zmiany w licencji, potrzebna jest wyraźna zgoda oryginalnych autorów kodu, z którego powstało odgałęzienie. Zgodnie z warunkami LGPL, aktualizacja licencji bez uzyskania zgody od innych autorów jest możliwa tylko do nowszej wersji LGPL, tj. do LGPL v3.0, ale nie do GPLv3, która wprowadza dodatkowe ograniczenia. Pali Rohar odpowiedział, że dodatkowych ograniczeń nie wprowadzał, a projekt jest teraz dostarczany na czystej licencji GPLv3, a wzmianki o Freedesktop i Collabora to jedynie wyjaśnienie w pliku README, że projekty naruszające GPLv3 nie mogą korzystać z tego kodu.
Odnośnie do twierdzenia, że Freedesktop naruszył licencję na Libopenaptx, zdaniem Daniela Stone'a jest to niezgodne z rzeczywistością, ponieważ kod został przekazany przez programistę projektowi PulseAudio na warunkach umowy licencyjnej, a dalsze próby programisty Libopenaptx do cofnięcia przekazanych praw na kod są nieważne. Powiązanie przestrzegania kodeksu postępowania z naruszeniem licencji, jak również twierdzenie o naruszeniu licencji przez firmę Collabora, która nie ma żadnego związku z działaniami, które doprowadziły do wykluczenia uczestnika, są bezpodstawne.
Daniel Stone oświadczył, że to on usunął tę dyskusję i zablokował programistę Libopenaptx, ale zrobił to z własnej inicjatywy w wolnym czasie, a nie jako pracownik Collabora. Usunięcie miało miejsce po systematycznych naruszeniach kodeksu postępowania, z którym zgadzają się wszyscy uczestnicy dyskusji. Porównywanie usunięcia za zachowanie do naruszenia licencji jest absurdalne, ponieważ otwarte licencje nie regulują prawa do prowadzenia rozwoju tylko na nienadzorowanych platformach i nie wymagają zapewnienia nieograniczonego dostępu do wszystkich platform rozwojowych.
Źródło: opennet.ru
