GitHub 官方表示,從今年 10 月 1 日起,在該平臺上建立的所有新的原始碼倉庫將預設被命名為 "main",而不是原先的"master"。值得注意的是,現有的儲存庫不會受到此更改影響。
早在今年 6 月份,受美國大規模的 “Black Lives Matter”運動影響,為了安撫愈演愈烈的民眾情緒,GitHub 就宣佈將替換掉 master 等術語,以避免聯想奴隸制。現在,在外界一些聲音的催促下,這一舉措則終於要正式落地了。
除 GitHub 外,為了避免帶有所謂的“種族歧視色彩”,許多科技巨頭或知名軟體也都調整了自己的業務和產品,以平息社會輿論。包括有:MySQL 宣佈刪除 master、黑名單白名單等術語;Linus Torvalds 通過了 Linux 中避免 master/slave 等術語的提案;還有 Twitter 、GitHub、微軟、LinkedIn、Ansible、Splunk、OpenZFS、OpenSSL、JP Morgan、 Android 移動作業系統、Go 程式語言、PHPUnit 和 Curl 等宣佈要對此類術語進行刪除或更改。同時,IBM、亞馬遜、微軟也都接連調整面部識別平臺業務,以防加深歧視或遭受指責。
且最初在 Git 中寫下“master”一詞的開發者 Petr Baudis 也於 6 月份在社交網站上表明立場稱,自己當年不該使用“master”這個可能給別人造成傷害的詞語。並表示,他曾多次希望可以將“master”改成“main”(和“upstream”)。不過直到現在,才由 GitHub 開始主導替換工作。
而對於為何選擇“main”而不是其他替換詞彙,Github 方面給出的解釋為,main 是他們在平臺上看到的最受歡迎的 master 替代品。並且 main 這個詞彙很短,可以幫助使用者形成良好的肌肉記憶;在很多種語言中翻譯起來也都很容易。
目前,該平臺已將 main 用於新建立的倉庫和正在遷移的倉庫,例如 dependabot-core。不過,Github 也指出,對於現有的倉庫來說,重新命名預設分支的舉措無可避免地會造成一些麻煩,譬如必須編輯拉請求的設定和修改安全策略等。
此外,Github 還透露,截至今年年底,他們將使現有儲存庫無縫重新命名其預設分支。當用戶重新命名分支機構時,他們將重新定位開啟的 PR 和草稿版本、移動分支機構保護策略等,且所有的這些都將自動完成。
事實上,計算機術語政治正確性早已不是新鮮話題。2004 年,“master/slave”曾被全球語言檢測機構評為年度最不政治正確的十大詞彙之一,時任主席稱這是政治滲透到計算機技術控制中的表現。2008 年,開源軟體 Drupal 在社群釋出訊息,高調站隊,將“master/slave”重新命名為“client/server”。2018年,IETF 也在草案當中指出,要求開源軟體更改“master/slave”和“blacklist/whitelist”兩項表述。
然而在一些開發者呼籲一些開源軟體廠商修改原始碼,清除此類詞彙的同時,也有很多人持反對意見。其中最突出的兩個理由則是:計算機原始碼中的“master、blacklist”等詞語並不包含歧視情緒;和更改的成本不低。
可以理解的是,倡議者們想表達的是,並不是不能使用“黑”這個詞,而是希望不要把“黑”作為“白”的對立面,表達“不好”、“壞”、“需要被限制”等負面意思。同理,當“master、slave”出現在原始碼中,並且表達的“主-從”關係,這會讓一些人聯想到奴隸制。
但是值得思考的是,在計算機原始碼領域中,“master/slave”和“blacklist/whitelist”之類的技術用語有錯嗎?一味的“一刀切”的話,會不會導致所謂的矯枉過正呢?