Nasza strona używa cookies. Dowiedz się więcej o celu ich używania i zmianie ustawień w przeglądarce. Korzystając ze strony, wyrażasz zgodę na używanie cookies, zgodnie z aktualnymi ustawieniami przeglądarki. Rozumiem

Oblężona twierdza Linuxa

Adam Kukołowicz CTO / Bulldogjob
Zastanówmy się nad nowo wprowadzonym Code of Conduct Linuxa.
Oblężona twierdza Linuxa

Przejrzałem artykuły i komentarze, które pojawiły się w związku z zaakceptowaniem Code of Conduct przez Linux Kernel.

I... żałuję, że to zrobiłem.

Dowiedziałem się, że Linux to ostatnia ostoja cywilizacji, która właśnie pada łupem bandy SJW (Social Justice Warriors). Wraz z zaakceptowaniem CoC kończy się złota era merytokracji i za rozwój kluczowych projektów open source będą odpowiadać nie ci najzdolniejsi, ale miernoty, które najgłośniej krzyczą, że są obrażane. Linux został skazany na zagładę, a stara gwardia na banicję.


Czy to dzieje się w rzeczywistości? Mam pewne wątpliwości.

Kontekst

Linus Torvalds od lat atakował ludzi, którzy pisali kod nie tak, jakby sobie życzył. Przypadków tego typu zachowań były setki. Właśnie o tym był mój tekst Jak Linus Torvalds obraża ludzi. Inna sprawa, że takie zachowania zaskarbiły mu wielu fanów, którzy uważają, że to wyraz bezkompromisowości i szczerości. Sam też próbowałem znaleźć jakieś w miarę racjonalne wytłumaczenie takiej postawy i naprawdę rozumiem, że to wyraz jego perfekcjonizmu połączony z niską empatią.

Mimo wszystko z takim zachowaniem jest problem - Linus atakuje osoby, a nie ich kod. Kod jest pretekstem do wyżycia się. „Ale on krytykuje słaby kod” - powiecie. Pewnie, ale często - zamiast skupić się na tym, co chciałby widzieć - skupia się na tym, jak słabe jest prezentowane rozwiązanie, przy okazji oblewając wiadrem pomyj autora kodu. A to nie jest akceptowane w profesjonalnym środowisku, czy w ogóle w cywilizowanych kontaktach. Wątpię, żeby ktokolwiek z Was tolerował takie zachowanie wobec siebie w pracy.

Nawet Linus po latach to pojął. Coraz więcej osób dawało mu do zrozumienia, że jego postawa nie jest dobra. Traci na tym on i społeczność Linuxa. W końcu zrozumiał swój błąd i wysłał mail z okazji 4.19-rc4, w którym pisał:

The fact that I then misread people and don't realize (for years) how badly I've judged a situation and contributed to an unprofessional environment is not good.

This week people in our community confronted me about my lifetime of not understanding emotions. My flippant attacks in emails have been both unprofessional and uncalled for. Especially at times when I made it personal. In my quest for a better patch, this made sense to me. I know now this was not OK and I am truly sorry.

Z całego tekstu wynika natomiast, że problem nie pojawił się nagle, a narastał przez lata.

CoC = SJW!

By poprawić sytuację, Linus zaproponował wprowadzenie Code of Conduct zamiast Code of Conflict.

I to jest to miejsce opowieści, gdzie internet zaczyna wariować.

Przeczytałem całą treść wprowadzonego Contributor Covenant Code of Conduct i jest to jedna z lepszych form CoC, jakie widziałem. A wierzcie mi, po sieci krążą naprawdę absurdalne polityki CoC. Dokument włączony do dokumentacji kernela Linuxa jest zwięzły i spójny.

W zasadzie można go skrócić do tego, by stworzyć przyjazne środowisko do współpracy oraz skupić się na dobru społeczności skupionej wokół projektu. Nadal krytyka jest jak najbardziej dozwolona. Chodzi jednak o to, żeby była konstruktywna.

Dla mnie jest to dokument dużo solidniejszy niż Code of Conflict. Kodeks Konfliktu podsumowałbym tak: review jest ciężkie, więc przygotuj się na krytykę; jak poczujesz się urażony, to możesz to zgłosić; jak jesteś recenzentem, to staraj się (tak, staraj się), żeby było cywilizowanie i skupiaj się na tematach technicznych; ogólnie może być nerwowo, bo z review jest związana frustracja.

Wszystko to zostawia furtkę do wyładowania emocji i to właśnie przez lata robił Linus. Raczej oficjalnie nikt mu uwagi nie zwrócił, pomimo istnienia tego dokumentu. To pokazuje, że w takiej formie Kodeks Konfliktu był nieskuteczny. Dlatego dla mnie decyzja Linusa, by wprowadzić Code of Conduct zamiast Code of Conflict, jest bardzo logiczna - zachowanie tego dokumentu oznaczałoby, że dalej można bezkarnie „jeździć” po ludziach.

