5.12.20223 min
Maciej Olanicki

Maciej OlanickiRedakcja Bulldogjob

Programowanie dla buntu – czym jest protestware?

Dowiedz się, czym jest protestware, nowa forma buntu programistów, która szczególnie dotyka open source.

Programowanie dla buntu – czym jest protestware?

Można odnieść wrażenie, że open source narodziło się z buntu. Grupka pasjonatów pod wodzą Richarda M. Stallmana stwierdziła, że zacznie robić rzeczy inaczej niż cały świat dotychczas – nie tylko będzie produkować, ale też udostępniać całe zaplecze know-how, informacje, jak ten produkt działa, w postaci kodu samego oprogramowania. Open source jest już dziś jednak systematycznie zawłaszczany przez dostawców usług chmurowych, więc bunt przybiera nowe formy. Jedną z nich jest prostestware.


Problem open source i strip mining

W ostatnich latach mamy do czynienia z dość ciekawym zjawiskiem, określanym przez społeczności czy fundacje stojące za rozwojem najważniejszych opensource’owych programów mianem strip miningu, czyli kopania odkrywkowego. Chodzi o to, że dostawcy usług chmurowych, na czele z Amazonem i Microsoftem, biorą sobie wolne oprogramowanie, budują na nim swoje usługi, a następnie nad wyraz efektywnie je spieniężają

Jednocześnie pierwotni twórcy oprogramowania nie mają z tego nic, a całościowy kod usług chmurowych nie jest nigdzie udostępniany, gdyż występuje wymieszanie licencji. Kod wolnego oprogramowania jest udostępniany, ale własnościowa nadbudowa stanowiąca o konkurencyjności tej lub innej usługi chmurowej już nie.

Cierpią z tego powodu między innymi programiści rozwijający opensource’owe oprogramowanie bazodanowe, co skłania ich do modyfikacji licencji w taki sposób, że nie można już o nich z czystym sumieniem mówić, że są wolne. 

Rodzi się frustracja, a ta wyzwala bunt, sprzeciw. W ostatnim czasie w światku open source można odnotować jego nową formę. Twórcy wolnego oprogramowania, choćby były to najmniejsze pakieciki npm, umyślnie sabotują sukces swoich narzędzi, wstrzykując w nie złośliwy kod. Akt ten ma mieć charakter performatywny, często także politycznie, ale jest też ogromnym zagrożeniem dla bezpieczeństwa oprogramowania. Zjawisko to ma już swoją nazwę – protestware.


Czym jest protestware?

Zjawisko protestware można zdefiniować jako umyślne umieszczanie szkodliwego kodu przez twórców oprogramowania, głównie opensource’owego, we własnych pakietach. W dzisiejszych czasach, kiedy wszystko jest modułowe, zbudowane na mikrousługach, chodzi więc o naruszanie bezpieczeństwa łańcucha dostaw. Nietrudno wyobrazić sobie sytuacje, w których konkretna biblioteka, czy też – najczęściej paczka npm – rozkłada całe bezpieczeństwo aplikacji na łopatki przez podatność umyślnie umieszczoną przez twórcę tejże aplikacji lub paczki.

Osobną kwestią są motywacje. Te mogą być liczne. Od wspomnianego poczucia bycia wykorzystywanym po polityczne. W tym ostatnim aspekcie wyróżnili się w ostatnim czasie programiści rosyjscy. W ramach protestu przeciwko inwazji na Ukrainę, część z nich zdecydowała się umieścić złośliwy kod, by sabotować działalność aparatu Federacji Rosyjskiej. Ale to także działa w drugą stronę, twórcy npm, którzy wiedzą, że ich kod jest wykorzystywany między innymi w rosyjskim systemie bankowości, zdecydowali się wyrazić swój sprzeciw przeciwko wojnie, trując swoje paczki. 

Sprawa jest całkiem poważna, chodzi o politycznie motywowany sabotaż, wojna przeniosła się na grunt produkcji opensource’owego oprogramowania. Niemniej sprzeciw i bunt przebiega nie tylko w stosunku do Rosji, ale też do całego ładu świata zachodniego, który dla wielu przestaje być satysfakcjonujący. Programiści trują swoje paczki, bo albo nie zarabiają na tym, co big tech robi z efektami ich pracy, bądź też w ogóle kontestują zastany porządek.


Kontrowersje wokół protestware

Wiele lat musiało upłynąć, aby big tech przekonał się, że open source nie jest rakiem, lecz czymś, co należy eksplorować. Dziś wiele mówi się o bezpieczeństwie open source, sam spotkałem się z opiniami, skądinąd rozsądnych ludzi, że nigdy open source nie będzie bezpieczne, gdyż kod jest dostępny dla każdego i każdy może tam umieścić, co chce. 

Nie zgadzam się z nimi. Otwarcie kodu sprawia, że może on podlegać dowolnym audytom, zleconym przez kogokolwiek. Nic nie stoi na przeszkodzie, abyśmy jutro ty czy ja zamówili audyt bezpieczeństwa dowolnej dystrybucji Linuksa. Inaczej jest z oprogramowaniem własnościowym, udostępnianym na komercyjnej licencji – tam zbadać „twardość” oprogramowania może albo producent, albo wyznaczone (i opłacane) przez niego firmy. 

Spójrzmy na medal z dwóch stron. Z jednej strony społeczność opensource’owa, która decyduje dołączyć się do ruchu protestware, zdaje się popchnięta do desperacji. Z drugiej mimowolnie rozdmuchuje uprzedzenia w stosunku wolnego oprogramowania – firmy boją się z niego korzystać, obawiając się o bezpieczeństwo. 

Teraz ryzyko naruszenia tego bezpieczeństwa pochodzi nie tylko od napastników, „hakerów”, ale również od producentów samego oprogramowania. To się oprogramowaniu open source nie przysłuży.

<p>Loading...</p>