Hlavní navigace

Čechům není výměna slova master v Gitu srozumitelná, říká Petr ‚Pasky‘ Baudiš

25. 6. 2020
Doba čtení: 7 minut

Sdílet

 Autor: Depositphotos
Petr ‚Pasky‘ Baudiš přinesl v roce 2005 do verzovacího systému Git slova master a origin. Dnes jej původní volba mrzí, protože jsou to slova pro začátečníka nesrozumitelná a master má urážlivý podtext.

Prý jsi v roce 2005 vymyslel pro Git slovo „master“. Proč zrovna ty a proč tohle slovo?

První referenci na slovo „master“ v ekosystému Gitu jsem našel ve svém forku git-pasky. Ten se později přejmenoval na Cogito a ačkoliv se kód již nikdy zpátky do Gitu nezamergoval, přes rok sloužil jednak jako primární rozhraní pro většinu raných uživatelů Gitu, a jednak jako experimentální hřiště pro hledání optimálního uživatelského rozhraní. Museli jsme se až postupně propracovat i k takovým teď „jasným“ věcem jako podpora větví a jak s nimi pracovat nebo přesné roli indexu.

Úplně upřímně si už přesně nepamatuji, co mne zrovna k tomuhle slovu vedlo. Mohlo to být prostě slovo nerodilému mluvčímu jako mně dostatečně vznešeně znějící, nebo to mohlo navazovat na master/slave koncept z BitKeeperu, což byl historický systém používaný před Gitem při vývoji linuxového jádra.

Bohužel jsem žádnou diskuzi o něm před tímhle commitem nenašel, až navazující zmínky. Není úplně jednoduché to dát dohromady. Bylo to jen pár dní po samotném vzniku Gitu a první týdny jsme vyvíjeli hodně překotně, thready se prolínaly napříč mailing listy, do toho vznikl IRC kanál apod.

Kdo je Petr „Pasky“ Baudiš

Původem open-source programátor, podílel se na vývoji nebo přímo udržoval projekty jako Git, glibc, ELinks, OpenTTD, FreeCiv a řadu dalších. Témata spojená s Linuxem a systémovým programováním také vyučoval v několika předmětech na MFF UK. Postupně se zaměřil na výzkum umělé inteligence, je autorem jednoho z ideových předchůdců AlphaGo „Pachi“ a publikoval v oblasti porozumění přirozenému jazyku. Doktorské studium na ČVUT opustil, aby spoluzaložil startup Rossum, který zpracovává obchodní dokumenty pomocí umělé inteligence a kde nyní působí jako CTO.

Přijde ti dnes zpětně na něm něco špatného?

Nelíbí se mi zpětně volba slova master ani slova origin. Původně jde hlavně o UX, ta slova nejsou moc samovysvětlující a použít „main“ a „upstream“ by věřím bývalo ušetřilo spoustu času nováčkům nebo lidem, kteří neumí moc anglicky. Bohužel věčné diskuzi, zda mít „master“ a „prod“ nebo „develop“ a „master“ – nebo snad všechny tři větve – by to asi nezamezilo.

Na rovinu politická korektnost mne jako aspekt dřív nenapadla, slova „master“ i „slave“ pro mne mají vlastně význam spíše technický než společenský – jako asi mnoho čtenářů jsem je poprvé potkal na IDE kabelu. A vlastně i motivací mé současné reakce na plánované přejmenování byl aspekt srozumitelnosti neméně silně jako aspekt kulturní.

Proč se zrovna teď komunita rozhodla ho vyměnit?

Finální impulz jsou nesporně velké rasové bouře a z toho určitý nový kulturní posun v USA. První může následovat spíše nevěřícné vrtění hlavou, ale brzy mne řada reakcí přesvědčila, že nejde o virtuální problém.

V klidu českého prostředí to není tak srozumitelné, i když rasové problémy třeba Romů určitě také vůbec nejsou zanedbatelné. Úplně upřímně o nich vím pramálo a asi by bylo fér, aby o nich každý přemýšlel mnohem více. Jsou víc mimo hledáček než v USA, neproběhl tu velký katalyzátor očividného barbarství ve velkých rozměrech (otroctví a právně zakotvená segregace) nebo systematického policejního násilí. Možná ale stejně jen čekáme na podobnou velkou diskuzi za pár let u nás a bude podobně složitá.

Druhá věc, která dá práci pochopit, je význam slov „master“ a „slave“ pro rodilé mluvčí. Podvědomé asociace jsou úplně jiné než pro nás, kteří jsme se učili angličtinu technickou a i když známe slovníkové definice, jsou pro nás naprosto abstraktní. Zato Američané se učí o masovém otroctví v době, kdy u nás psal básně Neruda. Představit si pod otroctvím jen starověký Řím nebo americké filmy je ale také chyba. A ani v současnosti nemusíme až do Dubaje – možná si někdo ještě vzpomene na severokorejské švadleny u Berouna, ale popravdě situace řady těch méně šťastných dělníků z východní Evropy je asi dost šílená.

Jak vnímáš celý ten trend zahrnující změny názvosloví?

