Gitのデフォルトブランチ名が「master」に決まった理由
(twitter.com/xpasky)Gitのコア開発者だったペトル・バウディス(Petr Baudis)が2005年にGitのデフォルトブランチ名を「master」に決めました。 バウディスは「master recording(マスターレコーディング)」のような用語での意味で「master」という語を使いました。「owner」(所有者)という意味で使ったのではありません。
しかしバウディスは、Gitの用語を選ぶ際にBitKeeperの影響を受けた可能性もあると認めています。 2001年2月3日に書かれたBitKeeperのHOWTO.ask文書には"the master and slave repository"という表現があります。
さらに、2005年6月25日にリーナス・トーバルズが書いたGit関連のメールにも、「master」と「slave」という名前のGitツリーが言及されています。
What does that mean? It means that in a mirroring schenario, you can,
for each git tree, do:(a) On the slave:
cat .git/refs// | sort | uniq > slave-ref-list(b) On the master:
cat .git/refs// | sort | uniq > master-ref-list
技術分野における「master」と「slave」という用語をめぐる論争については、Wikipediaの記事に簡潔に書かれています。
しかし、「slave」という名前のブランチがあるGitリポジトリは、今ではもう珍しいのではないでしょうか。たとえリーナス・トーバルズのような一部のGitコア開発者が2000年代に「主人と奴隷」という比喩の文脈で「master」というデフォルトブランチ名を理解していたとしても、果たして今Gitを使っている数多くの開発者もそのように理解しているのでしょうか。「master」は「原本」をはじめ、さまざまな意味で使われる語でもあるからです。
26件のコメント
以前に私が書いたコメントです。用語の選択は、企業だけが最終決定を下すことではないと思います。
返信先を間違えてしまいました。
韓国で生まれ韓国で育った韓国人が、master/slave という語感を完全に理解することはできるのでしょうか。私は否定的です。だから、西洋の人たちが変えるべきだと言うなら、そういうものなのだろうと思います。
欧米でも賛否両論があります。
50:50レベルの議論ではないのではありませんか? すでに大企業では変更したケースがかなり見られますので。
次の文章を追記します。
https://news.ycombinator.com/item?id=23500093
以前に私が書いたコメントです。用語の選択は、企業だけが最終決定を下すべきことではないと思います。
おお、、ありがとうございます!
slaveという単語は、語そのものが蔑称なので使わないほうがよいと思いますが、masterという単語まで使わないようにしようというのは……。たとえば「プデチゲ」という言葉について、プデチゲの「プデ」は朝鮮戦争による屈辱的な生活に由来する言葉だから変えるべきだ、という話を見ているような感覚です。理屈はわかりますが、そこまでか? という感じです。重要なのは、開発者がこの言葉の文脈をどう理解するかではなく、その言葉の起源と用例だと思います。皆さんもそう感じるかは分かりませんが、コンピュータ分野は特に白人男性中心であるため、差別に対する感受性が比較的鈍いことがあると思います。論争がこれほど大きく表面化しているのも、こうした文脈から見れば的外れではないでしょう。
問題意識すら感じていない人が多いことこそが、大きな問題だと思います。
masterという単語自体の語源は次のとおりです。https://www.dictionary.com/browse/master
この単語の語源に関するより詳しい情報はこちらにあります。
https://www.etymonline.com/word/master
次の論文を追記します。
Eglash, Ron. "Broken Metaphor: The Master-Slave Analogy in Technical Literature." Technology and Culture 48, no. 2 (2007): 360-369. doi:10.1353/tech.2007.0066.
woke になれば、破綻する。
私の考えは違います。
master/slaveという用語を改めようという意見には、私も賛成です。昔からハードディスクを複数つなぐときにもマスター/スレーブを使っていたし……
次の文章も参考になると思います。
https://lore.kernel.org/all/20200619130058.GA5027@danh.dev/t/
ここでは明確に表現されています。
https://nist.gov/news-events/news/…
master/slaveのような用語は避けること。もちろん、用語の使われ方や意味は固定的なものではなく、社会の変化に応じてそれ自体も変わっていくものではありますが、もし「ネガティブな固定観念や不平等な権力関係」を本質的に内包した単語なのであれば、変えたほうが社会的にはプラスになるように思います。
ある観念が、単語を変えるほどに否定的であり、不平等な権力関係を本質的に内在していると、誰が決めるのでしょうか。
単に git のブランチ名だけでなく、他の分野や業界、領域にまでこうした語の修正を広げない理由は何なのでしょうか。
私は、言葉を話者の現在の用法に反して変えようとする場合には、はるかに多くの議論と社会的合意が必要だと思います。master を使わないこと自体には私も賛成ですが、master を使わないことについての議論が定着していく過程を見ていると、この論理は今後この単語だけに適用されるものではなさそうだからです。
国立国語院でも毎回さまざまな言い換え語を発表していますが、実際に話者が採用する言い換え語はごくまれであるように、単語を変更して呼ぶときには、もう少し十分な議論と共感の土台が必要だと思います。
マスター/スレーブの問題には政治的な背景もありますが、その単語を日常的に使う個々人にとっては、十分な説得に先立って社会的圧力として作用した面もあったと思うのです。
政府や企業だけでなく、開発者コミュニティも議論に参加すべきです。しかし、Git のデフォルトブランチ名
masterが特定の利用者にとって侮辱的な言葉なのかどうかについて、Software Freedom Conservancy と Git プロジェクトで十分に熟慮されなかったように思います。https://sfconservancy.org/news/2020/jun/23/gitbranchname/
個人は、自分の言語使用に固定観念や偏見が潜んでいることを常に認識し、さまざまな機関や団体には、既存の用語をあまりに性急に改める前に十分な調査と議論を経てほしいと願うばかりです。
私の回答のURLを最初の段落のすぐ上に置いておくべきでした。
修士号も英語では Master だしね(笑)
該当するNISTのニュースページの下部には
Webmasterのメールリンクがありますが、masterをslaveと対になる意味で使っていないwebmasterのような用語は問題ないように思います。Gitのmasterブランチもそうした用語に当たるのかどうかについては、人々の意見が分かれているようです。「そうした用語に当てはまるかどうかはさておき」に修正します。