About

Member of the Board of the Polish Linux Users Group. Human rights in digital era hacktivist, Free Software advocate, privacy and anonimity evangelist; expert volunteer to the Panoptykon Foundation; co-organizer of SocHack social hackathons; charter member of the Warsaw Hackerspace; and Telecomix co-operator; biker, sailor.

Formerly President of the Board of the Polish Free and Open Source Software Foundation; CTO of BRAMA Mobile Technologies Laboratory on Warsaw University of Technology and a student at Philosophy Institute on Warsaw University.

Table of Contents

languages:
02.07.2016Dzień, w którym cenzura Sieci w Polsce stała się faktem pl 152 13.04.2015Needless haystacks en 151 12.03.2015e-Dockleracje pl 150 19.01.2015Ban on encryption is not about banning encryption en 149 13.01.2015Pochwała Copyleftu en pl 148 30.12.2014Zmiana klucza GPG en pl 147 18.12.2014Siła wyższa pl 146 04.12.2014Internet jednak bez pornografii? en pl 145 27.11.2014Zablokujmy wszystko! en pl 144 02.11.2014Pod rozwagę: ryśka prawo nieuniknionych konsekwencji en pl 143 09.09.2014Stop pedofilii en pl 142 22.06.2014Even with EME, Mozilla will become "the browser that can't" en 141 21.06.2014EuroDIG 2014 en pl 140 19.06.2014Haker w Radzie ds. Cyfryzacji en pl 139 30.05.2014Anonimowość w konsultacjach społecznych en pl 138 18.05.2014Czemu nie warto być piratem en pl 137 15.05.2014Mozilla, DRM i znaczenie en pl 136 14.05.2014Not-quite-good-enough-Mundial en 135 12.04.2014Nieodpowiedzialne nieujawnienie en pl 134 29.03.2014Ecologic, Ford i inwigilacja en pl 133 15.03.2014Otwórzmy edukację pl 132 10.03.2014Blurry line between private service and public infrastructure en 131 08.03.2014IM IN UR MINISTRY, CONSULTING UR INTERNETZ en pl 130 17.02.2014Szyfrowany VoIP, który działa en pl 129 11.02.2014A więc chcesz cenzurować Sieć... en pl 128 02.02.2014This is why we can't have nice IRC en 127 31.01.2014Prawie jak decentralizacja en pl 126 30.01.2014Żaden link nie jest nielegalny en pl 125 30.01.2014Debaty o prawie autorskim ciąg dalszy en pl 124 26.01.2014Neat HaCSS, or let's de-JS the Web a bit en 123 27.12.2013Information Account Number en 122 14.12.2013HaIPu en 121 20.11.2013Friends of TTIP and data protection in Brussels en 120 19.11.2013Jaki kraj tacy Piraci? en pl 119 05.11.2013A rude comment en 118 20.10.2013TEDx Warsaw Women i prywatność en pl 117 03.10.2013Reforma prawa autorskiego na CopyCamp 2013 en pl 116 22.09.2013Long-expected KMail2 rant en 115 18.09.2013Facebook for schools en 114 12.09.2013W którym wzywam posłów i posłanki Solidarnej Polski do zagwarantowania obywatelom Internetu wolnego od inwigilacji en pl 113 08.09.2013Complaintivism en 112 04.09.2013Sam sobie winien en pl 111 19.08.2013Kłamstwa, kłamstwa, i analityka en pl 110 27.07.2013Najkrótsza debata publiczna o cenzurze Internetu en pl 109 22.07.2013How information sharing uproots conservative business models en es 108 22.07.2013Dostępny jest markup wszystkich postów en pl 107 11.07.2013Kultura wolna i legalna pl 106 07.06.2013Internet nie jest problemem! en pl 105 05.06.2013Libel Culture en 104 17.05.2013Wojtuś Fatalista i wolność w Internecie pl 102 17.05.2013Czemu uważam, że licencje -ND są zbędne i szkodliwe en es pl 101 28.03.2013Wolność nasza codzienna pl 100 17.03.2013Nie wszystko korpo co o wolności w Internecie pl 99 15.03.2013♫ Odpowiadam na e-maile ♫ pl 98 11.02.2013Pierwsza rocznica europejskich protestów Anty-ACTA en pl 97 30.01.2013Nie ma haka na słabe dziennikarstwo? pl 96 30.01.2013Zwalczając czarny PR wokół OZE en pl 95 29.01.2013Jak skutecznie argumentować przeciw pomysłom cenzury Internetu en pl 94 20.11.2012Warunki brzegowe podmiotowości w dobie cyfrowej en pl 93 19.11.2012Blogosfera społecznościowa en pl 92 07.11.2012Fragmentacja nie jest zła en pl 91 02.11.2012SERVICES.TXT en pl 90 24.10.2012Apple finally jumped the shark en es 89 24.09.2012A mury runą... en es pl 88 24.09.2012Minister i Kultura pl 87 24.09.2012Melbourne CryptoParty video message en 86 16.09.2012O marynarskiej wrażliwości, czyli "niebo gwiaździste nade mną" en pl 85 22.08.2012Czarny PR wokół e-Podręczników en pl 84 15.08.2012Regaty utracone pl 83 24.07.2012Hypochristian Love en 82 24.07.2012Trochę nowego Dobra w layoucie en pl 81 17.07.2012Partia 2.0 en pl 80 16.07.2012Prawo autorskie po ACTA pl 79 13.07.2012Partia jako hack na systemie en pl 78 10.06.2012Are corporations dangerous only in collusion with governments? en 77 09.06.2012Proxies! Proxies everywhere! en 76 05.06.2012Automagiczna re-publikacja z Twittera na StatusNet en pl 75 18.05.2012TPSA/Orange i GIMP, czyli rzecz o 5-ciu użytkownikach en pl 74 16.05.2012Słowo o Warsztatach MAiC pl 73 15.04.2012Schowaj gadżeta pl 72 05.04.2012Perfect ToDo-oid en 71 27.03.2012Subiektywnie o Anty-ACTA en pl 70 25.03.2012O prawie autorskim w Budapeszcie en pl 69 23.03.2012Kościoła poczucie odpowiedzialności pl 68 20.03.2012Ucząc się Internetów en pl 67 19.03.2012Kościoła wiara w wiernych pl 66 29.02.2012Safari w Brukseli #1 - konferencja prasowa PE, posiedzenie ITRE en pl 65 21.02.2012Bo ACTA jest passé en pl 64 20.02.2012Tajemnica korespondencji po europejsku en pl 63 17.02.2012Premier Tusk w sprawie ACTA: myliłem się en pl 62 12.02.2012Anonimowi kontra Korponimowi en pl 61 10.02.2012Mieć ciastko i ściągnąć ciastko en pl 60 19.01.2012O ACTA znów w Kancelarii Premiera en pl 59 19.01.2012Wolni i Zjednoczeni en pl 58 16.01.2012Towarzystwo czuje się oszukane pl 57 10.01.2012Warunki Korzystania ze Świadczonych Usług en pl 56 05.01.2012Korporacyjny brak patriotyzmu en pl 55 04.01.2012Terrorystkoptery en pl 54 03.01.2012IceWeasel i prywatność en pl 53 28.12.2011Dobry Wujek Stal... Putin en pl 52 25.12.2011Useful Bash defaults done right en 51 21.12.2011Google Mail, czyli jak poczta staje się publikacją en pl 50 20.12.2011Occupy Gotham en pl 49 11.12.2011Copyfraud en pl 48 08.12.2011Multikino Wikipedia FAIL pl 47 27.11.2011Nie miejsce na pl 46 18.11.2011Cięcie jednostronne en pl 45 12.11.2011Tolerancja dla Kościoła pl 44 11.11.2011Użytkownicy i Obywatele en pl 43 30.10.2011Adhocracy i Net4Change en pl 42 18.10.2011Wojna z Radością en pl 41 16.10.2011Boli mnie w krzyżu pl 40 14.10.2011Technologiczne Samouwielbienie en pl 39 10.10.2011I Can Haz? pl 37 09.10.2011Cisza Wyborcza w Polsce en pl 38 03.10.2011Kibice i kampania pl 36 02.10.2011E-Podręczniki, Johnny Mnemonic, biznes i Sieć en pl 35 19.09.2011CC Global Streaming/Summit/Party pl 33 19.09.2011Czy jest coś takiego jak darmowe śniadanie? pl 34 12.09.2011Faktycznie Super pl 32 12.09.2011Diaspora-Based Comment System en 31 11.09.2011Konflikt wartości en pl 30 06.09.2011Wolność słowa to nie wolność od myślenia ani od krytyki pl 29 06.09.2011Prywatność i anonimowość w Sieci: kamyczek do ogródka en pl 28 04.09.2011O ostrożności w doborze słów en pl 27 03.09.2011W obronie QR Code pl 26 31.08.2011Stolica Nie Tak Święta pl 25 29.08.2011Of malware, hot steam, privacy, using one's brain and paedoparanoia en 24 29.08.2011Kragen Głośno Myśli en pl 23 18.08.2011Ból, blizny, dziewczyny i wiosła pl 22 07.08.2011Worst. Woodstock. Ever! pl 21 27.07.2011Siła woli, wydajność i rower en pl 20 19.07.2011Neo FreeRunner as a WiFi Soundcard en 19 10.07.2011Łikend z prawnikami en pl 18 09.07.2011Krok bliżej ideału en pl 17 04.07.2011Ryś Apostata en pl 16 28.06.2011KToF (Kolejna Tyrada o Facebooku) en pl 15 19.06.2011Wiara w priorytety pl 14 17.06.2011Spotkania ważne, spotkania przyjemne en pl 13 13.06.2011Ooops I en pl 12 30.05.2011Zabawy z Node.js en pl 11 25.05.2011Mozilla, Google i pasek adresu en pl 10 24.05.2011Na konferencji Sektor 3.0 en pl 9 23.05.2011Layout, CSS i RSS/Atom en pl 8 15.05.2011Startup Weekend Network Fun Fun Fun en 7 11.05.2011Nowy szef Bramy pl 6 10.05.2011World's Smallest Open Source Violin en pl 5 10.05.2011Po kolejnym spotkaniu w KPRM pl 4 08.05.2011Inspiracja na niedzielę pl 3 08.05.2011I horizontally the whole blog is that serious pl 2 07.05.2011Rysio ma braga en pl 1

Dzień, w którym cenzura Sieci w Polsce stała się faktem

pl | txt src

Stało się. Dziś weszła w życie ustawa tak zwana "antyterrorystyczna". W niej zaś znajdziemy artykuł 32c, którego punkt pierwszy brzmi (polecam jednak lekturę całego artykułu):

W celu zapobiegania, przeciwdziałania i wykrywania przestępstw o charakterze terrorystycznym oraz ścigania ich sprawców sąd, na pisemny wniosek Szefa ABW, złożony po uzyskaniu pisemnej zgody Prokuratora Generalnego, w drodze postanowienia, może zarządzić zablokowanie przez usługodawcę świadczącego usługi drogą elektroniczną dostępności w systemie teleinformatycznym określonych danych informatycznych mających związek ze zdarzeniem o charakterze terrorystycznym lub określonych usług teleinformatycznych służących lub wykorzystywanych do spowodowania zdarzenia o charakterze terrorystycznym, zwane dalej „blokadą dostępności”.

Jednym słowem, szef ABW w porozumieniu z Prokuratorem Generalnym mają prawo zablokować dowolną stronę, treść czy usługę w Internecie. I to, zgodnie z pkt. 4, "w sprawach niecierpiących zwłoki" na 5 dni bez decyzji sądu. A kto decyduje, że sprawa nie cierpi zwłoki? ABW i Prokurator Generalny, rzecz jasna!

