Przeglądam właśnie źródła aplikacji "Stop Covid" na githubie. Jeśli chodzi o używane oprogramowanie jestem paranoikiem (no, może umiarkowanym, niektóre rzeczy odkładam na później choć powinienem dawno je zrobić, np. cały czas nie zainstalowałem Qubes OS polecanego m.in. przez Edwarda Snowdena). Natomiast pomysł, żeby zainstalować sobie z własnej woli aplikację, która będzie mnie śledzić i informować innych o moim położeniu wydał mi się tak pocieszny, że w ogóle nie uważałem go za poważny. Uwaga! Żeby przypadkiem nikt nie pomyślał, że reklamuję tę aplikację i że zachęcam do czegokolwiek. Jeżeli do czegoś zachęcam, to do samodzielnego myślenia.
Pomysł na aplikację informującą o możliwości zakażenia przez kontakt z zakażoną osobą, która też jej używa może mieć sens, jeżeli miałby rzeczywiście pomóc ochronić przed zarażeniem ale jego orwellowski charakter każe z miejsca go odrzucić. Nikt nie ma ochoty być jeszcze bardziej inwigilowanym elektronicznie niż już jest. Jeżeli ktoś naprawdę ma zamiar namówić kogokolwiek na udział w takim przedsięwzięciu musi po pierwsze napisać program, który nie przekazywałby żadnych danych, których nie chce przekazywać jego użytkownik, a jednak pozostawałby skuteczny i po drugie, udowodnić że nie istnieje możliwość innego wykorzystania programu. I to drugie jest najciekawsze w tym przedsięwzięciu.
Podstawowa kwestia to udostępnienie kodu źródłowego. I kod źródłowy tej aplikacji został udostępniony na githubie. Każdy może go przeczytać, przetestować i skompilować i sprawdzić, czy aplikacja rzeczywiście nie przekazuje żadnych danych nieznanemu Wielkiemu Bratu. Ale sam kod źródłowy to nie wszystko. Ten jest rzeczywiście dobrze udokumentowany co wcale nie jest takie częste. Wręcz przeciwnie, programiści na ogół nie lubią pisać czegokolwiek poza kodem, pisanie dokumentacji traktują jako przymus. Nawet w wydawałoby się bardzo poważnych firmach to jest zaniedbywane. Tu można zobaczyć jak takie rzeczy powinno się robić. Ta dokumentacja jest po prostu genialna. Wszystko opisane w przejrzysty sposób, podzielone na logiczne części. Chyba nie da się zrobić tego lepiej. Jeżeli ktoś ma zamiar zacząć uczyć się programować, ma doskonały przykład jak powinno się organizować kod źródłowy wraz z dokumentacją, aby inni programiści mogli łatwo wejść w projekt i dalej go rozwijać. No i jeżeli ktoś jest paranoikiem jak ja, może nie ściągać aplikacji z Google Play tylko samemu skompilować i zanstalować na własnym telefonie. Teraz pozostaje tylko sprawdzić, czy rzeczywiście udało się wymyślić algorytm, który nie zmniejsza bezpieczeństwa używających go osób i chroni je przed, bądź co bądź poważnymi problemami czyli SARS COV 2, czy to kolejne narzędzie, które może zostać wykorzystane w niecnych celach.
P.S.
To może być jedna z pierwszych realnych zapowiedzi przyszłej dystopii. W każdym razie świetny temat na opowiadanie. Przetrwanie jest uzależnione od instalacji właściwego oprogramowania, a więc umiejętność programowania, a zwłaszcza wykrywania potencjalnych źródeł elektronicznego ataku, nie jest już tylko pozycją w CV umożliwiającą znalezienie lepszej pracy, ale warunkiem przeżycia.
Przewagą oprogramowania Open Source jest własnie to, że są ludzie, którzy sprawdzą ten kod. Jeśli będą jakieś problemy to poinformują innych użytkowników o tym. Ja np. nie sprawdzam każdej zmiany w drzewie linux-kernel przy update. Ale wierzę w to, że są ludzie, którzy to zrobili i jeśli jest coś tam złego to szybko zostanę o tym poinformowany.
Pod pewnymi rzeczami android i inne systemy mobilne są daleko przed systemami desktopowymi. Kiedy instalując grę system pyta Cię czy chcesz umożliwić aplikacji operacje na partycji? Oczywiście można robić sandboxy albo instalować w kontenerach, ale to i tak daleko niewygodne rozwiązanie, a przecież aplikacja może wysyłać wszystkie Twoje pliki w chmurę.
Tak, z tym że musi być ktoś, kto ten kod przegląda, bo już były próby wprowadzania złośliwego oprogramowania w programach open source. Dlatego tak naprawdę powinno się używać tylko niezbędnych programów, które mają aktywnych opiekunów.