5 zasad Linusa

Linus Torvalds od lat pełni w rozwoju Linuksa głównie funkcję menedżera projektu. Steven Vaughan-Nichols zanotował najważniejsze zasady, którymi kieruje się w tej roli.

Metoda Torvaldsa polega na znajdowaniu osób, którym można ufać — niekoniecznie bezwarunkowo, ale na tyle, aby dać im maksimum samodzielności w działaniu. W zamian samemu należy być godnym zaufania, co w tym wypadku oznacza: być przewidywalnym i nie wykręcać niespodziewanych numerów.

Kolejną wytyczną Linusa jest szczerość; jeśli trzeba to nawet do bólu. Tu znowu chodzi o bycie zrozumiałym, ponieważ jego zdaniem w sieci subtelności słabo się sprawdzają pod względem komunikacji. Ale nie wystarczy być weredykiem. Trzeba także dać innym szansę na zareagowanie i wysłuchać ich. (A jeśli to oni mają rację, to należy uczciwie przyznać się do błędu — dodaje od siebie następną regułę Linusa dziennikarz).

Taka kombinacja szczerości i bezceremonialności jest jego receptą na dobry kod. Lepiej zawczasu dać znać o swoim stanowisku, niż zaskakiwać ludzi odrzuceniem łatki lub, co gorsza, przyjmować zły kod tylko dlatego, że głupio było wytknąć problem.

żadnych reklam, sama wiedza.

Zarejestruj się na BEZPŁATNY NEWSLETTER i raz w tygodniu otrzymuj najważniejsze wiadmości
ze świata IT, nowych technologii i kryptowalut.