Przerażenie niektórych budzi część o egzekwowaniu CoC. I tu muszę stwierdzić, że cała zabawa byłaby bez sensu, jeżeli tego by zabrakło. Wtedy taki kodeks można zupełnie olać i nie ponieść żadnych konsekwencji.

Do tej pory nic nie wskazuje na połączenie CoC z SJW, którzy pragną obalić merytokrację.

I tu na scenę wchodzi postać autorki CoC - Caroline Ada Ehmke! Caroline to zdecydowanie SJW, która zacięcie wojuje z merytokracją. Tak swego czasu pisała na Twitterze:

"Meritocracy” is just thinly veiled misogyny and white supremacy propping up fragile cis het white men’s egos.

No... nie powiem, jest grubo. Napisała też The Post-Meritocracy Manifesto. To wszystko 100% prawda. Rozumiem, że można nie być fanem jej działalności. Nie rozumiem jednak, jak późniejsze jej prace rzutują na CoC z 2014 roku.

Dodatkowo Caroline twierdzi, że nie miała nic wspólnego z przyjęciem przez Linuxa jej Kodeksu Postępowania - co zresztą jest bardzo prawdopodobne. Dostało się jej jednak od społeczności:

Let me tell you, friends, I am seeing the absolute best of the Linux community coming out in full force right now. Their parents must be so proud of them.

It’s funny how all their anger is directed at me, when I had nothing to do with Linux adopting the code of conduct I wrote.

Pomimo to nie brakuje w internecie osób, dla których poniższe jest prawdziwe:

  • Linux adoptuje CoC
  • Autorką Contributor Covenant Code of Conduct jest Caroline Ada Ehmke
  • Caroline Ada Ehmke jest autorką The Post-Meritocracy Manifesto
  • Wynika z tego, że Linux będzie postmerytokratyczny



Kod jako najwyższa wartość

Kluczem z mojego punktu widzenia jest to, że część osób - szczególnie w środowisku IT - nie potrafi oddzielić pracy od tego, kim jest.

Dla osób, które wiele lat doskonalą się w sztuce kodowania, dla których programowanie jest znaczną częścią życia, często umiejętność ta jest wyznacznikiem inteligencji, jak i dużą częścią tożsamości. Taką miarę przykładają do siebie, ale też do innych.

Czy właśnie to sprawiało, że Linus - zamiast ograniczyć się np. do stwierdzenia, że „ten kod nie jest dobry” - pisał, że osobę, która to wymyśliła, należałoby wstecznie zabortować? Jeżeli ktoś pisze słaby kod, to znaczy, że sam jest słaby. Kto pisze dobry kod, ten jest wartościowy. Zaakceptowanie pull requesta, choć nie bezpośrednio, jest wyrazem zaakceptowania commitera jako człowieka.

Podobny mechanizm mógł zadziałać w przypadku Caroline: Linux wcielił CoC od osoby, która nie wniosła wcześniej nic do rozwoju projektu. To musi znaczyć, że zmieniają się standardy, a od teraz nie liczy się wkład merytoryczny. Tym samym potwierdza się najgorsze - team Linuxa popiera przekonania autorki CoC! To wygląda na wielką, polityczną zmianę frontu, a nie na to, że Linus pozwolił sobie na chwilę introspekcji i postąpił jak dojrzała osoba.

Spojrzenie w lustro

Linus sam napisał, że w końcu musiał spojrzeć w lustro i nie spodobało mu się to, co zobaczył. I to jest normalne, ludzkie. Dojrzałe jest natomiast to, że zdecydował zmierzyć się z tym, co do tej pory wolał ignorować. Dodatkowo przyznał się do wszystkiego publicznie i postanowił zrobić coś, co nie spodobało się wielu osobom - wdrożyć CoC.

Teraz wiele osób osądza jego decyzje. Jedni mówią, że to koniec, że Linus przegrał. Kolejni, że jest ofiarą szantażu. Są jeszcze ci z drugiej strony barykady, którzy twierdzą, że Torvalds to agent patriarchatu i powinien zniknąć z przestrzeni publicznej raz na zawsze. To wszystko to patrzenie na open source przez pryzmat polityki i podziałów. Sam zwrot Code of Conduct już tak przesiąkł politycznymi podtekstami, że przyjęcie takiego dokumentu - nawet w dobrych intencjach i tam, gdzie to konieczne - nie obędzie się bez oskarżeń o popieranie ideologii.

Linus zdaje sobie sprawę, że nie uszczęśliwi wszystkich. Jedni będą mu zarzucać, że robi za mało, drudzy, że zdradza dawne ideały. Ja natomiast cieszę się, że pokazał światu, że czasem warto popracować nie tylko nad kodem, ale również nad sobą i swoimi słabościami.

Zobacz więcej na Bulldogjob

Masz coś do powiedzenia?

Podziel się tym z 80 tysiącami naszych czytelników

Dowiedz się więcej
Rocket dog