W połowie września Ministerstwo Sprawiedliwości ujawniło algorytm losowania sędziów do spraw sądowych (dostępny jest na stronie MS).
To krok w kierunku poznawania zasad doboru sędziów do konkretnych spraw sądowych. Został osiągnięty dzięki wysiłkowi organizacji społecznej – Fundacji ePaństwo (obecnie Moje Państwo), a w niej naszego członka Krzysztofa Izdebskiego. Fundacja wygrała sprawę o ujawnienie algorytmu już w kwietniu 2021 r. (wyrok z 19 kwietnia 2021 r., III OSK 836/21).
W wyroku tym Sąd wskazał m.in.:
W ocenie Naczelnego Sądu Administracyjnego czynności organu związane z zaprojektowaniem SLPS, jego obsługą i funkcjonowaniem to czynności o charakterze “sprawy publicznej” w rozumieniu art. 1 ust. 1 ustawy o dostępie do informacji publicznej. Algorytm przedstawiający sposób działania aplikacji sieciowej SLPS za pomocą której wyznaczany jest skład rozpoznający sprawę sądową mieści się w pojęciu informacji publicznej z tego względu, że informuje o sposobie funkcjonowania sądów, o sposobie przyjmowania i załatwiania spraw (art. 6 ust. 1 pkt 3 lit. d ustawy o dostępie do informacji publicznej).
W czerwcu pisała o tym Gazeta Wyborcza: Ziobro przegrał w sądzie. NSA orzekł, że algorytm sądolotka to informacja publiczna.
Co wiemy dzięki algorytmowi? Niestety niewystarczająco dużo, by zweryfikować, czy losowanie działa dobrze. Algorytm to tylko opis kryteriów i sposobu losowania. Obywatele nie dowiedzą się, jak wygląda jakość danych dostarczanych „maszynie losującej” (NIK zgłosiła w tej sprawie zastrzeżenia – wystąpienie pokontrolne NIK), ani czy działa ona zgodnie z tym algorytmem.
Algorytm to nie wszystko
Dlaczego się tego nie dowiemy? Ponieważ wciąż nie znamy kodu źródłowego, na którym oparte jest losowanie sędziów. Kiedy Fundacja ePaństwo zaczynała swoją batalię, zapytała o algorytm losowania sędziów i kod źródłowy Systemu Losowego Przydziału Spraw (SLPS).
Ministerstwo nie chciało udostępnić tych informacji, nazywając je “technicznymi”, a Wojewódzki Sąd Administracyjny zgodził się ze stanowiskiem resortu. Fundacja ePaństwo zaskarżyła wyrok, ale jedynie w części dotyczącej udostępnienia algorytmu. I to w sprawie algorytmu wypowiedział się Naczelny Sąd Administracyjny w kwietniu, uznając go za informację publiczną.
Sprawa ujawnienia kodu źródłowego wciąż pozostaje aktualna
Sieć Obywatelska Watchdog Polska również zapytała o kod źródłowy SLPS i nam również odmówiono udostępnienia go. Wojewódzki Sąd Administracyjny oddalił naszą skargę w tej sprawie (II SAB/Wa 502/18), uznał bowiem, że sposób zbudowania owej “maszyny losującej”, czyli kod źródłowy, nie jest informacją publiczną. Dlaczego? Bo tak orzekają sądy od lat. Ale są też dobre wyroki, w tym jeden o przełomowym znaczeniu – szeroko opisywany (Sygn. V Ca 454/07). Sąd jednak się do niego nie odniósł, gdyż nie wskazaliśmy miejsca jego publikacji. Problem z dotarciem do wyroku sądu (sygnatura była podana) miał też Minister Sprawiedliwości, co wskazał w swojej odpowiedzi na skargę. Najwyraźniej te dwie instytucje mają jeszcze większy problem z docieraniem do informacji niż obywatele. A szkoda, że skład orzekający nie był dociekliwy, dowiedziałby się, iż już w 2007 roku był sąd, który odkrył, że:
Zastosowane protokoły [w sensie informatycznym – przyp. aut.], mimo iż udostępnione publicznie, powinny spełniać oczekiwane standardy bezpieczeństwa, niezbędne przy przesyłaniu danych. Pozwany Zakład zaś nie wykazał jakie zagrożenia dla działania systemu mogą wyniknąć z ujawnienia omawianego tu protokołu. Zdaniem sądu nie może być uznane za wystarczające ograniczenie się do stwierdzenia, że protokół KSI MAIL nie jest wyizolowaną aplikacją, a częścią systemu gromadzącego dane wrażliwe. Powołując się na odmowę z tej przyczyny Prezes Zakładu zobowiązany był wskazać argumentację, która pozwalałaby na sformułowanie kategorycznych wniosków co do istnienia wspomnianego zagrożenia.
Sąd Okręgowy oddalił apelację ZUS w sprawie protokołu KSI MAIL. Koniec.
Kiedy sąd rozpatrywał naszą skargę dotyczącą nieudostępnienia kodu źródłowego dotyczącego losowania sędziów, nie oczekiwał merytorycznej argumentacji ze strony Ministra Ziobro. Od razu zgodził się, iż ujawnienie informacji o mechanizmie działania wpłynie na jakość funkcjonowania programu i uczyni go podatnym na ataki:
Niekiedy udostępnianie informacji technicznych może prowadzić do ujawnienia danych mających istotny wpływ na bezpieczeństwo danego narzędzia informatycznego. Udostępnienie informacji dotyczących zasad przydzielania sędziów sądów powszechnych do spraw może pociągnąć za sobą próby zewnętrznych ingerencji w wyniki losowań, co naruszałoby zasadę niezawisłości sędziowskiej i powodowałoby ograniczenie zaufania obywateli do instytucji Sądu.
A czy brak informacji na temat działania maszyny losującej nie podważa realnie tego zaufania? Sądy administracyjne zdają się nie rozumieć, że w świecie kodów komputerowych im więcej oczu patrzy, tym lepszy produkt powstaje. W zamian sądy odsyłają obywatela do instytucji odpowiedzialnych za kontrolę.
Przede wszystkim jednak trudno się z zgodzić z tym, że wiedza pozwalająca ocenić, czy założenia losowania są technicznie wdrażane, nie stanowi sprawy dotyczącej jakości funkcjonowania państwa i nie dotyczy obywateli oraz nie stanowi informacji o działalności władz publicznych zgodnie z art. 61 Konstytucji RP.
Na marginesie jeszcze sąd dodał, że trzeba chronić prawa autorskie firm, które wykonują zamówienia publiczne. Tego argumentu nie podnosił nawet Minister Sprawiedliwości w odpowiedzi na skargę, podniósł go Sąd. A przecież to kwestia tego, jakie założenia przyjmie zamawiający, zaś sama jawność nie wyklucza ochrony praw autorskich. Nota bene, z odpowiedzi, którą Sieć Obywatelska Watchdog Polska otrzymała od Ministerstwa Sprawiedliwości, wynika, że w ogóle nie powstała żadna umowa na przygotowanie programu. Ministerstwo samo stworzyło ten program. Tak chyba należałoby rozumieć odpowiedź (link do odpowiedzi). Tym bardziej argumentacja sądu wydaje się niezrozumiała.
To wszystko powoduje, że ujawnienie algorytmu to krok w odkrywaniu, że wciąż brak nam innych danych.
Widzimy jednak inną istotną kwestię, którą warto podnieść przy tej okazji. Jednym z ważnych kryteriów w przyznawaniu spraw są nieobecności w pracy. Natomiast nie ma kryterium obszerności sprawy. Dlaczego? Bo nie przygotowano danych. Z badań prowadzonych dwa lata temu (raport) przez Sieć Watchdog wynika, że sądy zbierają informację o liczbie tomów, ale raczej tylko w sprawach karnych powyżej pięciu tomów. Co więcej, sądy twierdziły, że z systemu nie są w stanie wygenerować przyporządkowania – ile takich spraw ma dany sędzia. Być może to jest sprawa, o którą warto się starać.
Zarówno algorytm (wraz z pełną dokumentacją wymagań), jak i kod źródłowy (bez fragmentów związanych z bezpieczeństwem!) powinny być jawne i dostępne w trybie bezwnioskowym już na etapie wstępnych prac. Dzięki temu system powstawałby przy współudziale ekspertów z różnych dziedzin, dodających często nawet wolontarystycznie swój wkład. Oczywiście to by przekładało się na potencjalne mniejsze wynagrodzenie dla dostawcy, który byłby w dużej mierze odciążony, ale to inna sprawa.
Warto natomiast zwrócić uwagę, że to nie wyczerpuje tematu, bo nawet dostawszy kod źródłowy nadal nie będziemy mieć pewności, czy to ten właśnie hipotetycznie udostępniony kod źródłowy jest faktycznie częścią programu wykonywanego na serwerach Ministerstwa. Propozycję, jak by mogło (i – co do zasady – powinno!) wyglądać docelowe rozwiązanie, przedstawił Informatyk Zakładowy w artykule “O algorytmach dla prawników” (https://informatykzakladowy.pl/o-algorytmach-dla-prawnikow/).
Michale, dlaczego “bez fragmentów związanych z bezpieczeństwem!”? Środowisko informatyczne od dawna dostrzegą zasadę Kerckhoffsa, która uznaje, że system kryptograficzny powinien być bezpieczny nawet wtedy, gdy wszystkie szczegóły jego działania – oprócz klucza – są znane. Wiele oprogramowania, które ma szczególne wymagania bezpieczeństwa jest open-source (Linux, biblioteki kryptograficzne tj. OpenSSL) i jest wykorzystywane w środowiskach o szczególnych wymaganiach bezpieczeństwa (sektor bezpeczeństwa, sektor zbrojeniowy, sektor medyczny, sektor cyberbezpieczeństwa), co pozwala ich publiczny audyt. Brak dostępu do dostępu do kodu źródłowego nie oznacza, że odpowiednio sfinansowany agresor nie jest w stanie działać (zob. portfolio NSA ujawnione przez Snowdena wobec oprogramowania komercyjnego).
Wartym odnotowania jest Rosja, która w 2019 roku opublikowała kod źródłowy swojego systemu do głosowania elektronicznego wraz z wyznaczeniem nagrody za znalezienie podatności tzw. bug bounty (https://www.zdnet.com/article/moscows-blockchain-voting-system-cracked-a-month-before-election/). W 2020 proces powtórzono, ujawniając przebudowany system, wraz z modułami zaplecza (backend) i zarządzania kluczami, a system stał się bezpiecznym ( https://ict.moscow/en/news/how-moscow-organized-voting-on-blockchain-in-2020/ ).
Nie bez znaczenia jest także to, że publiczny dostęp do kodu źródłowego sprawia, że programista (autor) dba o to, aby rozwiązanie miało dobrą jakość. Wszak będzie mógł na tej podstawie oceniany podczas przyszłej współpracy. To oczywista oszczędność i ochrona przed nieprawidłowościami.
“Tego argumentu nie podnosił nawet Minister Sprawiedliwości w odpowiedzi na skargę, podniósł go Sąd.”
Sąd na straży władzy przed wścibskimi obywatelami!