Rzecz o złożoności

Pytanie - czy jest sens robienia dystrybucji, która z definicji będzie technicznie gorsza od fedory (vide ten artykuł o bezpieczeństwie, a zwłaszcza pytanie, czy człek od paxa rzeczywiście ma rację zarzucając deweloperom kernela niekompetencję w kwestiach bezpieczeństwa)? Mamy w pld parę osób, które dużo wiedzą na różne tematy, a wśród nich wybija się niejaki qboosh. Problem w tym, że, choćby nie wiem jak się starał, jeden qboosh nie przeskoczy przepaści jaka dzieli deweloperów pld od tych redhatowych. Oni tam mają na pęczki takich qbooshy (Jeff mi opowiadał, że był świadkiem, jak Drepper sam przegadał paru redhatowych pracowników, z Alanem Coksem włącznie) i to na dodatek wyspecjalizowanych w różnych zagadnieniach. Oni po prostu zatrudniają zespół ludzi, którzy zawsze są w pełni świadomi tego, co akurat robią, bo często sami projektowali nowe rozwiązania.

A może tego typu myślenie jest bez sensu? Bezcelowy perfekcjonizm. Komputery i programy są po to, by spełniać określone zadania i jeśli je spełniają, to nie muszą od razu być szczytem osiągnięć w swojej dziedzinie.

Zresztą tak działa całe open source. Właściwie, to wszystko tak działa, a przynajmniej powinno. Założenie we wszystkich dziedzinach jest takie, że awangarda zajmuje się rozwojem i pilotowym wdrażaniem nowych rozwiązań, po czym to na ich głowie spoczywa problem takiego ich przygotowanie i udokumentowania, by reszta świata mogła z nich korzystać w jak najłatwiejszy sposób i przy maksymalnym wykorzystaniu ich potencjału.

Na przykład istnieje grupa ludzi, którzy tworzą standardy www (w3c.org) i kilka czołowych przeglądarek (i często zajmują się jednym i drugim równocześnie). I teraz głównym ich zadaniem jest takie przygotowanie narzędzi, by reszta świata używając ich, odniosła jak największe korzyści. Albo język python - tak zaprojektowany, by, niezależnie od stopnia jego zrozumienia, tworzyło się jak najlepszy kod. I jeśli jakieś narzędzie jest nagminnie wykorzystywane w niewłaściwy sposób (MS Frontpage, standardowa biblioteka C, czy miliony innych), to nie jest to wina nieuświadomionych użytkowników, a projektantów, którzy nie pomyśleli przy projektowaniu (albo świadomie coś popsuli dla własnych korzyści).

Wracając do kwestii dystrybucji - prawda jest taka, że siła open source leży w możliwości wyboru. Jedne rozwiązania mogą być technicznie lepsze od drugich, ale ważne jest to, co najbardziej odpowiada użytkownikowi. Cholera, przecież sam spędziłem trzy tygodnie na pisaniu sporawego wyjaśnienia, dlaczego pld jest inne i przez to ma sens bytu!

Co nie zmienia faktu, że mnie ten stan rzeczy drażni. Używam czegoś, co w większości wypadków działa, bo działa, a ja nie mam zielonego pojęcia dlaczego. I jeśli źle działa, to też nigdy się do końca nie dowiem dlaczego (pamiętacie moje boje z glibcem? i jak bardzo czasochłonne były?).

Powyższe przemyślenia to pewnie zły wpływ wchodzenia do politechnicznej czytelni i księgarń. Człowiek stoi przed całą tą wiedzą i nie wie za co się zabrać. I czy w ogóle ma się ochotę za coś zabierać. Z tych ton książek, właściwie jedyne, jakie chciałbym przeczytać, to te o projektowaniu. I nie chodzi mi tu o nudy w stylu UMLa, ale tytuły typu "Pragmatyczny programista", czy "Jak kierować zespołem programistów" (WNT ogólnie wymiata). W ogóle obok mnie leżą takie tytuły jak "Kukułcze jajo", biografie RMSa i Linusa, "Mityczny osobomiesiąc" Freda Brooksa i "Marsz ku klęsce" Edwarda Yourdona. Książki, które, choć traktują niejako o komputerach, nie mają w zasadzie nic wspólnego z opisem jakiegokolwiek konkretnego rozwiązania technicznego.

