Flock 2017

Flock to Fedora, doroczna konferencja użytkowników i współtwórców Fedory, odbyła się w tym roku w dniach od 29 sierpnia do 1 września w Hyannis, turystycznym miasteczku na wschodnim wybrzeżu USA. Jako że miałem okazję uczestniczyć w tym wydarzeniu chciałbym napisać parę słów jak było.

Dzień 0.

28 sierpnia 2017

Zwykle tego dnia uczestniczy przyjeżdżają i zakwaterowują się w hotelu. Czasami zdarzają się jakieś mniej lub bardziej oficjalne imprezy typu pre-party, na przykład wspólne wyjścia do knajpy. Tym razem dodatkowo o godzinie 19 odbyło się szkolenie wolontariuszy-operatorów sprzętu audio/video. Niestety, nie było mi dane w nim uczestniczyć, mimo iż zgłosiłem się do pomocy. Jedyne, co mogłem zrobić, to z żalem napisać na kanale dyskusyjnym, że nie zdążę, bo nadal jestem w podróży z lotniska do Hyannis, na co kilka osób jadących razem ze mną tym samym autobusem odpisało „ja też”. Wobec tego organizatorzy nie mieli innego wyjścia, jak tylko napisać, że szkolenie zostanie powtórzone następnego dnia o 8:00.

Dzień 1.

29 sierpnia 2017

Na początek mieliśmy krótkie zaległe szkolenie z obsługi sprzętu audio/video i zaraz zaczęła się właściwa część konferencji. Każdy dzień zaczynał się od krótkiego wprowadzenia, w którym Brian Exelbierd zapowiadał jakie wydarzenia są przewidziane na ten dzień i jakich bilecików należy użyć, aby móc w nich uczestniczyć. Następnie Matthew Miller wygłosił keynote. Jak zwykle, było to podsumowanie statystyk dotyczących popularności Fedory. Matthew zaznaczył przy tym, że statystyki mogą być bardzo niedokładne, bo Fedora szanuje prywatność użytkowników, nie identyfikuje ich i nie śledzi ich aktywności. Jedynym źródłem informacji jest ruch na serwerach, z których pobierane są obrazy instalacyjne i aktualizacje. Nie zawsze wiadomo, czy pod jedym adresem IP kryje się jedna osoba, czy więcej. Nie ma też danych na temat rozkładu geograficznego użytkowników – kraje, w których Internet jest drogi lub użytkownicy wręcz nie mają do niego dostępu mogą być niedoszacowane. Ponadto tylko GNOME i KDE zawierają wbudowane mechanizmy automatycznego sprawdzania aktualizacji, inne środowiska graficzne nie robią tego często. Nie są też zbierane dane z podziałem na różne spiny i wydania Fedory.

Matthew Miller i statystyki Fedory

Następnie wszyscy prelegenci mieli okazję krótko zaprezentować o czym będą mówić. Miało to na celu przyciągnięcie potencjalnych słuchaczy. Świety pomysł moim zdaniem, bo nie każdy mógł zainteresować się samym tytułem i podsumowaniem prelekcji, a co gorsza, można było ją zwyczajnie przeoczyć.

Długa kolejka prelegentów chętnych do zapowiedzenia swoich prelekcji

Lunch celowo trwał aż 2 godziny, bo intencją organizatorów było stworzenie okazji do swobodnych, nieoficjalnych i niezaplanowanych rozmów między uczestnikami. Naprawdę świetny pomysł, ileż to już razy zdarzyło mi się spędzić konferencję nie na oficjalnych prezentacjach, tylko na długich rozmowach w kuluarach!

Po lunchu wysłuchałem prezentacji o tym, jak przerobić aplikację na Flatpaka, prowadzonej przez Owena Taylora. Muszę przyznać, że Flatpak, bardzo obiecująca technologia dystrybucji aplikacji, nadal jest dla mnie „czarną magią”. Jako że przypomina mi (choć nie wiem, czy słusznie) sposób dystrybucji aplikacji w systemach OS X i Android, zapytałem Owena, czym te technologie się różnią. Owen podkreślił, że Flatpak oferuje znacznie lepsze zabezpieczenia. Domyślnie bowiem aplikacja we Flatpaku nie ma żadnych uprawnień, dostaje je dopiero wtedy, kiedy jest to konieczne. Oprócz tego byłem jeszcze na prezentacji Adama Williamsona poświęconej interpretowaniu wyników testów automatycznych w serwisie Bodhi i na krótkiej prezentacji Petera Robinsona na temat IoT.

Wreszcie nadszeł czas na prezentację, która podobała mi się najbardziej. Dan Horák i Sinny Kumari opowiedzieli o swoich doświadczeniach z poprawianiem błędów podczas przenoszenia programów na alternatywne architektury. Według Dana największym problemem jest przejście z najpopularniejszej kolejności bajtów od najmłodszego do najstarszego (ang. little endian) na odwrotną. Oprócz tego problem sprawiają różne długości typów, zwłaszcza char, i różne definicje size_t: ze znakiem czy bez. Sinny natomiast opowiedziała o trudności w poprawianiu programów hybrydowych, napisanych w Pythonie z wykorzystaniem bibliotek współdzielonych, pisanych w C. Debuggery nie umieją na razie wejść do środka funkcji pisanych w C. Czasami poprawka błędu zajmuje zaledwie jedną linijkę, ale jest ona tak głęboko ukryta, że jej znalezienie jest bardzo pracochłonne. Niestety, tej prezentacji słuchało zaledwie parę osób. Dzień później Paul Frields, któremu o tym opowiedziałem, skomentował to słowami „Właśnie dlatego te architektury nazywają się alternatywnymi”. Ale miało to swój urok: prezentacja przerodziła się w swobodną dyskusję, w czasie której wszyscy dzieliliśmy się swoimi doświadczeniami. Zaciekawiła mnie wzmianka o architekturach big endian. Nie miałem z nimi do czynienia, dlatego zapytałem czy Fedora faktycznie działa na którejś z nich. Dan podał przykłady: komputery mainframe serii IBM System z i klasyczne PowerPC. Prezentacja się skończyła, kamera została wyłączona, a my kontynuowaliśmy konwersacje.

Wskutek tego nie uczestniczyłem w warsztacie „Zbuduj swojego własnego Fedoratora”, prowadzonej przez Sanquiego, która zresztą pokrywała się z początkiem Wieczoru Gier. Kiedy wreszcie dotarłem, zobaczyłem już działające Fedoratory. Ale niewiele straciłem: Sanqui i Nick Bebout, prywatnie mój współlokator, krótko opowiedzieli mi co to takiego ten Fedorator i nawet pozwolili przetestować. Otóż jest to urządzenie, które wewnątrz zawiera komputerek Raspberry PI, na zewnątrz ma dołączony dedykowany ekran dotykowy, wyprowadzony jeden port USB, a całość jest zamknięta w trapezowatej obudowie, zresztą wydrukowanej na drukarce 3D. Oprogramowanie oparte na Raspbianie, ma tylko jeden cel: nagrywanie dowolnie wybranego obrazu Fedory (tak, dowolnego spinu, architektury itp.) na pendrive’ie. Bardzo przydatne na wszelkiego rodzaju targach, wystawach i konferencjach, gdzie można na bieżąco generować i rozdawać widzom gotowe pendrive’y.

Działający Fedorator

Równolegle z Wieczorem Gier odbyła się Międzynarodowa Wymiana Słodyczy, tym razem oficjalnie zorganizowana przez Justina Flory'ego. Ja przywiozłem Mieszankę Krakowską (jako wspomnienie z zeszłorocznego Flocka), a najlepszym słodyczem moim – i nie tylko moim – zdaniem była bakława, przywieziona przez Jonę Azizaj. Interesujące były też liofilizowane lody, przeznaczone dla uczestników misji kosmicznych NASA, przywiezione przez Suzanne Hillman.

Bałkańskie przysmaki: bakława (na środku), łokum (powyżej), oraz Mieszanka Krakowska (po prawej)

Dzień 2.

30 sierpnia 2017

Jak każdy dzień zaczął się od wprowadzenia, wygłoszonego przez Briana, oraz jeszcze kilku zapowiedzi prezentacji.

Potem bezpośrednio rozpoczął się warsztat na temat tworzenia stron webowych Fedory, prowadzony przez Andrea Masalę i Roberta Mayra. Trochę dziwne, że na niego trafiłem, bo prawie nigdy nie miałem do czynienia ze stronami WWW, ale podobała mi się ta odmiana. Dowiedziałem się, że strony używają do tłumaczeń frameworku Genshi, a same tłumaczenia są robione w fedorowym serwisie Zanata. Autorzy dużo wysiłku włożyli w takie przygotowanie stron, żeby tłumacze nie mogli zepsuć np. linków. Dużym zakoczeniem było dla mnie, że strony używają języka Python. W ramach warsztatu każdy z uczestników miał okazję poprawić jeden lub więcej błędów, zgłoszonych w systemie pagure. Ja zostałem poproszony o usunięcie linku do mołdawskiej społeczności Fedory, bo strona przestała istnieć. Przy tej okazji sprawdziłem, czy działają linki do wszystkich europejskich społeczności Fedory – spokojnie, było ich zaledwie kilka sztuk – okazało się, że strona rumuńska też przestała działać, więc też ją usunąłem za jednym razem.

Po lunchu, od godziny 14 do 16:30 Stephen Smoogen poprowadził dwie połączone sesje na temat EPEL (Extra Packages for Enterprise Linux). EPEL obchodzi w tym roku 10. rocznicę istnienia. Dostarcza dodatkowe pakiety dla komercyjnych dystrybucji Red Hata od wersji RHEL 4.0. Stephen podkreślił po co tak naprawdę istnieje EPEL: ludzie go używają do budowania naprawdę wielkich konstrukcji informatycznych, porównywalnych z równie trudnym inżynierskim zadaniem, jakim jest budowa mostów. Tym użytkownikom nie zależy na używaniu najnowszych wersji oprogramowania. Godzą się na używanie starych, niewspieranych programów, ponieważ akurat ich potrzebują w skryptach do swoich projektów. EPEL dostarcza im potrzebne oprogramowanie: narzędzia bezpieczeństwa, statystyczne (np. język R), alternatywne serwery WWW (np. nginx).

Stephen Smoogen przedstawia swoje nierealistyczne oczekiwania co do wzrostu EPEL

Druga część, a właściwie druga prezentacja Stephena, przerodziła się w dyskusję na temat tego, czego użytkownicy EPEL będą potrzebowali w przyszłosci. Stephen zapowiedział, że repozytoria EPEL zostaną podzielone tak samo, jak repozytoria Fedory: release (oprogramowanie w wersji oryginalnej) + updates (przetestowane aktualizacje) + updates-testing (aktualizacje przeznaczone do testowania). Zapowiedział też, że planowana jest wersja RHEL 5.11, mimo iż wersja 5.10 miała być ostatnią z serii 5.

Wieczorem tego dnia mieliśmy zarezerwowany na wyłączność Wackenhammer’s Clockwork Arcade and Carousel. Jest to w zasadzie salon gier wideo i zręcznościowych z karuzelą w stylu wesołego miasteczka. Mieliśmy też dostarczone jedzenie z food trucka i napoje.

Gry w Wackenhammer’s Clockwork Arcade

Dzień 3.

31 sierpnia 2017

Świetnym pomysłem organizatorów było rozpoczynanie każdego dnia nieco później, niż poprzedniego. Tego dnia zajęcia zaczęły się o godzinie 9, jako pierwszy wystąpił Michael McGrath, który opowiedział jakie plany ma Red Hat względem Fedory. Krótko podsumowując: użytkownicy mają rozmaite wymagania: jedni chcą jak najnowszych wersji oprogramowania, inni chcą, aby aktualizacje były dostarczane rzadziej, jeszcze inni mają wymagania mieszane: jedne programy mają być aktualizowane częściej, inne rzadziej. Fedora, w zamyśle Red Hata, nie ma być dystrybucją, w której wszystko zostaje bez zmian.

O 14:00 zaczęła się seria prezentacji na temat globalizacji, internacjonalizacji i lokalizacji. Jako pierwsi wystąpili Parag Nemade, Jens Petersen i Pravin Satpute. Podsumowali znane od dawna cele do osiągnięcia: dostarczanie tłumaczeń oraz danych lokalizacyjnych, obsługiwanych przez glibc, takich, jak formatowanie dat, wartości monetarnych, sortowanie alfabetyczne, rozmiar papieru. Omówili też zmiany w metodach wprowadzania tekstu.

