r   e   k   l   a   m   a
r   e   k   l   a   m   a

Kto obroni Open Source? Chiński Allwinner licencje ma za nic, a społeczności śmieje się w twarz

Strona główna AktualnościOPROGRAMOWANIE

Chińskie firmy znane są z dość luźnego podejścia do kwestii licencjonowania i ochrony własności intelektualnej. Zwykle mówi się jednak o tym w kontekście restrykcyjnych licencji komercyjnych i oprogramowania własnościowego. Nie oznacza to, że z Wolnym Oprogramowaniem jest inaczej. Jeden z najbardziej znanych chińskich producentów mikroprocesorów, Allwinner Technology z Zhuhai, pokazuje, że zapisy licencji GPL są dla niego bez znaczenia, a zarzuty wysuwane przez niezadowoloną z takiego stanu rzeczy społeczność Open Source traktuje niezbyt poważnie. Co jednak można zrobić z firmą działającą całkowicie poza respektowanym na Zachodzie porządkiem prawnym?

Na rynku najtańszych mikroprocesorów dla urządzeń przenośnych i wbudowanych mało kto mógł z Allwinnerem konkurować. Chińczycy oferują np. czip A33 z czterema rdzeniami Cortex-A7 i zintegrowanym GPU Mali-400 MP2, który wykorzystywany jest w tabletach kosztujących już 30 dolarów. Przygotowuje też sterowniki dla tych układów SoC, oraz biblioteki programistyczne oraz multimedialne. Wśród nich jest oprogramowanie dla autorskiego procesora sygnałowego CedarX, wbudowywanego w czipy z serii A. Pozwala on na tych relatywnie przecież słabych procesorach dekodować dwuwymiarowe wideo 2160p (4K) oraz stereoskopowe wideo 1080p.

Od kilku już lat społeczność Open Source zwraca uwagę na naruszenia licencji GPL związane z nieudostępnianiem kodu źródłowego sterowników Allwinnera dla Androida i Linuksa, ewidentnie wykorzystujących kod licencjonowany na licencji LGPL. Producent oferuje je wyłącznie jako binarne bloby, nigdzie na swoich stronach nie można znaleźć wymaganych przez tę wolną licencję źródeł. Nie przeszkodziło to niezależnym programistom stworzyć metodami odwrotnej inżynierii własnych sterowników, zapewniających sprzętową akcelerację wideo na tym tanim i ogromnie popularnym sprzęcie – ale nie w tym problem. Miesiąc temu okazało się, że Allwinner nie tylko nie publikuje kodu dla sterowników pamięci, wideo, kamery czy ekranów dotykowych, ale też po prostu wykrada na dużą skalę otwarty kod, by wykorzystać go w swoich kodekach dla wspomnianego CedarX.

r   e   k   l   a   m   a

Pracujący nad otwartą alternatywą dla sterowników Allwinnera programista Luc Verhaegen zidentyfikował w nich sporo kodu pochodzącego z bibliotek ffmpeg (licencjonowanej jako LGPL) oraz libVP62, należącej kiedyś do On2 Technologies, a obecnie do Google. Zgromadził też dowody, że nie ma mowy o tym, by do naruszenia licencji doszło w wyniku omyłki, lub też odpowiadał za to ktoś inny, niż inżynierowie chińskiej firmy. Co ciekawe, jego list z zarzutami nie został zignorowany. Otrzymał w odpowiedzi zapewnienia, że w przyszłości będzie lepiej, że odpowiednie sterowniki zostaną otwarte, że podjęte zostaną działania na rzecz przestrzegania zapisów licencyjnych.

Tydzień po odkryciu faktycznie coś się zmieniło. W swoim repozytorium na GitHubie, gdzie firma przechowuje swoje binarne bloby, pojawił się plik z licencją LGPL i zapisem, że oprogramowanie zostało wydane na warunkach licencji GNU Lesser General Public License (LGPL) w wersji 2.1 lub późniejszej. To wszystko – licencji i binarnemu blobowi nie towarzyszył żaden kod źródłowy. Dwa tygodnie później pojawił się zaś nowy blob. Programista Olliver Schinagl pobawił się dekompilatorem i zauważył, że Chińczycy zaczęli zmieniać nazwy funkcji w nieswoim kodzie, tak by ukryć jego realne pochodzenie. Jednocześnie przywrócili wcześniej wycięte zapisy licencyjne przy plikach OpenMAX, stanowiące, że prawa autorskie należą do Fundacji Linuksa i zrobili nieco porządków w repozytorium.

Kolejna zmiana sprzed kilku dni popchnęła sprawę jeszcze dalej. Oficjalna aktualizacja bibliotek CedarX, wgrana jako wydanie poprawkowe, rozwiązujące kilka problemów, przyniosła jedynie dalsze przeróbki kodu, tak by ukryć bezprawne wykorzystanie otwartych źródeł, wycięto z nich wszystkie używane wcześniej symbole. Widać jednak, że inżynierowie Allwinnera nie bardzo wiedzą, jak zabrać się do tego problemu. Luc Verhaegen na łamach listy linux-sunxi pokazał, że wciąż łatwo zidentyfikować opensource'owe źródła. Krótkowzroczność firmy jest po prostu zadziwiająca – producent pogarsza swoją sytuację każdym kolejnym posunięciem.

Ciekawe spostrzeżenie w tej kwestii wysunął na liście dyskusyjnej Michał Suchanek – być może po prostu nie warto już się zajmować Allwinnerem. Czasy, gdy firma produkowała niezły sprzęt i starała się jakoś współpracować ze społecznością najwyraźniej już minęły, więc dziś jedyne co można zrobić, to utrzymywać otwarty kod dla przestarzałych już urządzeń. Trudno się dziwić takiej opinii: w sytuacji, gdy swoje własne tanie układy SoC robi niemal każdy producent, z większym poszanowaniem licencji, tu po prostu może nie być o co kruszyć kopii. Zachodni programiści przecież raczej nie założą sprawy w chińskim sądzie, by zmusić Allwinnera do respektowania zapisów licencji. Zignorowanie Allwinnera może sprawić, że producenci sprzętu dla końcowych użytkowników po prostu będą rozglądali się za innymi czipsetami, lepiej działającymi z rozwijanym przez strony trzecie oprogramowaniem.

© dobreprogramy
r   e   k   l   a   m   a
r   e   k   l   a   m   a

Komentarze

r   e   k   l   a   m   a
r   e   k   l   a   m   a
Czy wiesz, że używamy cookies (ciasteczek)? Dowiedz się więcej o celu ich używania i zmianach ustawień.
Korzystając ze strony i asystenta pobierania wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki.