Im więcej, tym gorzej. Zielone kodowanie może zmienić myślenie w branży IT

Pralki mają swą klasę energetyczną, w samochodach ważne jest, ile spalają, a w programach komputerowych? Na pytanie o wydajność energetyczną oprogramowania producent tylko wzruszy ramionami. To może się zmienić za sprawą tzw. zielonego kodowania, jeśli tylko konsumenci zorientują się, ile prądu czerpią im programy, z których korzystają.

06.10.2023 06.08
Zielone kodowanie zmieni branżę IT

Każdy wysłany mail, każda wyświetlona reklama czy śmieszny filmik na TikToku pochłaniają energię i generują ślad węglowy. Szacuje się, że sektor ICT (Information and Communications Technology) jest odpowiedzialny za 3 do 4 proc. rocznej światowej emisji gazów cieplarnianych. To więcej niż generują komercyjne loty samolotami. A nie zapowiada się, że będzie lepiej. Już teraz 60 proc. światowego PKB opiera się na gospodarce cyfrowej, a udział technologii – właściwie w każdej sferze życia – rośnie.

Najnowsze trendy też nie napawają optymizmem. Najgorętsze cyfrowe gadżety ostatnich lat są szalenie energochłonne. Naukowcy z Cambridge szacują, że jedna transakcja z użyciem Bitcoina może kosztować tyle energii elektrycznej, ile w ciągu 75 dni zużywa przeciętne gospodarstwo domowe. W marcu Kasper Groes Albin Ludvigsen, analityk danych zajmujący się wpływem sektora IT na środowisko, wyliczył, że ChatGPT pochłonął w samym styczniu tyle energii, ile emituje 175 tys. osób (więcej niż cała Bielsko-Biała), a rocznie emituje ok. 8,4 ton dwutlenku węgla. Uwzględnienie kosztów tego rozwoju może przynieść planecie więcej pożytku niż nawet najszerzej zakrojona akcja pozbywania się plastikowych słomek z kuchni.

Kiedy rozwiązanie jest częścią problemu

Do tego od lat nawołują aktywiści zachęcający do uwzględnienia zasad zielonego kodowania podczas tworzenia programów komputerowych. Wśród tych zasad jest tworzenie produktów o zwiększonej efektywności energetycznej, minimalizowanie przesyłu danych i informowanie o tym, ile energii elektrycznej pochłaniają konkretne rozwiązania. Ekologiczne podejście do tworzenia programów zaczyna się już na etapie decyzji biznesowych i często wymaga zmiany w sposobie myślenia osób projektujących dane rozwiązanie.

– Z doświadczeń z klientami widzę, że przy projektowaniu funkcjonalności często dominuje bezrefleksyjne podejście "im więcej, tym lepiej" – mówi Joanna Murzyn, założycielka Digital Ecology Institute (Instytutu Ekologii Cyfrowej). Przekonuje, że zamiast mnożyć byty na ślepo, warto monitorować, jak klienci korzystają z produktów i bez żalu pozbywać się tego, co jest zbędne.

zielone kodowanie koszty prądu
fot. eamesBot / Shutterstock.com

Dlatego zielone kodowanie zachęca nie tylko do weryfikowania nowych pomysłów, ale także do przemyślenia na nowo cyfrowych przyzwyczajeń, spojrzenia na nie z punktu widzenia kosztów ekologicznych. Można na przykład tak zaplanować pracę swojego programu, żeby najwięcej obliczeń wykorzystywał w momentach, w których w sieci najwięcej jest "czystego" prądu. – Jeśli posiadasz w domu panele słoneczne, to zaczynasz prać w ciągu dnia, żeby korzystać z energii, którą produkujesz. Tak samo w kwestii produktów cyfrowych. Często wystarczy zmienić trochę nawyki naszej interakcji z nimi, żeby zmniejszyć emisje dwutlenku węgla – podpowiada Murzyn. Wymienia dalsze sposoby na ograniczenie śladu węglowego cyfrowych produktów: rezygnację z autoplaya na stronie, optymalizację mediów oraz kodu, a nawet pozornie tak błahe decyzje jak wybór odpowiedniego fontu.

– Można wybrać font z biblioteki Google'a, który umieszczony na naszej stronie będzie łączył się z bazą giganta technologicznego i automatycznie przesyłał adresy IP osób, które ją odwiedzają. To generuje dodatkowe i niepotrzebne wywołania do serwera i może zwalniać działanie strony. Możemy również korzystać z fontów pochodzących z otwartych zasobów (open source), które odpowiednio przygotowujemy: oczyszczamy plik ze zbędnych znaków i alfabetów, kompresujemy i umieszczamy na własnym serwerze. W najlepszym wypadku wykorzystujemy fonty systemowe, czyli przechowywane lokalnie na naszym komputerze, dzięki czemu minimalizujemy ilość zawołań do serwera, a co za tym idzie: transferu danych – tłumaczy konsultantka.

Więcej reportaży czytaj w Magazynie Spider's Web+:

Tylko że trackery to dane, a dane to złoto internetu, tak samo jak czas i zaangażowanie użytkownika. Ten, przebijając się przez sztucznie napompowany tekst, ma przecież szansę obejrzeć więcej reklam. Tymczasem zielone kodowanie zachęca do ograniczania śledzenia, zbierania tylko niezbędnych informacji i dostarczania odbiorcy tego, po co przyszedł, w najbardziej efektywny sposób. Trudno w tym kontekście nie zauważyć, że w wielu wypadkach zasady zielonego projektowania są trudne do pogodzenia z opartymi na reklamie modelami biznesowymi dominującymi w sieci.

– Big Techy i korporacje chętnie się podpinają pod inicjatywy ekologiczne, bo taki jest trend. Jeśli wejdziesz na stronę Google.com, znajdziesz na niej listek głoszący, że są "neutralni klimatycznie". Tylko że to typ neutralności, którą się osiąga głównie przez offseting lub wykupywanie kredytów węglowych. Korporacja, która wykazuje rok do roku miliardowe zyski ze sprzedaży danych na nasz temat, stać na takie zagrania. To nie praca u źródła, która wymaga minimalizowania negatywnych skutków już na etapie projektowania – krytykuje Murzyn.

A tego często brakuje, bo nie przekłada się bezpośrednio na zysk. – Producenci oprogramowania troszczą się o energię zużywaną w centrach danych i w chmurze, bo płacą za nią grube miliony. To, na co nikt nie zwraca uwagi, to energia zużywana po stronie klienta. Dopóki użytkownik nie przychodzi się skarżyć, że program jest tak ciężki, że przeszkadza mu to w pracy, to nie ma problemu. To nie producenci płacą te rachunki – mówi Leszek Tasiemski z With Secure.

Nie mój koszt, nie mój problem

Tylko że dla klienta koszt środowiskowy oprogramowania często jest trudny do zauważenia. Programy nie zużywają energii, robi to komputer. Laptop nie dymi spalinami. Chmura, w której przechowujemy firmowe dane i zdjęcia z ostatnich wakacji, przywodzi na myśl bliżej nieokreślony niematerialny byt, a nie ogromną, wymagającą ciągłego chłodzenia i pochłaniającą ogromne ilości energii serwerownię.

– Wiele osób nie zdaje sobie sprawy z tego, że to, w jaki sposób korzysta z technologii i to, w jaki sposób dane oprogramowanie zostało napisane, wpływa na jego zużycie energii. Każda operacja, jak wymiana obrazu podczas rozmowy, włączenie rozmycia tła, wymaga obliczeń, a dodatkowe obliczenia to dodatkowy wydatek energii – tłumaczy Tasiemski.

koszty IT zielone kodowanie
fot. Blueastro / Shutterstock.com

Dlatego jednym z istotnych aspektów zielonego kodowania jest przejrzyste informowanie użytkowników o kosztach korzystania z technologii, choć zwykle firmy raczej wolałyby dalej udawać, że ich po prostu nie ma. W wypadku stron internetowych dociekliwy internauta może użyć wtyczek do przeglądarki lub kalkulatorów szacujących pobór energii danej www i jej ślad węglowy. W wypadku wydajności energetycznej programów działających poza przeglądarką sprawa ma się zupełnie inaczej.

– Próbując stworzyć narzędzie pokazujące zużycie energii, większość czasu spędziliśmy na szukaniu sposobu, w jaki można je wiarygodnie mierzyć. Jest mnóstwo komponentów, które twierdzą, że to robią, ale kiedy przeanalizowali je nasi inżynierowie, doszli do wniosku, że równie dobrze mogą rzucać kostką. Wyniki pomiarów są losowe i mogłyby prowadzić do błędnych wniosków. Pierwszy priorytet to wiarygodny, powtarzalny pomiar – twierdzi Tasiemski.

Dodaje jednak, że ostatnie zmiany w Windowsie 11 dobrze rokują i pozwolą wreszcie na wiarygodne mierzenie realnego poboru energii przez program na sprzęcie użytkownika, jeśli ten wyrazi na to zgodę. A przekonać go do tego można, nie tylko odwołując się do jego wrażliwego ekologicznie sumienia, ale także do działu księgowości, mającego przed oczyma Excela z rachunkiem za prąd. Zwizualizowane dane o realnym zużyciu energii przez program i zaprezentowanie alternatywnego rozwiązania chroniącego klienta, ale bardziej energooszczędnego, może zachęcić do zmiany ustawień – jeśli nie w imię spadku emisji, to spadku kosztów. Nie wszyscy potrzebujemy pełnego skanowania komputera co godzinę.

– W naszym programie mamy funkcję, która gromadzi z komputera klienta telemetrię (informacje o tym, jakie procesy czy połączenia sieciowe zostały uruchomione, etc.) i przesyła ją do chmury. Tam jest ona sprawdzana pod kątem wzorców zachowań odpowiadających atakom. To bardzo skuteczny sposób na zatrzymanie nawet zaawansowanego napastnika, ale kosztowny energetycznie. Gdy ta funkcja jest włączona, nasz program zużywa około 40 proc. więcej energii. Nie wszyscy klienci tej funkcji potrzebują na wszystkich maszynach – tłumaczy Tasiemski, którego zespół pracuje właśnie nad zmianą UI uwzględniającą informacje o tym, jak dane funkcje wpływają na energochłonność po stronie klienta.

Jednak takie manipulowanie wyglądem programu w wypadku niektórych sektorów niesie ze sobą realne zagrożenia. O ile bowiem Amerykanie potraktują taki panel jako ciekawostkę, o tyle istnieje niebezpieczeństwo, że bardziej proekologiczni Niemcy wyłączą zbyt wiele funkcji, żeby tylko zdobyć upragnioną ocenę A+. A ostatnią rzeczą, na którą firma zajmująca się cyberbezpieczeństwem może sobie pozwolić, to narażenie swoich klientów na ataki. Nawet w imię zmniejszenia emisji dwutlenku węgla.

Rundka po uniwersytetach

Rezygnowanie ze zbędnych funkcji, ograniczenie śledzenia, minimalistyczne korzystanie z mediów, wybór hostingu i informowanie o kosztach różnych ustawień to tylko część opowieści o ekologicznym podejściu do pisania programów. W sercu zielonego kodowania jest też oczywiście miejsce na sam kod i jego optymalizację.

Programowanie pozwala na zaskakująco dużo swobody. Facebooka, Zooma czy PokemonGo można było napisać na wiele różnych sposobów, korzystając z różnych języków programowania, algorytmów czy protokołów sieciowych. Wybory, których dokonała osoba projektująca kod, przekładają się bezpośrednio na ilość zużywanej przez program energii. Pisząc program, często bierze się pod uwagę optymalizowanie go pod kątem wydajności. Klient nie ma czasu ani cierpliwości na to, żeby program otwierał się długo i wolno działał. Ale i to ma swoje granice. Od pewnego momentu dalsze ulepszanie nie ma sensu, nie jest zauważalne dla odbiorcy. W wypadku optymalizacji pod kątem zużywania energii takiego sufitu nie ma. Mniej to zawsze lepiej.

– Producenci oprogramowania powinni obniżać zużycie energii niezależnie od tego, jak użytkownik używa produktu. Na przykład obowiązkiem producenta jest taka optymalizacja oprogramowania do telekonferencji, żeby niezależnie od tego, co na nich robisz, czy włączysz rozmycie tła, czy nie, czy włączysz kamerę, czy nie, twój komputer będzie zużywał jak najmniej energii – twierdzi Tasiemski. I zapowiada: – Chcemy wpłynąć na ustawodawców, a Komisja Europejska wydaje się być najlepszym celem, żeby wprowadzili niezależne standardy oceny wydajności energetycznej oprogramowania. Potrzebujemy etykiet energetycznych dla oprogramowania, nie tylko dla sprzętu.

Bez nich nie ma możliwości obiektywnego ocenienia, w jakim stopniu program jest ekologiczny. Tylko że napisanie takiego standardu nie tylko nie jest proste, próba jego stworzenia może budzić podejrzenia. Green Web Foundation, jedna z największych organizacji promująca zielone kodowanie, nawołuje, żeby patrzeć uważnie na intencje tych, którzy proponują wprowadzenie powszechnie obowiązujących przepisów czy wytycznych. "Po tym, jak padło publicznie wiele deklaracji, jesteśmy w momencie, w którym nie jest jasne, jak przejść od wysokich oczekiwań do realnych działań. Różne grupy będą wykorzystywać tę sytuacyjną niejednoznaczność, aby kształtować rynki lub krajobrazy polityczne na swoją własną korzyść" – tak pisze na swojej stronie The Green Web Foundation, ostrzegając, żeby patrzeć na ręce także takim osobom jak Tasiemski.

zielone kodowanie standard eletrooszczednosci
fot. VectorMine / Shutterstock.com

Choć więc Tasiemski nawołuje do stworzenia standardu, wie, że nie może on wyjść z With Secure, jeśli miałby zostać przyjęty przez rynek. Za tego typu inicjatywami musi stać niezależne ciało, najlepiej naukowe, które może być co najwyżej wspierane przez konkretne firmy. – Możemy kontrybuować do tworzenia takich standardów, ale nie bylibyśmy wiarygodni, tworząc samodzielnie coś takiego. Dlatego robię rundkę po uniwersytetach, żeby zebrać zaufane ciała. Udało mi się dobić do fińskiego ministerstwa transportu i komunikacji, znaleźliśmy też kilka projektów unijnych, w ramach których takie inicjatywy mogą być inkubowane i doprowadzić do powstania różnych standardów.

Przez portfel do serca

Jeśli powstaną takie standardy, będzie można weryfikować, jak wydajne energetycznie jest oprogramowanie tych technologicznych firm, które jak jeden mąż deklarują, że troszczą się o środowisko. Ale Tasiemski sięga dalej i przekonuje, że jeśli programy będą poddawane ocenie ekologicznej jak lodówki, pralki czy samochody, zacznie to być jedna ze zmiennych branych pod uwagę przez klientów w zakupach. To z kolei sprawi, że optymalizowanie programu pod kątem wydajności energetycznej po stronie użytkownika zacznie być elementem przewagi rynkowej. Jeśli firmy kupujące oprogramowanie dla pracowników zaczną liczyć koszty i wymagać środowiskowej oceny A+, producenci oprogramowania poczują presję, żeby takie rozwiązanie dostarczyć. Na razie jej nie czują.

– Rośnie świadomość tego, jak produkty cyfrowe wpływają na środowisko naturalne, ale badania wskazują jasno, że brakuje chęci wewnątrz organizacji i budżetu na wprowadzanie konkretnych rozwiązań – mówi z westchnieniem Murzyn.

Wiadomo, że na firmy najlepiej zadziała motywacja finansowa albo prawna, ale działania aktywistów-popularyzatorów takich jak Murzyn przynoszą już realne efekty, choćby we Francji. Zaprezentowany tam w 2022 roku RGESN (ogólny system odniesienia dla ekoprojektowania usług cyfrowych) to zbiór aż 79 kryteriów, na które ustawodawca zaleca zwrócić uwagę podczas projektowania usług cyfrowych. Zalecenia podzielone są na kategorie takie jak strategia, specyfikacja, architektura, UX i UI, treść, frontend, backend i hostowanie. Pokrywają się więc z tymi, które powtarzają aktywiści i organizacje pozarządowe zajmujące się zielonym kodowaniem. Jest o zerwaniu z polityką "im więcej funkcji, tym lepiej" czy o pozbyciu się zbędnych trackerów.

Choć na razie rząd francuski zastrzega, że jego inicjatywa opiera się na promowaniu dobrych praktyk i nie ma charakteru obowiązkowego ani regulacyjnego, budzi duży entuzjazm w środowisku. – To świetny przykład na to, że jeśli takie rozwiązanie idzie w parze z legislacją, pojawiają się konkretne pieniądze i startupy, które odpowiadają na realne potrzeby – cieszy się Murzyn. Zapał ten studzi Tasiemski. Jest przekonany, że trzeba przede wszystkim dotrzeć do konsumentów, by zielone kodowanie stało się standardem w branży.

– Temat chwyci, zwłaszcza jeśli będzie sygnalizował przewagę konkurencyjną. W oprogramowaniu zabezpieczającym masz siedmiu różnych producentów. Każdy z nich twierdzi, że jest najlepszy, ale ty nie masz żadnych możliwości sprawdzenia tego. Ale wyobraź sobie, że jeden z tych siedmiu mówi, że poza tym, że jest najlepszy, to jeszcze dba o wydajność energetyczną i ma dane, żeby to potwierdzić. Jeśli wszystko poza tym jest takie samo i cena jest taka sama, to ta wydajność przeważy. Szefowie będą o nią pytać, inwestorzy będą jej wymagać. Kiedy wygenerujemy popyt na zrównoważone działanie w oprogramowaniu, to może być zalążek kuli śniegowej, dzięki której to chwyci i optymalizacja stanie się częścią walki konkurencyjnej. 

A przy okazji będziemy robić to, co i tak powinniśmy robić dla planety.

Zdjęcie główne: fot. Thanumporn Thongkongkaew / Shutterstock.com
DATA PUBLIKACJI: 25.09.2023