Postęp w metodach wprowadzania tekstu

Wspomnieli o ostatnio wprowadzonych w Fedorze udoskonaleniach: pakiety językowe, instalowane jako słabe zależności, dane lokalizacyjne w bibliotece glibc rozbite na podpakiety (nie ma potrzeby instalowania i umieszczania na obrazach ISO danych do wszystkich języków, bo zajmują one dużo miejsca). W tej chwili Fedora obsługuje ok. 80 pakietów językowych i na tym nie zamierza poprzestać. Fedora 25 wprowadziła ułatwienia we wprowadzaniu znaków Emoji przez interfejs IBus oraz pełną obsługę Unicode 9.0. Przez chwilę dyskutowaliśmy na temat tego w jaki sposób użytkownicy mają wybierać preferowane pakiety językowe. Zasugerowałem, żeby nie wiązać tego z programami GNOME Initial Setup ani GNOME Software, bo one są związane ze środowiskiem GNOME, które nie jest jedynym w Fedorze. Lepszym pomysłem wydaje mi się umieszczenie tej funkcjonalności w pakiecie initial-setup, który jest częścią Anacondy, ewentualnie przeniesienie jej do PackageKitu, który stara się być rozwiązaniem uniwersalnym, dla wszystkich środowisk graficznych, a nawet wszystkich dystrybucji. Pravin Satpute opowiedział o swojej pracy nad fontami.

Pravin Satpute opowiada o fontach

Następnie Sundeep Anand opowiedział o Transtats. To bardzo obiecujący projekt, jego celem jest zorganizowanie komunikacji między programistami, tłumaczami i pakowaczami, ma ułatwić przygotowanie programów do dystrybucji. Nieco więcej o nim napiszę za chwilę.

W ostatniej prezentacji z tej serii wystąpili Pravin Satpute, Alex Eng i Jean-Baptiste Holcroft. Pravin podsumował dotychczasowe osiągnięcia w lokalizacji. Sprinty tłumaczeń gromadzą ponad 50 współtwórców jednorazowo. Dni testowania gromadzą więcej testerów z lokalnych społeczności, niż jakiekolwiek inne wydarzenie tej klasy. Alex Eng opowiedział o przeszkodach, na jakie napotyka projekt Zanata i planach na przyszłość. Na koniec wystąpił Jean-Baptiste Holcroft, który tak naprawdę pozamiatał swoją krótką, ale bardzo interesującą prezentacją, z sugestywą ilustracją co do tej pory osiągnęliśmy i dokąd zmierzamy.

Jean-Baptiste Holcroft…

Plany dotyczące lokalizacji, zwłaszcza projekt Transtats, wywołały tak długą dyskusję z udziałem samego Briana Exelbierda, że musieliśmy się przenieść do innej sali, bo w kolejce czekali następni prelegenci. Transtats wydaje się być narzędziem przyszłości: łączy ze sobą wiele serwisów (Zanata, git itp.). Zapobiegnie niekorzystnym zjawiskom, takim, jak tłumaczenie przez tłumaczy starych napisów, które programiści już usunęli z kodu, zautomatyzuje przepływ pracy od programistów do tłumaczy, a następnie do pakowaczy, oraz ułatwi wprowadzanie zamrożeń napisów.

Dzień 4.

1 września 2017

Przeznaczony był na podsumowanie. Chętni prelegenci mogli opowiedzieć co udało się osiągnąć podczas tej konferencji. Ten dzień był naprawdę krótki, bo do godziny 11 musieliśmy opuścić pokoje. Obsługa hotelu była jednak tak miła, że pozwoliła nam zostać nieco dłużej, żeby dokończyć rozmowy i spokojnie pożegnać się z przyjaciółmi. Jednak wiele mi to nie dało. Autobus na lotnisko i samolot powrotny nie czekałyby na mnie, godzina 15 była ostatnią chwilą na opuszczenie Hyannis.

Pożegnanie z (tylko niektórymi!) przyjaciółmi

Dziękuję organizatorom za zaproszenie mnie, pozdrawiam starych i nowych przyjaciół, których spotkałem na konferencji. Do zobaczenia za rok, a może wcześniej!