Bo co ja właściwie chcę robić? Tak, zajmuję się rzeczami technicznymi, ale tylko z konieczności (kiedyś tak nie było). Jeśli nie muszę, to się za nie nie biorę (od dawien dawna moja aktywność w pldowym cvsie jest praktycznie zerowa). Mam świadomość, że, jeśli potrzebuję, to zrobienie czegokolwiek jest zasadniczo tylko kwestią odpowiedniej ilości poświęconego czasu. I ta świadomość mi wystarcza. Niespecjalnie ekscytuje mnie już poznawanie nowych, technicznych zagadnień - w nich nie ma nic fascynującego. Ot kolejne techniczne pierdoły jakich są miliony do wyboru i na uczeniu się których mógłbym spędzić całą resztą mojego życia (wejdźcie do pierwszej lepszej księgarni, podejdźcie do sekcji informatycznej i zastanówcie się ile z tego chciałoby się wam przeczytać :). Wiedzę traktuję jako środek do celu, a nie cel sam w sobie.

Więc czym w takim wypadku jest cel? Ewidentnie bardziej interesuje mnie to, jaki wpływ ma to co robię na innych ludzi, niż sam fakt robienia. Przykłady? PLD 3.0 - nie interesuje mnie w nim to, że będę robił dystrybucję, ale to, że mam pomysł na takie zorganizowanie całości, żeby docelowo była to lepsza dystrybucja. Nowa strona www - takie jej zorganizowanie, żeby jak najbardziej zachęcić do umieszczania na niej treści. Ogólnie jakieś próby robienia PR w pld - zrozumienie projektu mu służy. Moje pisarstwo tutaj - nie piszę przecież dla siebie, ale po to, żeby ludzie to czytali.

Podsumowując - zamiast samemu robić, to raczej organizować robienie w taki sposób, żeby innym się lepiej robiło.

Czemu? O tym, że przestało mnie interesować zagłębianie się w techniczne kwestie, już pisałem. Do tego dochodzi lenistwo - częścią open source jest to, że jego twórcy dostają geekpointsy, a lepiej dostawać geekpointsy za to, co robią inni, niż samemu się męczyć, nie? :)

Tyle teorii - problem w tym, jak to się będzie miało do rzeczywistego życia. Najchętniej bym został posłem (prezydentem!), żeby móc wpływać na te najważniejsze decyzje, ale to się raczej nie stanie. No to chociaż przydałoby się móc robić tego typu rzeczy w ramach obowiązków służbowych, ale to też się nie stanie, bo nikt nie zatrudni kogoś li tylko po to, żeby robił pld (a właściwie nie robił, ile rządził w). Najprawdopodobniej skończy się na tym, że będę pracował jako szeregowy administrator w jakiejś firmie, a rzeczami rzeczywiście mnie interesującymi będę się zajmował w wolnych chwilach. No cóż, fajnie by było dostawać kasę za mówienie innym, co mają robić, ale zawsze można pomarzyć, nie? :)

Uwaga techniczna: muszę chyba zacząć używać jpa. Albo dodawać większe wpisy przez www, bo albo sobie je przez przypadek kasuję, albo przez przypadek wysyłam w połowie pisania (tak jak to się zdażyło z tym wpisem).

  1. 1. zdzichuBG

    ,,I jeśli jakieś narzędzie jest nagminnie wykorzystywane w niewłaściwy sposób (...) to nie jest to wina nieuświadomionych użytkowników, a projektantów, którzy nie pomyśleli przy projektowaniu''

    Wiesz Mariuszu, zupełnie jakbym czytał Seth'a Nickella albo innego członka coreteamu GNOME :>

  2. 2. mmazur

    Ja to bardzo dobrze widzę po mojej matce. Ja wiem z czego składa się strona www, więc przeważnie jestem na pierwszy rzut oka w stanie ocenić co jest obrazkiem, a co jest tekstem. Moja matka nie posiada tego typu wiedzy, dlatego też przy wysyłaniu smsa żądanie 'przepisania kodu z obrazka' jest dla niej nielogiczne - bo (a) po co przepisywać kod z jednego miejsca na drugie skoro (b) jedno i drugie jest przecież tekstem, skoro wygląda jak tekst.

    Do tego wystarczy trochę poczytać sci-fi i ich podejście do komputerów. Komputery po prostu wykonują swoje zadanie, nie trzeba się z nimi użerać tak, jak to się dzieje obecnie :)

  3. 3. Krystian

    "...bo nikt nie zatrudni kogoś li tylko po to, żeby robił pld (a właściwie nie robił, ile rządził w)"
    Stowarzyszenie PLD ci się marzy i stanowisko etatowego prezesa???
    ;)))

  4. 4. mmazur

    Stowarzyszenia, a pld, to dwie różne rzeczy.

  5. 5. Krystian

    Wiem, to był taki trochę skrót myślowy. IMHO żeby rządzić w pld to:
    1. pld musi być sformalizowane (czyli chyba nigdy)
    2. rządy musiały by być jednoosobowe
    Twoje wypowiedzi są IMO sensowne, więc ja osobiście nie miałbym nic przeciw.
    Mmazur na prezydenta! ;)

  6. 6. rafau

    Kurcze. A ja myślałem, że tylko ja tak mam :D

Adde commentarium: (textile lite)