Zastanawiające, że ani w komunikacie MSWiA na temat (jeszcze projektu) tej ustawy, ani w komunikacie na stronie Sejmu, ani słowem się nie zająknięto na temat tych nowych uprawnień ABW.

Czy powodem może być roztargnienie? Bardzo nie chcę wierzyć, że nasi szanowni włodarze, dniem i nocą czuwający nad naszym bezpieczeństwem, są aż tak roztargnieni, by zapomnieć wspomnieć o dość ważnym elemencie ustawy tak ważnej, że nie przeprowadzono nawet konsultacji społecznych (musiał to za rząd zrobić RPO), by nie opóźniać jej wejścia w życie...

Być może pominięcie to wynika z faktu, że nikt tak naprawdę nie jest w stanie wskazać, w jaki sposób zablokowanie jakiejkolwiek treści miałoby pomóc w walce z terroryzmem? Zwłaszcza blokowanie treści w tak błyskawicznym trybie? Myślałbym, że raczej należałoby treści nie blokować, ale bacznie przyglądać się, kto uzyskuje do niej dostęp. Ale ja tam się nie znam.

Moim ulubionym pytaniem na które nie ma nigdzie odpowiedzi, bo jakże miałaby być, jest jednak pytanie zadane mi w mediach społecznościowych Fundacji Panoptykon. Brzmiało ono:

Czy 'ekspert' Michał "rysiek" Woźniak może wyjaśnić, jak pisowski rząd będzie rozpakowywał transmisję SSL?

No więc właśnie tu jest pies pochowany, jest to doskonałe i ważne pytanie, tyle że... to nie ja powinienem to wyjaśnić. Warto by to pytanie (i parę innych) zadać ABW. Drogie ABW — jak zamierzacie rozpakowywać transmisję SSL?

Zostałem jednak do tablicy wywołany, więc spróbujmy. By nie było zbyt łatwo, zmierzę się z pytaniem szerszym: w jaki sposób pobożne życzenia ABW, Prokuratora Generalnego i twórców tej ustawy mają się do rzeczywistości, a konkretnie faktu, że połączenia SSL/TLS stają się standardem?

Odpowiedź krótka: nijak. Ale od początku.

Czym jest połączenie SSL?

Połączenie SSL (czy dziś raczej TLS) to połączenia szyfrowane stosowane szeroko w komunikacji przez Internet. Zielona kłódeczka przy adresie strony banku oznacza właśnie, że komunikacja jest szyfrowana i nikt poza operatorem strony a naszą przeglądarką nie ma możliwości odczytania treści komunikacji.

Problem w tym, że SSL/TLS opiera się na systemie certyfikatów wydawanych przez urzędy certyfikacji. Każdy urząd certyfikacji może wydać certyfikat dla dowolnej domeny, a my musimy ufać, że nie będą ich rozdawać komu popadnie. Np. rządom z cenzorskimi zapędami.

Czy można rozpakować transmisję SSL?

Teoretycznie można. Gdyby ktoś uzyskał (wykradł? zażądał?) dostęp do kluczy prywatnych dowolnego z tych urzędów, miałby możliwość swobodnego wydawania certyfikatów dla dowolnej domeny. Czyli mógłby wykonywać atak Person in the Middle: przeglądarce użytkowniczki przedstawiać się ważnym certyfikatem, który samemu sobie wygenerował. Ponieważ sam sobie wygenerował certyfikat, ma powiązany z nim klucz prywatny pozwalający rozszyfrować transmisję. Po jej przejrzeniu (lub ocenzurowaniu jej części), szyfruje wszystko prawdziwym certyfikatem serwera, z którym użytkowniczka chciała się łączyć.

Dla serwera i dla użytkowniczki wszystko wygląda normalnie, tyle że nasz złośliwy atakujący (lub przyjazny agent ABW) ma dostęp do naszej komunikacji — może ją czytać, może też ją modyfikować.

I dotyczy to tak samo losowego bloga, jak i strony naszego banku.

Skąd wziąć klucze?

Można je wykraść. Urzędy certyfikacji powinny bardzo dbać o bezpieczeństwo, ale czasem... no cóż. Oczywiście nikt by nie podejrzewał miłościwie nam panujących o tak niecne metody (ani o odpowiednie kompetencje)!

Więc zamiast tego mogą odpowiednie certyfikaty zwyczajnie kupić. BlueCoat to firma, która oferuje rozwiązania "filtrujące" (czyt. cenzurujące) Sieć, sprawdzone u tak zacnych klientów, jak prezydent Assad. Problem w tym, że BlueCoat ma dziś możliwość wydawania dowolnych certyfikatów dla dowolnych domen. Mówią, że do testów. Ale gdzie jest popyt, znajdzie się podaż.

Dlaczego to kretyński pomysł?

To jednak nadal wymaga kosmicznych nakładów finansowych na sprzęt, który byłby w stanie w czasie rzeczywistym rozpinać SSL/TLS, cenzurować treści, po czym spajać te połączenia na tyle szybko, by nikt nie zauważył. Podejrzewam, że w tym miejscu zgodzi się ze mną autor pytania: to jest zwyczajnie niewykonalne na skalę całego ruchu w kraju.

I tu pojawia się kolejny problem. Skoro ABW rękami operatorów telekomunikacyjnych nie będzie miało jak blokować konkretnych treści przesyłanych bezpiecznymi połączeniami SSL/TLS, to co dokładnie chcą blokować?

Oczywiście ABW może domagać się blokowania adresu IP, pod którym strona jest dostępna. Tu żadne szyfrowanie na poziomie, na którym działa SSL/TLS nie pomoże. Operator ustawia trasę na czarną dziurę, i cześć. Cóż jednak jeśli mówimy np. o grupie na popularnym portalu społecznościowym, który używa SSL/TLS, a na wezwanie ABW do zablokowania tej konkretnej grupy odpowie, że jakby niekoniecznie? Zablokują wszystkie IP tego portalu?

Co jeśli strona, którą ABW chce zablokować, stoi za rozwiązaniem takim, jak CloudFlare? Jeśli CloudFlare nie zgodzi się na zablokowanie danej strony, ABW musiałoby zablokować wszystkie adresy IP CloudFlare, co oznacza, że żadna z milionów stron korzystających z CloudFlare nie będzie dostępna w Polsce. Poprawka: SNI idzie czystym tekstem, nie trzeba więc blokować całego CloudFlare'a by zablokować jedną z domen z niego korzystających.

Jakby nie patrzeć, ABW jest w idiotycznej sytuacji. Rozpinanie ruchu SSL/TLS nie wchodzi w rachubę. Blokowanie całych domen ze względu na jeden wpis też jakby niekoniecznie. Problem w tym, że to nie jest powód, by na artykuł 32c w ustawie antyterrorystycznej machnąć ręką — bo "wszystkich nas nie rozszyfrują".

To jest powód, dla którego w ogóle takich zapisów nie powinno być. Tymczasem zaś — czas odpalić SSL/TLS na wszystkim.

e-Dockleracje

pl | txt src

tl;dr e-Deklaracje w dockerze; jeśli chcesz od razu przeskoczyć do informacji, jak z tego skorzystać, by bez walki odpalić je na swoim GNU/Linuksie, kliknij w klikadło

Gdy w 2010r. Ministerstwo Finansów wypuściło program e-Deklaracje (za który dostało nawet od FWiOO zasłużonego "Izydora"), życie użytkowników Linuksa zmieniło się na dwa sposoby.

Po pierwsze, wreszcie mogliśmy oddawać się niewątpliwej przyjemności składania deklaracji podatkowych na naszych wspaniałych, wolnych jak pingwin systemach operacyjnych.

Po drugie, by na tę przyjemność zasłużyć, co roku odprawiać musieliśmy zgoła magiczne rytuały, by rzeczone e-Deklaracje odpalić na nowszej o rok dystrybucji. Zajmowało to zwykle...

A dobę, a pięć...

Problem wynika rzecz jasna ze światłej decyzji oparcia e-Deklaracji o Adobe AIR: zamknięte, własnościowe środowisko uruchomieniowe rozwijane i kontrolowane przez jedną firmę. Firmę znaną z przyjaznego podejścia do systemów operacyjnych spod znaku przyjaznego nielota.

Rzecz jasna niebawem okazało się, że Adobe nie zamierza rozwijać dalej wersji AIR na Linuksa.

Plus jest taki, że zwolennicy wolnego oprogramowania dostali kolejny argument za tym, by instytucje publiczne nie opierały swych działań na zamkniętym oprogramowaniu. Minusem jest konieczność kombinowania, jak by tu coraz bardziej starożytne środowisko odpalić na nowoczesnych dystrybucjach...

A gdyby tak odpalać cały ten majdan na równie antycznej dystrybucji? Wszak i tak odpalany jest tylko raz na rok, na te kilkadziesiąt minut potrzebnych na wypełnienie i wysłanie deklaracji, po czym znów idzie w odstawkę.

Może maszyna wirtualna? To jednak zbyt dużo zabawy, miejsca na dysku, zasobów... Da się inaczej?

Enter the Docker

Docker ułatwia korzystanie z kontenerów — lżejszych braci maszyn wirtualnych. Nie wchodząc w szczegóły, docker ułatwia i automatyzuje tworzenie bardzo dokładnie kontrolowanych środowisk. Coś jak maszyna wirtualna, tyle że wymagająca znacznie mniej zasobów.

"Jak pomyślał, tak zrobił" — et voilà! Zdokeryzowane e-Deklaracje, for your tax reporting pleasure!

Chcę! Jak?

Są dwa wymagania systemowe: docker oraz jądro Linuksa w wersji 3.8 lub późniejszej. Użyszkodników wersji Ubuntu starszych niż 14.04 zapraszam tu; Debiana Wheezy — tu. Gentowcy i pochodni, jestem pewien, poradzą sobie sami.

Jeśli natomiast używamy dowolnego smaku Ubuntu w wersji 14.04 lub nowszej, dockera mamy w repozytoriach:

sudo apt-get install docker.io

Przyda się też dodanie naszego juzera do odpowiedniej grupy:

sudo adduser $USER docker
sg docker

Teraz kod. Dla gitowców:

git clone https://git.hackerspace.pl/rysiek/e-dockleracje
cd e-dockleracje

Dla reszty świata:

wget https://git.hackerspace.pl/rysiek/e-dockleracje/snapshot/e-dockleracje-master.tar.bz2
tar -xjf e-dockleracje-master.tar.bz2
cd e-dockleracje-master

W tym momencie mamy wszystko, co potrzeba. Uruchamiamy:

./edeklaracje.sh

...i czekamy. Docker pobiera podstawowy obraz Ubuntu 13.10, instaluje w nim konieczne pakiety, pobiera Adobe AIR, Acrobat Readera i same e-Deklaracje, instaluje wszystko, i wreszcie — uruchamia nam e-Deklaracje. Prosto z wydzielonego kontenera, ale z dostępem do naszego dotychczasowego katalogu konfiguracyjnego e-Deklaracji, o ile istnieje.

Budowanie musi zrobić tylko raz, więc następne uruchomienia będą znacznie szybsze.

Pochwała Copyleftu

en pl | txt src

Tekst powstał na potrzeby publikacji pokonferencyjnej po CopyCamp 2014, w ramach której publikowana jest wersja angielska. Zachęcam do zapoznania się z całą publikacją, oraz do odwiedzenia konferencji CopyCamp jesienią tego roku.

Free as in Freedom,
not free as in beer

Ten cytat z Richarda M. Stallmana, doskonale znany zwolennikom wolnego oprogramowania, wynika z prostej potrzeby wyjaśnienia dwuznaczności w języku angielskim — "free" może znaczyć "wolny", może też znaczyć "darmowy"; oba znaczenia przy tym mają sens w kontekście oprogramowania. Stał się też niejako deklaracją programową ruchu wolnego oprogramowana.

Wiele inicjatyw czerpie garściami z filozofii wolnego oprogramowania — ruch wolnej kultury, Wikipedia, wolne zasoby edukacyjne i wiele innych opierają się na ideach wypracowanych i przetestowanych w wolnych i otwartych projektach informatycznych. Myśl "free as in freedom, not free as in beer" jest więc bliska również im.

Zwykliśmy kłaść nacisk i akcentować przede wszystkim pierwszą część tego cytatu. To o wolność chodzi, można by rzec, nie o to, czy coś jest darmowe, czy nie. Takie akcentowanie potrzebne było (i jest), by wyraźnie oddzielić oprogramowanie, kulturę czy zasoby edukacyjne, które dają odbiorcom wolność, od tych, które są tylko darmowe — dających dostęp, ale odmawiających pozostałych czterech wolności.

Coraz bardziej jednak wyraźna staje się potrzeba zmiany akcentu. Twórcy oprogramowania, kultury i zasobów edukacyjnych, wolnych czy nie, też muszą jeść.

Cztery Wolności

Richard Stallman wprowadził proste i skuteczne kryterium tego, czy oprogramowanie (swobodnie możliwe do zastosowania również w innych dziedzinach) jest wolne — jego licencja powinna gwarantować:

  • wolność uruchomienia w dowolnym celu;
  • wolność modyfikacji;
  • wolność rozpowszechniania;
  • wolność rozpowszechniania własnych modyfikacji.

Aby jednak skutecznie powiększać zbiór wolnego oprogramowania, w pierwszej wolnej licencji na oprogramowanie, GNU GPL, zastosowano jeszcze jeden trick — copyleft, czyli wymóg, by oprogramowanie opierające się na udostępnianym na niej wolnym programie same były udostępniane na tej samej licencji.

Warunek copyleft stał się wewnątrz społeczności wolnego i otwartego oprogramowania zarzewiem zażartej, trwającej do dziś dyskusji.

Jego przeciwnicy preferują licencje niecopyleftowe, jak MIT czy BSD, zwolennicy — opowiadają się za GNU GPL i pochodnymi.

Pierwsi argumentują, że warunek copyleft ogranicza prawa twórcy dzieła zależnego (np. programu opartego o oprogramowanie na licencji GNU GPL), nie może on bowiem (jeśli swój program w ogóle udostępnia) zdecydować o nie udostępnianiu swojego programu na wolnej licencji.

Drudzy wskazują, że choć być może twórca ten faktycznie nie ma już możliwości wyboru licencji, jednak dzięki temu zabiegowi wszyscy inni — w tym użytkownicy jego programu — mają zagwarantowane cztery wolności, które mieli zagwarantowane w przypadku programu źródłowego.

Innymi słowy, debata toczy się pomiędzy wolnością twórcy adaptacji do zamknięcia swojej adaptacji dzieła na wolnych licencjach, a wolnością wszystkich odbiorców, zawsze.

"Adaptacji" i "odbiorców", ponieważ dyskusja ta wylała się oczywiście poza świat wolnego oprogramowania, i równie zaciekle toczy się w kontekście wolnych zasobów i wolnej kultury.

Modele biznesowe

Zarówno w świecie oprogramowania, jak i poza nim, warunek copyleft ma renomę "niedobrego dla biznesu". Twórcy adaptacji chcieliby mieć możliwość zamykania swoich adaptacji prac na wolnych licencjach, by móc na nich zarabiać — a jak zarabiać na czymś, co można kopiować do woli?

Odpowiedzią są modele biznesowe zgodne z kulturą daru, kulturą dzielenia się. Finansowanie społecznościowe, modele oparte na dobrowolnych wpłatach, zarabianie na produktach powiązanych (np. koszulki zespołów) czy koncertach, zaś w przypadku oprogramowania sprzedaż usług (jak wdrożenie, dostosowanie do potrzeb, wsparcie, itp) pozwalają artystom i twórcom utrzymać się mimo, a czasem wręcz dzięki swobodnemu dzieleniu się ich twórczością przez fanów.

Modele te są nieoczywiste, wydają się niepewne — a jednak coraz częściej finansują duże nawet produkcje. Z drugiej strony, "klasyczne" modele nie gwarantują przecież sukcesu. Tym bardziej, że oparty na nich rynek zagospodarowany jest od dawna, np. przez wielkie wytwórnie fonograficzne.

Można odnieść wrażenie, że stosowanie niecopyleftowych licencji to często wyraz braku zaufania do nowych modeli, wynik przemyślenia w stylu "a może kiedyś będę chciał oprzeć na tym jakiś zamknięty produkt, co wtedy?" Jeśli jednak ja mogę zamknąć, mogą zamknąć i inni. Wszyscy na tym tracimy.

Heartbleed

Doskonale ilustruje to sprawa Heartbleed, czyli poważnego błędu w popularnej bibliotece wykorzystywanej przez dużych i małych do szyfrowania transmisji w Internecie . Błąd był trywialny, miał jednak potężne konsekwencje dla całego ekosystemu wolnego oprogramowania, i szerzej: niemal całego Internetu. Pozostawał też niewykryty przez kilka lat.

Oprogramowanie, którego dotyczył — biblioteka OpenSSL — udostępniana jest na licencji niecopyleftowej. Zachęca to firmy, również te duże, do korzystania z niej w swych produktach i usługach, co też chętnie robią. Z OpenSSL korzysta m.in. Google, Facebook, Amazon.

Korzysta — ale niespecjalnie dokłada się do rozwoju tej kluczowej biblioteki. Twórcy OpenSSL nie mieli dość środków na regularny audyt kodu, co było jedną z przyczyn, dla których Heartbleed mógł pozostawać niezauważony.

Duzi gracze nie dzielą się też kodem, swoimi zmianami w oprogramowaniu, z którego korzystają. Licencja tego nie wymaga, czemu więc miałyby to robić? Okazuje się, że Facebook używał zmodyfikowanej wersji OpenSSL. Zmiany w niej wprowadzone (prawdopodobnie całkiem przypadkiem) spowodowały, że była ona niepodatna na błąd Heartbleed.

Gdyby OpenSSL był na licencji wymagającej udostępnienia kodu i zmian społeczności, być może błąd zostałby wykryty znacznie wcześniej, kiedy jeszcze nie był tak groźny.

Not free as in beer

Rozwój wolnego oprogramowania, wolnej kultury, wolnych zasobów edukacyjnych kosztuje. Tysiące ludzi poświęcają swój czas, wiedzę i umiejętności, i dzielą się efektami swej pracy. Często zapominamy o tym, np. argumentując za wolnym oprogramowaniem podkreślamy, że jest "darmowe".

Nie jest. Czas nauczyć się doceniać pracę w nie wkładaną. Również finansowo.

Copyleft wbrew pozorom może tu pomóc: skoro nikt nie może zamknąć mojej pracy, sam mogę korzystać z cudzych jej ulepszeń. Wszyscy na tym zyskujemy.

Zmiana klucza GPG

en pl | txt src

Wszem i wobec — zmieniam klucz GPG, ze starego:

07FD 0DA1 72D3 FC66 B910 341C 5337 E3B7 60DE C17F

...na nowy:

D0E9 E1E3 D80A 098A 0D0D 7EC4 EAA4 EC81 7965 2B2E

Bezpieczeństwo starego klucza nie zostało naruszone. Głównym powodem zmiany jest ten słaby podklucz:

sub 1024R/0x085C4F046A46EBC9

Wygenerowałem nowy, znacznie silniejszy klucz. Przy okazji dbając o to, by zabezpieczyć się (w jakimś zakresie) przed potencjalnie paskudnymi konsekwencjami utraty klucza prywatnego (np. wraz ze skradzionym laptopem). Skorzystałem z tych trzech tutoriali (niestety, po angielsku):

Z ich pomocą stworzyłem parę kluczy master, przechowywaną w bezpiecznym miejscu; oraz parę kluczy laptopowych, do codziennego użytku.

Para master nigdy nie znalazła się na moim laptopie, ani na żadnym innym urządzeniu, którego na co dzień używam — została wygenerowana na oddzielonym od sieci losowym "niczyim" laptopie, jednym z kilku zalegających w Warszawskim Hackerspace (każdy hackerspace na świecie pewnie ma takich kilka). Na laptopie uruchomiłem TAILSa.

Z pary master wygenerowałem z kolei (również na tym samym losowym laptopie) parę laptopową. Parę master przeniosłem w bezpieczne miejsce, laptopową — na laptopa. Obie zostały bezpiecznie wymazane z maszyny, na której były tworzone (na wszelki wypadek; i tak wszystko działo się na ramdysku).

Rozdzielenie kluczy na master i laptop oznacza, że nie mogę podpisywać cudzych kluczy na bieżąco — mogę to zrobić wyłącznie gdy mam dostęp do pary master, której oczywiście ze sobą nie wożę.

Komunikat o zmianie klucza

Poniżej znajduje się mój komunikat o zmianie klucza. Wersja podpisana oboma kluczami dostępna jest do ściągnięcia.

Komunikat o zmianie klucza GPG
Data: 30 grudnia 2014
Z wielu powodów stworzyłem ostatnio nowy klucz OpenPGP, którego od teraz będę używał, porzucając klucz stary.

Stary klucz będzie nadal ważny przez jakiś czas, ale wolałbym, by wszelka przyszła korespondencja korzystała już z nowego klucza. Chciałbym też, by nowy klucz został zintegrowany do sieci zaufania. Niniejsza wiadomość podpisana jest oboma kluczami, by ją uwiarygodnić.

Stary klucz to:

pub 4096R/0x5337E3B760DEC17F 2011-09-28 [wygasa: 2015-01-31]
Odcisk palca = 07FD 0DA1 72D3 FC66 B910 341C 5337 E3B7 60DE C17F

Nowy klucz to:

pub 4096R/0xEAA4EC8179652B2E 2014-10-14 [wygasa: 2020-10-12]
Odcisk palca = D0E9 E1E3 D80A 098A 0D0D 7EC4 EAA4 EC81 7965 2B2E

By pobrać cały klucz z publicznego serwera kluczy, możesz zwyczajnie:

gpg --keyserver keys.riseup.net --recv-key 'D0E9 E1E3 D80A 098A 0D0D 7EC4 EAA4 EC81 7965 2B2E'

Jeśli zaś masz już mój stary klucz, możesz upewnić się, że nowy klucz jest podpisany kluczem starym:

