Linux官網被黑幕后:政治正確會毀了技術嗎?
“有人的地方就有江湖,有江湖的地方就有紛爭”。這話不僅適用于現實世界,也適用于網絡世界。
就在前不久,全球三大操作系統之一 Linux 的官方社區就發生了一些紛爭,一位暴躁老哥本著“能動手盡量憋BB”的原則,直接黑掉了網站。
?? ??
黑掉 linux 網站的技術原理其實不難,就是個典型的 DNS(域名解析)劫持。
一張圖,兩句話就能講明白:
(黑客盜走DNS賬號密碼,把網友帶進了溝里)
?? 
雖然原理很簡單,但表面的沖突永遠都只是冰山一角,更深層次的恩怨情仇往往藏在深海之中。
Linux 官網為何被黑?主頁上的菊花圖片是何含義?黑底綠字又表達著什么怨念?這一切是何人所為?是人性的扭曲還是道德的淪喪?本期幺哥試圖走近真相,為大家揭開 Linux 社區被黑事件背后的故事與矛盾……
Let's Rock !
1.“礙著我寫代碼了”
時間回到三個月前。
2018年 9月16日,Linux 的創始人Linus 冷不丁簽發了一份名叫“CoC”(Code of conduct )的行為規范,本意是想規范社區的行為,不罵人,不歧視,為社區營造出“其樂融融合家歡”的討論氛圍,不料卻點燃了沖突的導火索。
這套行為準則的大致意思是說:
為了營造開放、熱情的社區環境,社區的每一個人應該遵守這套行為準則,不得言語辱罵他人,不得在代碼和討論中發表帶有歧視的內容,包括性別(歧視)、年齡、種族、國籍、經濟地位、外表、性取向、性認同等等方面。
然后具體羅列了一些處理辦法。
(大家感受一下這個意思就好)
?? 
支持平等,反對歧視;支持文明表達,反對言語辱罵。在常人看起來,這大概是一份鼓勵人們積極向上的行為準則。
可就這么個準則,引起了巨大爭議,反對的聲音猶如滔滔江水連綿不絕……
一個典型的聲音是:“做技術的專心寫好代碼就行,不應該受這些跟技術不相關的事影響。”,他們覺得 CoC 行為準則是一種“政治正確”,會影響他們寫代碼。
聽起來似乎有些不講道理。
難道專心做技術就可以搞性別歧視、種族歧視、性取歧視? 一份尊重文化差異,追求人人生而平等的行為守則怎么就礙著你們寫代碼了?
別說,“尊重文化差異” 還真會影響寫代碼。
說個真事。數據庫技術領域有個正兒八經的技術專業術語叫:“master-slave”,翻譯過來大意是“主從模式”或者“主仆模式,它是用來提高數據庫工作效率的一種調度方法。具體是什么不太重要,總之,全世界的程序員都在用,而且很多年都沒什么問題。
可是這兩年忽然人跳出來說,這個詞帶有歧視的意味!
因為“master“和“slave”分別是“主人”和“奴隸”的意思,分明是暗示“奴隸制度”,不符合當今人人平等的價值觀……
知名數據庫 Redis 的作者 Antirez 經常收到來自各地的請托郵件,要求他改掉 Redis 里的 “master-slave”。他起初一臉懵逼,覺得雖然這個詞一開始確實可能源于奴隸制度里的主仆關系,可是用著用著這個詞早已不帶任何感情色彩,只是一個很純粹的技術詞匯。
(其實這個表述還挺形象)
?? 
可是反對的呼聲越來越高,迫于壓力,Antirez 只得在網上發起一個匿名投票,結果六千多個投票者里,居然顯示半數以上都支持改掉 master-slave。
?? 
面對這個結果,他能怎么辦,他也很絕望啊,作為 Redis 的作者,Antirez 要對項目負責。他深刻知道,一個在常人眼里看似簡單的程序修改實際會付出很昂貴的代價,因為這個術語牽扯到的其他命令非常多,很可能讓項目產生各種奇奇怪怪的兼容性問題。
更關鍵的是,Antirez 打心底覺得這個詞不帶歧視。這種自由意志被多數人道德綁架甚至強奸的感受,讓他非常不好受。
或許是出于文化差異,其實我聽著也覺得這事兒挺扯。
這就好比,“奴隸”的“奴”字我們已經用了很多年,這時忽然有人扛著“女權主義”的旗子跳出來說“憑什么奴隸的‘奴’字是“女字旁”,這是歧視女性啊!”
(奴字最早確實是一個“咸豬手”伸向“女”)
?? 
而且這種呼聲還非常高,在“女權主義”這桿旗的庇護下,人們紛紛要求把所有字典、書、網上的 “奴”字都改成“僅”字或者“男又”字,理由很簡單,男女平等的時代,憑什么奴隸的“奴”只用女字旁?
聽起來似乎也有那么一丟丟道理。
可是倘若真的依照這個邏輯,把“奴”改成“僅”,很快就會有人要求把“嫖娼”二字也改了。憑什么“嫖”的是“女票”,不能是“男票”?
發展到最后,所謂的“平權”只會淪為荒誕。
可 Antirez 最終還是沒能忍受人們沒完沒了的要求,他妥協了,在保留 master-slave 的情況下同時啟用 master-replica 用法,兩個術語是一個意思,開發者們愛用哪個就用哪個,相當于即可以用“女票女昌”,也可以“男票男昌”,愛嫖哪個嫖哪個,最大程度上兼顧左右。
看到這里,或許大家已經開始理解為什么 Linux 社區的一部分人要極力反對看似正能量的 CoC 行為準則了。
原因很簡單,一旦人們欣然接受 CoC,開了這個口子,未來的規矩和要求可能越來越多,沒完沒了,就像漩渦一樣把所有開發者卷進去。誠如陳醫生的那句名言:“得不到的永遠在騷動,被偏愛的都有恃無恐?!?/p>
到最后,如果開發者們連寫個代碼也要步步驚心,一不小心就被扣上各種歧視、三觀不正的帽子,確實恐怖。
2 “SJW們的陰謀”
更恐怖的是,有人懷疑 CoC 行為準則其實是個陰謀,一個由“SJW”發起的陰謀。
SJW 全稱是“Social Justice Warrior”,社會正義斗士,指那些大義凜然地扛著道德大旗到處指責別人,實際想法非常主觀,他們有的人或許是發自內心以為自己是圣人,有的人則是借著這些名頭提高自己的權力。
這個詞在國內貌似不常見,但有兩個意思相似的詞:“道德婊”、“鍵盤俠”。他們都喜歡站在道德高點給別人扣帽,得不得理都不饒人。
在一些開發者眼里,SJW 們不需要懂技術,但只要一扛起諸如“尊重女性”、“尊重同性戀”之類的旗幟,就變得神圣不可侵犯,一旦冒犯了他們,就給你扣上三觀不正的帽子。
這么說當然不是空穴來風。
備受爭議的 CoC 行動原則最早是基于一個叫“貢獻者盟約”的文檔而來,它的作者 Ada 在2015年,就干過 “得理不饒人”的事情。
(行為準則最初的作者 Coraline Ada Ehmke)
?? 
當時,另一個開源項目 Opal 的核心開發者 Elia 在網上發表了一些對變性人不太友好的言論,Ada 被激怒了,因為她就是變性人,還是 LGBT活動家(LGBT——同性戀、雙性戀、變性人等性別觀點不同于常人的人),經常在外呼吁平等對待LGBT。
于是,她以“歧視 LGBT 群體”為由,要求 Opal 項目組將 Elia 驅逐出去。
由于 Ada 名氣不小,她的呼吁很快得到響應,Opal 項目組分成兩派撕了起來。一派覺得 Elia 的言論確實不妥,需要受到懲罰;
另一派則覺得 Elia 在社交媒體Twitter 上愛咋說咋說是言論自由,而且這事兒跟 Opal 項目無關,跟技術無關,所以不應該處罰。況且,Elia 是項目的核心代碼貢獻者,一個為項目嘔心瀝血的人,憑什么要被“從天而降”一行代碼也沒貢獻過的“道德圣斗士”幾句話就驅逐呢?
爭到最后,雙方各退一步達成和解, Opal 項目組沒有清退 Elia,但也妥協,采納了 Ada 的貢獻者盟約,對項目組成員未來的行為進行一定規范。
爭執本該結束,可是新的問題很快就出來了。
沒過多久,Ada 在貢獻者盟約里更新了一些新條款。明眼人一看就知道是針對Elia的。大概意思是:
不發表歧視同/異性戀、變性人的內容,代碼里和討論區都不行;一旦發現,將被要求清退出項目組;并且要求貢獻者盟約的使用范圍進一步從項目組改成公共領域,在公共場合也不準發表不當言論……
?? 
這下徹底把 Opal 項目組給惹怒了,他們覺得Ada 有些理不饒人,仗著自己有修訂盟約的權力就胡來。
于是項目組決定甩開這幫人,自己弄一套大家看著都還滿意的行為準則。
從那之后,Ada 就成了許多開發者眼中的 SJW,喜歡扛著“平權大旗”到處橫插一腳,用正義的名義來傷害開源項目的核心開發者。
無獨有偶。類似的情況在 Linux 社區發布 CoC 時又出現了。
Linux 核心組里有個叫“曹子德”的元老級人物自始至終拒絕簽署 CoC 條約。
沒過幾天,一個 Ada 的追隨者 Sage Sharp 在網上指控曹子德是“強奸辯護者”。理由是,曹子德以前曾經寫過一篇文章說不少強奸案其實沒有真實證據,只是因為女方單方面指控就定了罪,值得推敲。
一石激起千層浪,全世界的開發者們又吵開了……
“有心之人又想借機把曹大神排擠出核心團隊……”
“再鬧下去,越來越多的技術大神都會被逼得離開社區……”
“哎,希望學術的歸學術,政治的歸政治……”
(圖片截取自V2ex討論區)
?? 
之后,更多開發者們對 CoC 避而遠之,極端反對者甚至不惜對 LGBT 惡語相向,甚至黑掉網站來表達態度。
3.認錯的暴君
說來也怪,既然反對 CoC 行為準則的人那么多,那 Linux 項目組為什么還要簽發 CoC 呢?
因為在此之前,Linux 社區的氛圍確實不怎么友好,時不時出現一些言語攻擊、辱罵。對那些出錯的人(尤其是技術新人),社區的反應非常嚴厲,欠缺禮貌寬容。
這一點在 Linux 的創始人 Linus 本人身上就體現得淋漓盡致。
Linus 本人是個遠近聞名的大噴子,暴君。當發現別人代碼里的問題,他會當眾用各種不堪又別具一格的話來嘲諷、羞辱你。
當 OpenBSD 項目的開發者在貼子里強調了代碼的安全性,Linus 會回帖說對方是“自慰的猴子”,只知道炫耀安全性;
當核心成員提交的代碼不夠簡潔,Linus 會用獨有的方式爆粗口:“皇天在上,這踏馬寫得就是一坨屎……”
從上個世紀 90 年代 Linux 項目誕生至今,見識過 Linus 噴人功力的程序員手拉手連起來興許可繞地球一圈……
雖然在不少人眼里,Linus 已經到了口無遮攔、語言虐待的地步。不過他自己卻解釋:“我只關心技術,不太擅長和人打交道,照顧別人情感這事對我來說太難了!比寫代碼難多了……”
簡而言之:
“我控幾不住寄幾啊!”
?? ??
哎……真是不知道該怎么說他了。難道在他這樣的技術天才和完美主義者眼中,“在座的各位真的都是辣雞?” ,以至于按捺不住噴人的沖動?(話說喬布斯生前也是個“暴君”)
不過,在噴人這件事上,Linus 確實做到了一視同仁。
有人專門用軟件分析過他所有公開罵人的郵件,發現沒有什么地域、性別、種族、性取向等偏向和歧視,真如他所說,“只是聚焦于代碼和技術本身的好壞”。
?? ??
Linus 真的就像我們身邊那種學術很厲害但情商很低的大神一樣,一心只想做技術,懶得考慮別的……
總之,他就這么噴了二十多年,許多人也習慣了他的作風。畢竟他是全球為Linux 貢獻代碼最多的人,技術非常厲害,大家似乎也不能要求一個人盡善盡美。
到后來,有的人居然開始贊賞他不做作,不妥協的風格。人們也津津樂道于 Linus 的噴人技術……
當然,因為不堪忍受言語辱罵而撂擔子離開項目組的技術大牛也不是一個兩個了……
我總是相信,一家公司的性格會越來越接近 CEO 本人的性格,一個社區也是如此。
在 Linus 的帶領下,整個Linux 社區在十幾年里的氣氛都恰似他本人的行為作風。有網友直言:“反正作為一個新用戶,我從來沒有在 Linux 社區里感受到自己是受歡迎的?!?/p>
這兩年 Linus 似乎意識到了這個問題,終于決定改變。CoC 就算是其中一個標志。
在簽發 CoC 后不到30分鐘, Linus 群發了一封道歉信,一個二十多年的“暴君”居然開始對自己的不良行為道歉。
他說,整個社區也應該考慮考慮它的行為方式,現在的 Linux 社區是一個“航臟的泥潭”。對于 CoC 過度政治正確的爭議,他持保留意見。大概意思是“先試試看,不行再說?!?/p>
隨后,他宣布給自己來個“不限期休假”,社區的事暫時交給他的二把手來打理。他要去好好學習一下如何與人好好說話,或者給自己寫一套專用的臟話屏蔽工具,幫助自己減少言語攻擊。
有人說,Linus 是被SJW 們道德綁架才被迫道歉,并簽發了CoC。也有人說Linus 受家庭尤其是幾個女兒的影響,姿態開始放低。(他的女兒都是90后和00后,可能他想當學著做個慈父也說不定),但最終原因無從考究,似乎也并不重要,Linus 已經做出選擇,決議改變。
4.平衡是沖突的結果
有人說,技術歸技術,政治歸政治,文化歸文化,不應該相互摻和。
也有人說,技術的最終目標是解決人類面臨的問題,讓世界更美好,它從來就是文化、政治的一部分,自然不能免俗,當觸及到模糊的政治文化地帶時,一味地回避并不解決問題。
技術研究應不應該受政治文化的影響,我覺得永遠是個問題。CoC 的爭論還將繼續,有人扛著“平權”的旗,有人扛著“反對政治正確影響技術”的旗。
雙方都有各自的“政治正確”。
但是,世上絕大多數問題,本來就不是“黑”或“白”,“是”與“非”的問題。而是“平衡”的問題,是“度”的問題。
爭論雙方各自有立場,人的思想沒法量化,最終只能靠雙方一點點試探才能找到邊界。在這個過程中,免不了踏入對方的領地,引發沖突。
真理越辯越明,希望人們在無數次試探之后,能更加走近真理。
最后鳴謝一下 Linux 中國社區(linux.cn)的創始人王老師,感謝他提供的資料參考和觀點。
參考資料:
Linux 中國.資訊.《Linux 擁有了新的行為準則,但是許多人都對此表示不滿》
Linux 中國.資訊.《Linus 回應 CoC 風波:我是個好人,Linux 社區變臟了》
21IDC.《口無遮攔,出口傷人無數的Linux之父終于道歉了》
java程序員聯盟.《數據庫術語master-slave政治不正確,Redis 作者被迫修改》
部分截圖源于 linux.org 、git.kernel.org 和 Github

