Když si dokážeme uvědomit tyto dvě souvislosti, často následuje argument, že ale lidé nemůžou být takové křehotinky a dělat divadlo kvůli každému slovíčku. Tady už jsme na půdě různých možných názorů, ale já došel k opačnému – slova totiž jednak ovlivňují myšlení a zároveň chtě-nechtě vzbuzují emoce. Češi říkající „master“ v hlavě prostě budou mít jinou významovou mapu než Američané, ale budu-li říkat „židák“ každému, kdo mne naštve, v mém myšlení by se to časem jistě také projevilo.

Emoce jsou ale stejně důležité. Hodně poslouchám rozhlas a když se jednou za mnoho měsíců do vážného rozhovoru připlete sprosté slovo, které nečekám, je to mentální náraz, který mne klidně rozhodí na pár minut; asi bych měl pracovat na své odolnosti, pravidlo nemluvit v rádiu sprostě ale oceňuji. Stejně tak si myslím, že můj život je lepší o to, když mi v příkazové řádce nástroj při překlepu v přepínači nevynadá do idiota, ale ideálně naopak napoví, kde přesně jsem udělal chybu.

Bylo by v pohodě mít místo /dev/null třeba /dev/terezin? Je to přece takové město, kde lišky dávají dobrou noc. A že je mimo srovnávat holokaust s otroctvím? Tak se to může zdát z Evropy, ale v Severní Americe legitimně mohou říct „ale no tak…“.

Nepoužívat některá slova je tedy podle mne otázkou uvědomění si souvislostí a dostatku slušného vychování, abychom měli respekt k ostatním. Je to jako podržet dveře, aby toho za námi nepraštily do nosu – celkem základní věc, na kterou když se vykašleme, nejspíš to nikoho nezabije, den to ale zkazit může a hlavně to hodně říká o nás samých a jak o druhých uvažujeme.

Ale často se holt naučíme na to dávat pozor, až když těmi dveřmi párkrát někoho praštíme – tedy trápí-li nás to vůbec. Nebo ať si je chytnou, křehotinky?

Není taková vlna podle tebe nebezpečná? Nebudeme chtít časem měnit názvy knih a tím historii?

Asi nejčastější straw man, se kterým se setkávám, je zvláštně binární myšlení: „když někomu vadí ‚master‘, tak já řeknu, že mi vadí ‚main‘, aha! A budete namydlení!“ Až na to, ze jedné z těch skupin jsou stamiliony, které to neříkají pro nic za nic, ale mají za sebou dost pádné historické argumenty.

Druhé ad absurdum je, že si budeme vzájemně mazat med kolem pusy a nemluvit spolu na rovinu. To je úplný opak mých vlastních zásad. To ale neznamená neprojevit k druhým respekt – a to nejvíce k tomu nejcitlivějšímu, totiž k jejich identitě (třeba rase), která bydlí v samém našem jádru. Jinak působíme zbytečnou bolest zvláště těm nejzranitelnějším, kteří se vlastně vůbec necítí pevní v kramflecích. A to kdo ví z jakých důvodů (ale málokdy vlastní vinou).

Jasně, pokud někoho úmyslně chceme pořádně naštvat, jen do toho! Ale nenamlouvejme si, že to má být tomu druhému úplně jedno, nebo je snad jeho chyba, když jen špatně pochopil, co jsme plácli.

Ano, reálné nebezpečí vzniká s davovou psychózou a „Cancel culture“ – asi nebude překvapivé, když i to se v hnutí jako #BLM bude objevovat. Doufám, že ti, kteří chtějí dělat, co je správné, a třeba kvůli tomu právě trvat na projevování respektu k druhým, budou mít v takovém případě naopak odvahu z davu vystoupit a postavit se za ty nespravedlivě lynčované. Ale stejně kontraproduktivní je brát všechny kulturní změny, co se ve světě dějí, jako kluzký led, ve kterém jakýkoliv ústupek z absolutní svobody všech a všude nakonec končí orwellovským peklem.

Přinese změna názvosloví nějaké technické problémy?

Na rovinu se technické realizace vůbec neúčastním – z každodenního vývoje Gitu jsem po pár letech úplně vypadl, už jen stále pomáhám s hostingem repo.or.cz, a od systémového progamování se můj zájem už před deseti lety přesunul k umělé inteligenci a strojovému učení.

UX DAy - tip 2

Zdá se, že změna půjde cestou nové konfigurační volby, která bude mít u nových repozitářů jako výchozí „main“ místo „master“. V samotném Gitu bude třeba sáhnout na překvapivě málo míst (master nemá příliš speciální postavení), tooling postavený na koleně ale určitě bude potřeba sem tam také opravit. Nejjednodušší změna pro zachování kompatibility s tooly, keré v sobě master mají zapečený hluboko, ale bude prostě při git init říct, že se má jako první větev stále založit master místo main.

Dobrý úvod do současného přístupu, a ještě jinak převyprávěná motivace k celé změně, představuje post od Johannese Schindelina, kolegy – evropského bílého muže, který stojí u Gitu od jeho počátků.

Byl pro vás článek přínosný?