Redis作者摊上事了:多人要求修改Redis主从复制术语master/slave
作者 | ANTIREZ、小智
近日,Redis 作者在 GitHub 上發(fā)起了一個(gè)“用其他詞匯代替 Redis 的主從復(fù)制術(shù)語”的 issue。有人認(rèn)為 Redis 中的術(shù)語 master/slave (主人 / 奴隸)冒犯到了別人,要求 Redis 作者 ANTIREZ 修改這個(gè)術(shù)語,甚至連 ruby on rails 的作者 DHH 都在表態(tài)。本文對此 issue 做了簡單翻譯,以饗讀者。
背景介紹
包容性領(lǐng)域的積極分子多次要求 Redis 使用不同于主從的術(shù)語,特別是與奴隸制無關(guān)的術(shù)語。就我個(gè)人而言,我認(rèn)為這種努力不值得,但這是我個(gè)人的觀點(diǎn)。另一方面,不同的 Twitter 話題,尤其是與 DHH 的交流,以及許多人開始建議不再使用 Redis 的賬戶,讓我思考了一些事情。具體來說,我認(rèn)為對于愿意使用 Redis 的工程師來說,這可能是一個(gè)問題。因?yàn)樗麄冋J(rèn)為將其應(yīng)用于某些工作場所,Redis 中使用的術(shù)語可能產(chǎn)生問題。我不想由于我的想法,給 Redis 社區(qū)制造麻煩。
與此同時(shí),一旦我開始表現(xiàn)得對這些術(shù)語重新命名的可能性更加開放,我開始收到更多人的抱怨,這些人多年來一直為該項(xiàng)目做出貢獻(xiàn),我們不得不做的事情讓我們感到惱火。我們不會(huì)以任何方式更改系統(tǒng),這樣做的代價(jià)太大,而且會(huì)產(chǎn)生兼容性問題。
我的想法是在所有這些事情之間找到一個(gè)中間地帶,因?yàn)樾g(shù)語的變化會(huì)帶來很多問題:
- PRs 將不再適用;
- 我們有一些命令,例如 INFO 和 ROLE,它們用包含從屬項(xiàng)的協(xié)議進(jìn)行應(yīng)答;
- 源碼中出現(xiàn)了 1500 次 slave 術(shù)語;
- 擁有 private trees 并根據(jù)需要合并的人會(huì)遇到很多問題。
所以這種改變可能會(huì)產(chǎn)生很多問題。此外,Twitter 上的許多人不理解 Redis 的向后兼容性文化。Redis 5 現(xiàn)在發(fā)布的候選版本與 Redis 發(fā)布的第一個(gè)穩(wěn)定版本是向后兼容的。這種文化確保升級(jí)操作簡單,在客戶端沒有無用的工作要做等等。這是一件值得考慮的大事。
可能的解決方案
然而,我想發(fā)出一個(gè)信號(hào),因?yàn)樵谕铺厣?#xff0c;很多人發(fā)起要求改變這個(gè)術(shù)語。當(dāng)我處理 Redis 社區(qū)時(shí),我不想成為它的國王,我需要為這里的人們服務(wù)。然而,一個(gè)信號(hào)不需要在整個(gè)社區(qū)中造成許多問題,所以這是我建議做的。
短期變化
首先,我們做以下工作:
長期變化
我們不會(huì)提供第二步的 ETA,我希望社區(qū)能理解我們的技術(shù)問題。然而,我希望人們能意識(shí)到至少有人在聽。某些要求改變的人聲音洪亮,充滿敵意,但我在 Twitter 上看到很多人只是平靜地要求看到一些改善。有一件事是肯定的:主從術(shù)語在未來不會(huì)被使用,所以讓我們一起做這個(gè)改變,并繼續(xù)我們的實(shí)際工作,即:使 Redis 更好和可用。
我知道這可能看起來很惡心,但我希望這里的大多數(shù)評(píng)論都是由最近幾年在 redis land 做了一些事情的人提供的。人們發(fā)送 PRs、打開問題、編寫客戶端庫、大規(guī)模使用 Redis 并定期提供提示等等,如果如果您是 Github 的臨時(shí)用戶,在這里跳出來說“改變它!”這只會(huì)制造噪音。謝謝。
issue 鏈接:
https://github.com/antirez/redis/issues/5335
這只是個(gè)例嗎?
Redis 目前在 GitHub 上有 3.1 萬個(gè)贊,1.2 萬個(gè) fork,然而在這條 issue 的下面,600 余個(gè) emoji 表態(tài)里,有超過 480 個(gè)向下的大拇指,100 余個(gè)困惑的表情,卻只有不到 60 個(gè)贊。
類似的事件是個(gè)例嗎?當(dāng)然不是。
早在 2014 年,django 也曾發(fā)生過類似事件,當(dāng)時(shí)其 issue 的主題是:將 master/slave 出現(xiàn)的地方都改成 leader/follower。底下用戶參與的評(píng)論不出意外也是一副懵逼臉,Are you serious?
issue 地址:
https://github.com/django/django/pull/2692
筆者又再扒了一下,發(fā)現(xiàn) React 項(xiàng)目下也有人在跟進(jìn)發(fā)起類似的 issue:黑名單(blacklist)太具攻擊性!當(dāng)然,目前還沒什么人搭理他。
issue 地址:
https://github.com/facebook/react/issues/13604
除了主從復(fù)制的術(shù)語,外國程序員們還咬文嚼字過哪些詞呢?
Twitter 上一位分不清是高級(jí)黑還是太較真的用戶發(fā)了一條這樣的推文,總結(jié)了下國外程序員們敏感的技術(shù)詞匯:
對于這樣的事件,中國程序員紛紛表示不能理解:
不就是一個(gè)針對計(jì)算機(jī)的術(shù)語么?怎么就冒犯人了?吃飽了撐的,工作太閑不飽和啊,拉來中國加加班就好了。沒想到白左都進(jìn)軍技術(shù)圈了。事實(shí)證明,還是國外的杠精比較厲害。西方世界已經(jīng)被政治正確占領(lǐng)了。InfoQ 觀點(diǎn)
Master/Slave 的中文翻譯,一開始便避免了英文的奴隸一詞,而巧妙地改成了主從復(fù)制。從這個(gè)角度看,其實(shí)國內(nèi)對于 slave 一詞的負(fù)面詞性也是做了一些處理和規(guī)避的。
但是僅僅因?yàn)橐粋€(gè)詞性的問題,就大費(fèi)周章去做一些牽一發(fā)而動(dòng)全身的修改是否有必要?目前來看需要更加仔細(xì)斟酌,如果因?yàn)樯俨糠峙u(píng)者的言論就去修改細(xì)節(jié)乃至源碼,是否會(huì)影響到更多未發(fā)聲的實(shí)際使用人群?
至于威脅如果不改就再也不用的人群,跟國內(nèi)某些成天抵制這個(gè)抵制那個(gè)的群體又有何區(qū)別?項(xiàng)目開發(fā)者的確需要考慮用戶的需求與感受,但不應(yīng)該受用戶的各色言論所左右。追求盡善盡美,最終可能既不善也不美。
智慧的 InfoQer 們,你們又是怎么看的?
總結(jié)
以上是生活随笔為你收集整理的Redis作者摊上事了:多人要求修改Redis主从复制术语master/slave的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 一文了解Linux内核
- 下一篇: 用批处理实现文本文件中指定字符串的替换