gpg --check-sigs 'D0E9 E1E3 D80A 098A 0D0D 7EC4 EAA4 EC81 7965 2B2E'

Jeśli nie masz mojego mojego starego klucza, lub chcesz się dodatkowo upewnić, że wszystko gra, możesz porównać odciski palca kluczy:

gpg --fingerprint 'D0E9 E1E3 D80A 098A 0D0D 7EC4 EAA4 EC81 7965 2B2E'

Gdy jesteś usatysfakcjonowany i pewny, że masz właściwy klucz, i że UIDy kluczy zgadzają się z oczekiwanymi, byłbym zobowiązany za podpisanie mojego nowego klucza. Można to zrobić za pomocą komendy:

**
UWAGA: jeśli mój klucz jest już przez Ciebie podpisany, ale wyłącznie lokalnie (lsign), użyj komendy —lsign-key zamiast tego, co poniżej, i nie wysyłaj podpisów na serwer kluczy
**

gpg --sign-key 'D0E9 E1E3 D80A 098A 0D0D 7EC4 EAA4 EC81 7965 2B2E'

Chciałbym w miarę możliwości otrzymać Twoje podpisy mojego klucza. Możesz mi je wysłać mailem, jeśli masz działające MTA na swoim systemie):

gpg --export 'D0E9 E1E3 D80A 098A 0D0D 7EC4 EAA4 EC81 7965 2B2E' \
| gpg --encrypt -r 'D0E9 E1E3 D80A 098A 0D0D 7EC4 EAA4 EC81 7965 2B2E' \
--armor | mail -s 'Podpisy OpenPGP' rysiek@hackerspace.pl

Przy okazji — mocno sugeruję wdrożenie mechanizmu automatycznego odświeżania kluczy w celu otrzymywania na bieżąco rewokacji i innych aktualizacji stanów kluczy. Można do tego użyć parcimonie — daemona, który powoli, w tle, odświeża klucze z serwerów kluczy przez Tora. Używa losowego czasu przerw pomiędzy kolejnymi akcjami, i oddzielnych tras w sieci Tor dla każdego z kluczy. Oznacza to, że ciężko byłoby komukolwiek skorelować aktualizacje kluczy z Twoim zestawem kluczy.

Gorąco też zachęcam do zapoznania się z najlepszymi praktykami dotyczącymi GPG, zebranymi przez RiseUp; stamtąd bezczelnie ukradłem większość angielskiego tekstu niniejszej wiadomości. ;-)

https://help.riseup.net/en/security/message-security/openpgp/best-practices

Jeśli pojawią się jakieś pytania bądź problemy, proszę o znak sygnał — i przepraszam za zamieszanie.


Michał "rysiek" Woźniak
rysiek@hackerspace.pl
http://rys.io/

Siła wyższa

pl | txt src

Jakkolwiek nie jestem wielkim zwolennikiem przepływu celebrytów i celebrytek do polityki — mamy, jak sądzę, lepsze źródła kompetencji intelektualnych niezbędnych do rządzenia w naszym pięknym kraju — to jednak wolę wyborców wypada uszanować.

Z tejże woli wyborców do sejmiku wielkopolskiego weszła Katarzyna Bujakiewicz, którą posiadający telewizory czytelnicy mogą kojarzyć z tak wiekopomnych projektów artystycznych, jak seriale "Na dobre i na złe" czy "Magda M".

Ja jednak radną Bujakiewicz kojarzyć będę jednak z tego, jak krótko sprawować będzie swój mandat, oraz (i przede wszystkim) ze względu na powód, dla którego mandatu sprawować nie będzie dłużej.

To nie jest jej zła wola czy lekceważenie wyborców. Po prostu w oświadczeniu majątkowym, jakie musi złożyć każdy radny, nie może ujawnić niektórych swoich dochodów z komercyjnych kontraktów aktorskich. Za kłamstwo grozi kara pozbawienia wolności, a za niezłożenie tylko wygaśnięcie mandatu. To drugie wyjście jest bardziej uczciwe — mówi jeden ze sztabowców komitetu Teraz Wielkopolska.

Sztabowca komitetu Teraz Wielkopolska zachęcam do rozważenia, czy aby nie pominął pewnych możliwości wyjścia z sytuacji. Skoro tak lekko podchodzimy do tematu zerwania swego rodzaju kontraktu pomiędzy radną Bujakiewicz, a jej wyborcami, może moglibyśmy przynajmniej wziąć pod uwagę, że przecież kontrakt z dotychczasowymi pracodawcami radnej również można zerwać?

Czy dowiemy się, jakie konsekwencje groziły by radnej w takim wypadku. Oczywiście, że nie. Są wszak rzeczy ważne i ważniejsze. Głos wyborców jest ważny; komercyjny kontrakt radnej Bujakiewicz z producentami bawiących tych wyborców seriali jest jednak, jak widać, ważniejszy.

No cóż. Kamyczek do ogródka sceptycyzmy względem celebrytów i celebrytek próbujących swych sił w polityce.