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

Spór o niezgodność licencji zaszkodził wsparciu Linuksa na procesorach ARM

Strona główna Aktualności

To, czy wymyślona przez Richarda Stallmana licencja GPL dodaje Linuksowi skrzydeł, czy jest kłodą rzuconą pod nogi, pozostanie do końca świata kwestią sporną, zależną od ideologicznych zapatrywań uczestników dyskusji. Nikt jednak nie może zaprzeczyć temu, że jej wymogi czasami zmuszają linuksowych deweloperów do podejmowania decyzji trudnych i szkodliwych z czysto technicznej perspektywy.

Liczba dostępnych na rynku urządzeń z procesorami z rdzeniami ARM w starszych wersjach (v5 i v6, ale i jeszcze v4) nie jest mała. To przede wszystkim telefony i tablety z wcześniejszymi wersjami Androida. Wszystkie one korzystały do tej pory z software'owych bibliotek do obliczeń zmiennoprzecinkowych – sprzętowa jednostka FPU pojawiła się w ARM-ie dopiero w rdzeniach v7 (Cortex-A5 do Cortex-A15). Oczywiście sprzętowa jednostka zmiennoprzecinkowa jest znacznie wydajniejszym rozwiązaniem, ale i software'owa emulacja, jaką zapewniało jądro Linuksa dzięki kodowi emulacji NWFPE (Netwinder Floating Point Emulation) i VFP (Vector Floating Point), pozwalała na uruchamianie wymagającego takiej arytmetyki oprogramowania ze znośną wydajnością.

Teraz, jeśli ktoś zainstaluje na tych urządzeniach nowe jądro Linuksa, to w praktyce będzie mógł odstawić urządzenie na półkę, jako przycisk do papieru. Russel King, opiekun gałęzi ARM linuksowego jądra poinformował, że wprowadził łatkę usuwającą wsparcie dla zmiennoprzecinkowej emulacji software'owej. Powód – problemy licencyjne. Wykorzystywana przez emulację biblioteka softfloat, będąca kompletną, darmową implementacją standardu IEC/IEEE dla binarnej arytmetyki zmiennoprzecinkowej, wydana została na dość specyficznej licencji. Jej autor, John R. Hauser pisze:

To oprogramowanie jest udostępniane za darmo (…) może zawierać błędy, które czasami doprowadzą do niewłaściwego działania. Korzystanie z oprogramowania jest dozwolone tylko dla tych osób i organizacji, które mogą wziąć i które wezmą na siebie pełną odpowiedzialność za wszelkie straty, poniesione koszty i inne problemy wywołane korzystaniem z oprogramowania, i które w ten sposób uchronią Johna Hausera i International Computer Science Institute (…) przed odpowiedzialnością za poniesione przez ich klientów straty i koszty w wyniku korzystania z tego oprogramowania.

Fundacja Wolnego Oprogramowania po przeprowadzeniu analizy tego zapisu uznała, że biblioteka softfloat jest więc niezgodna z licencją GPLv2, ubezpieczający przed odpowiedzialnością zapis stanowi bowiem dodatkowe ograniczenie, niezgodne z sekcją 6. tej licencji. Jako że kod NWFPE zawiera softfloat w całości, a VFP jest napisany na jej podstawie, King uznał, że musi on zniknąć z Linuksa.

Opiekun kodu ARM przyznaje, że konsekwencje takiej zmiany są niszczące – procesory ze starszymi wersjami rdzeni ARM, po usunięciu kodu NWFPE nie będą w stanie uruchomić w warstwie użytkownika oprogramowania korzystającego ze zmiennoprzecinkowej arytmetyki. Nieco lepiej wygląda sytuacja z VFP – usunięcie kodu dotknie jedynie te instrukcje, które nie zostały zaimplementowane sprzętowo i zostały zwrócone do uruchomienia przez software'owy emulator. Zaszkodzi to przede wszystkim czipom od Qualcomma, podczas gdy czipy Texas Instruments (OMAP) powinny sobie z taką sytuacją poradzić.

Są tylko dwa wyjścia z sytuacji – albo ktoś nakłoni Johna Hausera do ponownego wydania swojej biblioteki na nowej, zgodnej z GPL licencji, albo też ktoś zdoła napisać odpowiednik softfloat na nowo, wykorzystując techniki odwrotnej inżynierii „na czysto” („clean room”). Póki do tego nie dojdzie, użytkownicy starszych telefonów i tabletów z Androidem, ale też innych urządzeń i systemów operacyjnych zawierających linuksowe jądro, powinni trzymać się z dala od aktualizacji, które mogłyby zainstalować w ich systemie kernel „oczyszczony” z niewłaściwie licencjonowanego kodu.

Co ciekawe, sam King twierdzi, że samemu Linusowi Torvaldsowi ta sytuacja licencyjna nie przeszkadzała. Twórca Linuksa ma uważać, że licencje są kompatybilne, bez względu na to, co Free Software Foundation sobie o tym myśli. Możliwe więc, że przeciwstawi się takim okaleczającym Linuksa posunięciom.

r   e   k   l   a   m   a
© 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.