Bez reklam.

  1. Awatar rorio
    rorio

    Zarządzanie Linusowi idzie całkiem dobrze;)

  2. Awatar hallowed
    hallowed

    Wow, genialny artykuł. Wprawdzie nie ma w nim nic nowego, poza to co od kilku lat można znaleźć w Documentation/ManagementStyle, ale artykuł jest genialny. Czy jak tak samo genialnie streszczę zawartość Documentation/CodingStyle (kilku cieniasów z LKML uważa, że jest to najważniejszy dokument dotyczący Linuksa. Zainspirowani jego lekturą wysyłają deweloperom łatku usuwające spacje i justujące tekst w komentarzach.), to czy może on trafić na łamy OSNews?

    1. Awatar Ponton
      Ponton

      Jeśli zrobisz to dobrze, to IMO tak.

      1. Awatar hallowed
        hallowed

        Zapomniałem, że już ktoś to zrobił. Jeśli już podałem ten link, to mam nadzieję, że ktoś z was zacznie poprawiać kod Linuksa i w przyszłym tygodniu znajdę w archiwum LKML sto łatek poprawiających błędy ortograficzne w komentarzach lub inne użyteczne funkcje 😉

        Jeśli ktoś pobije tego gościa – ponad 500 bezużytecznych łatek na jeden plik, to wyślę delikwentowi sześciopak bezalkoholowego…

        1. Awatar norbert_ramzes
          norbert_ramzes

          Ciężko się czyta tego diffa bo nie widać wcięć (wystarczyło by dodać pre albo white-space: nowrap chociaż można podglądnąć źródło html).

        2. Awatar hallowed
          hallowed

          Nie chodzi mi o tego diffa – to pierwszy mail – zobacz cały wątek z 500+ łatkami 😉

      2. Awatar hallowed
        hallowed

        No i wcięło mi komentarz w którym ogłosiłem konkurs dla kernelowych hackerów 😉 LOL

    2. Awatar kocio
      kocio

      Nic mi nie było wiadomo o pliku ManagementStyle, a z czasów, kiedy przeglądałem dokumentację jądra nic takiego sobie nie przypominam. Z opisu wynika zresztą, że to są rzeczy spisane niezależnie, a nie streszczenie pisemnej dokumentacji (By Linus Torvalds, as told to Steven Vaughan-Nichols).

      1. Awatar hallowed
        hallowed

        "Nic mi nie było wiadomo o pliku ManagementStyle"

        To przejrzyj

        to

        "a z czasów, kiedy przeglądałem dokumentację jądra nic takiego sobie nie przypominam"

        Musiałeś to robić bardzo dawno temu, bo ten plik jest w repozytorium git

        od czasu jego utworzenia. Włączony został trochę wcześniej, jeszcze jak Linus używał BK.

        "Z opisu wynika zresztą, że to są rzeczy spisane niezależnie, a nie streszczenie pisemnej dokumentacji (By Linus Torvalds, as told to Steven Vaughan-Nichols)."

        Takie odniosłem wrażenie, ale to nic dziwnego, bo przecież Linus nie wymyślił nic nowego – od czasu publikacji ManagementStyle – w dziedzinie zarządzania projektem.

        Mi się najbardziej podoba

        "There's just a few simple rules here:

        (1) don't call people d*ckheads (at least not in public)

        (2) learn how to apologize when you forgot rule (1)"

        ostatnio LBT często zapomina o zasadzie numer 1.

        1. Awatar kocio
          kocio

          Heh, kiedy to przeglądałem ostatni raz, to za system kontroli wersji Linuksa robił sam Linus uzbrojony w program pocztowy. =} Potem nie miałem już potrzeby przeglądać dokumentacji jądra.

          O wskazówkach kodowania pamiętam, ale nie spodziewałem się, że także taki mało techniczny poradnik zostanie napisany i wyląduje w dokumentacji jądra – jestem pozytywnie zaskoczony.

          P.S.: nic nie wycięliśmy – Akismet działa autonomicznie i podejrzliwie traktuje wpisy z linkami. Wystarczy poczekać, bo w miarę regularnie przeglądamy kolejkę komentarzy podejrzewanych o spam.

        2. Awatar hallowed
          hallowed

          "sam Linus uzbrojony w program pocztowy"

          LOL, to było hmmm… przed 2.5.0? Nie pamiętam, kiedy Linus zaczął używać BK, wydaje mi się, że było to 2.5.0 – jakby nie było coś w okolicach Triasu czy Kredy (w nomenklaturze deweloperów aktualna rozwojowa wersja Linuksa to antyk).

        3. Awatar zarazek
          zarazek

          > (1) don't call people d*ckheads (at least not in public)

          > (2) learn how to apologize when you forgot rule (1)

          Ciekawe słowa w ustach człowieka, który wielokrotnie popisywał się swoim buractwem, jak np. w tym wątku (na temat C++) lub podczas tego wykładu (na temat systemów kontroli wersji).

        4. Awatar hallowed
          hallowed

          "Ciekawe słowa w ustach człowieka, który wielokrotnie popisywał się swoim buractwem"

          Nie znam człowieka, który nigdy nie był w jakiejś sytuacji burakiem. Tacy ludzie nie istnieją. Jeśli komuś się wydaje, że nigdy nie był burakiem, to tak naprawdę okłamuje siebie i próbuje sobie i innym mydlić oczy jaki on nie jest zajefajny.

          Torvalds jest taki jak inni – tylko akurat u niego to wszystko dokładnie widać, bo jest na świeczniku.

          No i nie próbuj mi mydlić oczu, że ty nigdy nie miałeś gorszego dnia, że zawsze wszystkim mówisz dzień dobry, że nie przeklinasz jak cię użądli osa etc.

          A wytykanie innym jakimi są burakami też jest buractwem – popatrzcie jaki z niego burak, ja tak nie robię – bo jestem lepszy, bo się nie podpisuje imieniem i nazwiskiem, więc nikt nie będzie pamiętał moich buractw. Czyż nie tak?

      2. Awatar hallowed
        hallowed

        No i znowu wycięliście mój komentarz…

  3. Awatar vermaden
    vermaden

    Linux i dobry kod, ciekawy oxymoron.

    1. Awatar hallowed
      hallowed

      Ludziom narzekającym na jakość kodu jądra zawsze polecam aktualne statystyki Coverity, ale niestety one od jakiegoś czasu nie były aktualizowane. W każdym bądź razie ludzie od FreeBSD chyba wzięli się do roboty, bo zamiast niezałatanych błędów mają gwiazdki…

      Niestety Coverity nigdy nie robiła skanu OpenBSD, chętnie bym się dowiedział ile oni mają bugów na 1000 linijek kodu dających się wykryć przez statyczną analizę kodu.

      1. Awatar Realtek
        Realtek

        Najmniej bugów na NetBSD, ale chodzi o to, że w OpenBSD nie wykorzystasz dziur do ataku…

        1. Awatar hallowed
          hallowed

          "OpenBSD nie wykorzystasz dziur do ataku…"

          (prawie spadł z krzesła)

          No a cóż takiego zabezpiecza OpenBSD przed wykorzystaniem dziur do przeprowadzenia ataku?

          (z niecierpliwością czeka na odpowiedź eksperta od zabezpieczeń)

        2. Awatar Realtek
          Realtek

          A kryptografia? Integracja silnych zabezpieczeń kryptograficznych? Wbudowany firewall PF? Ciągły audyt bezpieczeństwa krytycznych dla niego fragmentów kodu? Mechanizm ochrony pamięci?

          To za mało, aby mówć o bezpiecznym systemie? Dziury OBSD ma, jak każdy system, ale diabeł tkwi w szczegółach…

          W OpenBSD dziury możesz mieć w najmniej isotnych fragmentach kodu. A nie w miejscu, od którego zależy bezpieczeństwo.

        3. Awatar wojtekm
          wojtekm

          Hmm, a w jaki magiczny sposób kryptografia i firewalle chronią przed np. zwykłym przepełniem stosu?

        4. Awatar hallowed
          hallowed

          "Dziury OBSD ma, jak każdy system, ale diabeł tkwi w szczegółach…

          W OpenBSD dziury możesz mieć w najmniej isotnych fragmentach kodu. A nie w miejscu, od którego zależy bezpieczeństwo."

          //SARKAZM

          Linux też nie ma dziur w istotnych fragmentach kodu, też ma silne zabezpieczenia kryptograficzne, wbudowany firewall, audyty bezpieczeństwa są wykonywane ciągle – świadczy o tym duża ilość CVE, mechanizm ochrony pamięci (chodzi ci o stos?) też (exec shield, stack protector. W RHEL, CENTOS, Fedorze, OpenSUSE (SLES?) wszystkie pakiety są budowane z -D_FORTIFY_SOURCE=2.) Dodatkowo masz do dyspozycji trzy mechanizmy mandatowej kontroli dostępu – do koloru, do wyboru. I kilka innych technologii. A jednak system może dalej zostać skompromitowany. Daje do myślenia?

          A więc skończ z tą OpenBSD'kowską masturbacją na temat bezpieczeństwa, bo nie samym bezpieczeństwem system żyje.

        5. Awatar trasz
          trasz

          @hallowed: Duza ilosc CVE w Linuksie swiadczy przede wszystkim wlasnie o slabej jakosci kodu. Duzo jest dziur, to sie je czesto znajduje, proste.

        6. Awatar diabeł
          diabeł

          @trasz

          Typowe myślenie M$-trolla który myśli ze jak nie wychodzą łaty na kod to jest idealnie bezpieczny dziury będą wszędzie czy to będzie Linux Windows czy *bsd ważne żeby je jak najszybciej znaleźć i załatać. Wyższość otwartego kodu nad zamkniętym polega na tym ze cały syf widać właśnie w kodzie i czym więcej osób czy instytucji go przegląda tym więcej syfu wychodzi na jaw a czym więcej syfu tym więcej łat.

        7. Awatar krzy
          krzy

          1. Owszem, Linuks _może_ być bardziej bezpieczny niż OpenBSD. Problem w tym, że nie jest, bo technologie które wypisałeś nie są domyślnie włączone w każdej dystrybucji. Co więcej, niektóre z nich (np. SELinux) dają tak w kość, że administratorzy masowo to wyłączają. Tymczasem w OpenBSD (i szerzej w całej rodzinie BSD) kupę wysiłku włożono właśnie w to, żeby system w defaultowej konfiguracji miał wszystkie zabezpieczenia i jeszcze dało się go używać.

          2. Trzy technologie MAC do wyboru to nie jest zaleta, tylko poważny problem. Samo istnienie aż tylu sugeruje, że żadna dobrze nie działa. To samo zresztą z mechanizmami ochrony pamięci (zamiast zintegrować PaX-a napisano niedorobiony execshield).

          3. Jakość kodu Linuksa/GNU jest słaba, i to potwierdzi każdy, który go czytał i widział np. kod BSD dla porównania. Bierze się to z tego, że Linuks stawia na szybki rozwój, a BSD stawia na jakość. Skutkiem czego w tym drugim ficzery pojawiają się później, ale są znacznie lepiej zaprojektowane i dopracowane.

          4. Szajba ludzi z OpenBSD na punkcie bezpieczeństwa jest rzeczywiście wkurzająca, tym niemniej takie podejście faktycznie daje efekty.

          5. Z pewnych punktów widzenia bezpieczeństwo Linuksa jest gorsze niż Windows (sic!). Dotyczy to np. uwierzytelniania protokołem Kerberos: w Windows praktycznie każda usługa obsługuje Kerberosa out-of-the box (bo Active Directory), a w wielu dystrybucjach Linusa trzeba się sporo nakombinować.

      2. Awatar morbit
        morbit

        "Ludziom narzekającym na jakość kodu jądra zawsze polecam aktualne statystyki Coverity, ale niestety one od jakiegoś czasu nie były aktualizowane."

        Aktualne statystyki które nie są aktualizowane?

      3. Awatar trasz
        trasz

        @hallowed: W przypadku Coverity warto pamietac o tym, ze Coverity "zapomnialo" o tym, ze dlugo zanim zaczeli skanowac Linuksa i rozne takie, FreeBSD kupilo od nich licencje, postawilo wlasny serwer i "odznaczalo" bledy na nim wlasnie. Ludzie z Coverity przyznali sie do bledu i obiecali poprawic statystyki. Wiecej informacji na http://scan.coverity.com/, notka z January 11th, 2008.

    2. Awatar Realtek
      Realtek

      oksymoron się pisze…

      1. Awatar occulkot
        occulkot

        15:46:04 zaloze sie ze dopierdola sie do orta ze oxymoron przez x

        gratulacje 😉

        1. Awatar occulkot
          occulkot

          lol? – HTML tu dziala :S – nice…

        2. Awatar zumek
          zumek

          ox&moron 🙂

  4. Awatar troll z bagien
    troll z bagien

    a co to jest "weredyk" ?

    1. Awatar kocio
      kocio

      http://pl.wiktionary.org/wiki/weredyk

  5. Awatar Spec
    Spec

    szukam niektorych cytatow z tego artykulu i google nic mi nie znajduje oprocz cytowanego artykulu. np ten kwiatek:

    "You're a completely incompetent idiot, and I'm not going to apply this patch because it's obviously broken and is a total piece of sh*t. And here's why…" But then at the end I'll include:

    "And hey, maybe I'm just being a d*ck, and you can prove me right, so please explain to me why you did that horrible thing. Please? Hmm?"

    autor w ogole nie zna linusa. czytalem wiele wypowiedzi linusa, moze jest arogancki, ale chamem ani glupkiem nie jest..

    dlatego artykul mi sie nie podoba

  6. Awatar payday loans no faxing
    payday loans no faxing

    Hello from Russia! Will it be feasible for me to pages and use a submit with your weblog with the connect to you? I’ve tried emailing you with this problem but it seems i cant reach you, please response when employ a moment, thanks.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *