自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

社區(qū)糾紛不斷:程序員何苦為難程序員

開發(fā) 新聞
本文梳理了以往的一些社區(qū)糾紛事件,發(fā)現(xiàn)許多矛盾發(fā)生在社區(qū)實(shí)際的管理者/層,與社區(qū)貢獻(xiàn)者、參與者之間,雙方的不滿大致也可以歸總成幾類原因。

日前,因為被多人侮辱大吼,Swift 之父正式退出 Swift 核心團(tuán)隊。

諸如此類的“語言暴力”、“網(wǎng)絡(luò)暴力”事件在開源社區(qū)乃至整個 IT 社區(qū)屢見不鮮。多個技術(shù)社區(qū),都出現(xiàn)過創(chuàng)始人、重要維護(hù)者、貢獻(xiàn)者因為感覺“社區(qū)氛圍糟糕”、“受到傷害”而宣布退出的現(xiàn)象。更有甚者,還有科技公司領(lǐng)導(dǎo)被爆出叫囂著讓 80 后退出 IT 圈。后者可粗略視為是該領(lǐng)導(dǎo)過于偏激,且是少數(shù)案例,先不做過多討論。但是在開源圈,怎么就這樣了呢?

為了回答這個問題,本文梳理了以往的一些社區(qū)糾紛事件,發(fā)現(xiàn)許多矛盾發(fā)生在社區(qū)實(shí)際的管理者/層,與社區(qū)貢獻(xiàn)者、參與者之間,雙方的不滿大致也可以歸總成幾類原因。

眾口難調(diào)

從大教堂的開發(fā)模式轉(zhuǎn)向集市開發(fā)模式之后,技術(shù)社區(qū)存在的目的便是為了聚眾人之力,讓項目更好。在集市模式下,開源社區(qū)給了個人極大的自由度,所有貢獻(xiàn)者都可以暢所欲言,發(fā)表自己的想法,為項目作出貢獻(xiàn)。隨之而來的問題,便是如何協(xié)調(diào)所有人的意見。

社區(qū)的管理模也在一定程度上決定了社區(qū)日后的爭吵風(fēng)險有多大。當(dāng)下的開源社區(qū)管理主要分成四種模式。一是由社區(qū)主導(dǎo),采用自由貢獻(xiàn)模式,“共識”是其前提,功能開發(fā)和版本發(fā)布等重要決策以社區(qū)共識為準(zhǔn)。二是公司主導(dǎo),由公司資助社區(qū)及軟件的發(fā)展,相對來說,公司會擁有更多的實(shí)權(quán)。三是 BDFL 仁慈的獨(dú)裁者模式,這是在社區(qū)模式的基礎(chǔ)之上,社區(qū)中有一個“獨(dú)裁者”的角色存在,他對一些重要決策有最終決定權(quán),而非依賴社區(qū)共識。四是精英治理,在社區(qū)中表現(xiàn)突出、貢獻(xiàn)最大的人被任命為管理團(tuán)隊,決策基于投票確定。

我們常見的糾紛事件,往往可以歸總為“掌權(quán)者”和“貢獻(xiàn)者”之爭,這種爭議更容易出現(xiàn)在“仁慈的獨(dú)裁者”模式的開源社區(qū)中。其他三種模式中,許多糾紛的出現(xiàn)也是因為實(shí)際管理團(tuán)隊未扮演好自己的角色。

掌權(quán)者的不滿

聞名世界的大型開源項目往往是某個“天才程序員”的作品,早期的開源社區(qū)一般都是“仁慈的獨(dú)裁者”模式,獨(dú)裁者飽受敬仰,比如 Linux 社區(qū)的 Linus、Ubuntu 社區(qū)、Python 社區(qū)。然而,天才似乎更樂于單兵作戰(zhàn)。

  • 對貢獻(xiàn)不滿

暴躁大佬 Linus 在評價那些沒達(dá)到他個人標(biāo)準(zhǔn)的代碼方面非常毒舌。曾有網(wǎng)友用了此前 Linus 在郵件列表中公開的一段回復(fù),直指 Linus 在人際溝通中態(tài)度惡劣:“這也算是一個 BUG?你已經(jīng)成為內(nèi)核維護(hù)者多長時間了?還沒有學(xué)會內(nèi)核維護(hù)的第一條規(guī)則?我再也不想收到這種明顯的垃圾,像白癡一樣的提交…… ”

對于一直看不爽的 Intel,Linus 對其提交的代碼也是口吐芬芳。2018 年初,為了修補(bǔ) Spectre 漏洞,Intel 工程師提供了一個間接分支限制推測(indirect branch restricted speculation, IBRS)功能的補(bǔ)丁。Linus 當(dāng)時就在郵件列表中公開指出 IBRS 會造成系統(tǒng)性能大幅降低,直言該補(bǔ)丁“就是徹徹底底的垃圾”。

不僅僅是 Linus,在崇尚“精英主義”的 BSD 社區(qū),也存在明顯的“鄙視鏈”。BSD 的第一版撰寫者 Bill Joy 不愿意相信龐大的志愿貢獻(xiàn)者者們,他曾說:“大多數(shù)人都是糟糕的程序員,讓很多人盯著代碼不會真正發(fā)現(xiàn)錯誤。真正的錯誤是由幾個非常聰明的人發(fā)現(xiàn)的。大多數(shù)人看代碼不會看到任何東西......不能期望成千上萬的人做出貢獻(xiàn)并都達(dá)到高標(biāo)準(zhǔn)?!?/p>

這種看法一直存在于 BSD 之后的發(fā)展中,F(xiàn)reeBSD 深度參與者 Marshall Kirk McKusick 就曾表示,90% 的 committers 所貢獻(xiàn)的代碼都不能用,還剩下的一小部分也需要被打磨。

  • 遭遇信任危機(jī)

在 Python 社區(qū),很多年內(nèi),Python 之父 Guido van Rossum 都是最有威信的那個人,他也被社區(qū)授予“終身仁慈的獨(dú)裁者”的稱謂。但在 2018 年,當(dāng) Python 社區(qū)探討改進(jìn)提案時,Guido 發(fā)現(xiàn)“現(xiàn)在有這么多人鄙視我的決定”。

因此,他不想再為 PEP(Python 改進(jìn)提案)[ PEP 572 ] 爭取什么,并決定自己將逐步脫離決策層,不再領(lǐng)導(dǎo) Python 的發(fā)展,休息一段時間后將作為普通的核心開發(fā)者參與社區(qū)。

有時,“仁慈的獨(dú)裁者”也會因為“不作為”被指責(zé)。Ubuntu 創(chuàng)始人 Mark Shuttleworth 在社區(qū)中被戲稱為“自封的仁慈獨(dú)裁者”。事實(shí)上,Ubuntu 社區(qū)早期也確實(shí)是“仁慈的獨(dú)裁者”管理模式。 

然而,在 Ubuntu 社區(qū)蓬勃發(fā)展,各項業(yè)務(wù)步入正軌之際,Mark Shuttleworth 本人的工作逐漸與開發(fā)者拉開距離,Jono Bacon 等一些早期在 Ubuntu 社區(qū)中頗具名望的核心成員相繼離開,Mark Shuttleworth 也很少在社區(qū)活躍。逐漸,有一些資深的 Ubuntu 開發(fā)者認(rèn)為社區(qū)正面臨“群龍無首”的尷尬局面,指責(zé)沙特爾沃思沒有盡到“BDFL”的責(zé)任。一位前 Ubuntu 開發(fā)人員在 Ubuntu 社區(qū)中留言指責(zé) Mark Shuttleworth 作為 BDFL “放棄了社區(qū),對社區(qū)治理的崩潰保持沉默”,令人失望。

Mark Shuttleworth 面對職責(zé)也欣然接受,承認(rèn)自己在這些方面確實(shí)做得不夠好,并表達(dá)了“挫敗感”。

  • 沒有回饋 

開源項目最容易讓人不滿的點(diǎn)還當(dāng)屬“白嫖”,許多開源項目都是靠作者用愛發(fā)電,社區(qū)的汲取大于回饋,從而導(dǎo)致軟件作者身心俱疲。

前段時間轟轟烈烈的 Apache Log4j2 高危漏洞事件,攻擊者可以利用其 JNDI 注入漏洞遠(yuǎn)程執(zhí)行代碼,影響了眾多項目和公司。此事也讓 Log4j2 的作者受到關(guān)注與批評,Log4j2 的維護(hù)者之一 @Volkan Yaz?c? 在推特上吐槽:Log4j2 維護(hù)者只有幾個人,他們無償、自愿地工作,沒有人發(fā)工資,也沒人提交代碼修復(fù)問題,出了問題還要被一堆人在倉庫里留言痛罵。

此前,PhantomJS 的核心開發(fā)者之一 Vitaly Slobodin 宣布辭任 maintainer ,不再維護(hù)項目,原因也是一個人發(fā)電太累:“我看不到  PhantomJS 的未來,作為一個單獨(dú)的開發(fā)者去開發(fā) PhantomJS 2 和 2.5 ,簡直就像是一個血腥的地獄。即便是最近發(fā)布的 2.5 Beta 版本擁有全新、亮眼的 QtWebKit ,但我依然無法做到真正的支持 3 個平臺。我們沒有得到其他力量的支持!”

貢獻(xiàn)者的不滿

當(dāng)社區(qū)隨著項目生命周期的發(fā)展逐漸發(fā)生變化時,流程和規(guī)定上的改變不可避免,貢獻(xiàn)者間交流的氛圍也在不斷變化中。貢獻(xiàn)者對社區(qū)的不滿往往是從社區(qū)發(fā)生變化開始……

  • 對項目或社區(qū)不再看好

一位 Debian 的包維護(hù)者 Stapelberg 在 2019 年寫了篇長文宣布自己要退出 Debian 的開發(fā)流程,逐漸減少參與 Debian 的維護(hù)和相關(guān)活動。主要原因便在于,他發(fā)現(xiàn) Debian 整個開發(fā)評估流程非常遲鈍。

舉例來說,補(bǔ)丁的評估沒有截止日期,有時候他會收到通知說幾年前遞交的補(bǔ)丁現(xiàn)在合并了。Debian 的一些維護(hù)者出于個人喜好拒絕合作,維護(hù)者給予的個人自由度太高對 Debian 構(gòu)成了嚴(yán)重影響。

在他對 Debian 的開發(fā)流程沮喪程度超過閾值之后,他便宣布退出,寫了文章,希望能激勵 Debian 作出改變。

在 LLVM 社區(qū),2018 年一位名叫 Rafael Avila de Espindola 的資深開發(fā)者(LLVM 編譯器貢獻(xiàn)排名第五)發(fā)郵件宣布決定與該項目分道揚(yáng)鑣。 原因在于近幾年的感受發(fā)生了變化,LLVM 日益龐大且變化緩慢,他也不贊成 LLVM 最近引入的社區(qū)行為規(guī)范。真正促使他做決定的是 LLVM 與一個公開根據(jù)性別和血統(tǒng)進(jìn)行歧視的組織 Outreachy 進(jìn)行合作,這讓他感到非常不滿。

除此之外,一些由公司主導(dǎo)的開源項目也會因為改變發(fā)展戰(zhàn)略招致不滿。

Qt 公司從 2021 年 1 月開始,將 Qt 5.15 作為僅供商業(yè)化的 LTS,現(xiàn)有的 Qt 5.15 分支將公開可見,但不會看到任何新補(bǔ)丁,只有付費(fèi)賬戶才可以使用長期支持版本的 Qt 5.15 。

此舉引起了社區(qū)的強(qiáng)烈不滿,基于 Qt 開發(fā)的 KDE 社區(qū)的擔(dān)憂。有用戶在 Qt 官方公告下留言諷刺道:“所以,基本上您是在告訴所有忠實(shí)的開源用戶,現(xiàn)在他們將僅被視為商業(yè)客戶的 beta 測試者,并且作為獎勵,他們將只能下載非 LTS 版本。你們真是太親切了!”一位長期的 Qt 貢獻(xiàn)者,來自英特爾公司的開發(fā)者 Thiago Macieira 表示,至少對于他在 Qt 中處理過的代碼,他不會再參與修復(fù)、評論和審查后端錯誤報告。

  • 反獨(dú)裁

與每個社區(qū)都有一個人或者幾個人的實(shí)際管理團(tuán)隊向?qū)?yīng)的是,在管理不當(dāng)時,貢獻(xiàn)者會起身反抗“管理”。

幾個月前,Rust 審核團(tuán)隊 (Moderation Team) 昨日公告稱,他們已集體辭職且即刻生效。團(tuán)隊成員 Andrew Gallant 表示此舉是為了抗議 Rust 核心團(tuán)隊 (Core Team) 不對除自己以外的任何人負(fù)責(zé)。

Rust 的管理者分為很多個團(tuán)隊,比如核心團(tuán)隊、審核團(tuán)隊、發(fā)行團(tuán)隊、庫管理團(tuán)隊等等...其中,Rust 核心團(tuán)隊的權(quán)限最大,而且其他團(tuán)隊無法影響他們。Andrew Gallant 在公告中寫道,由于核心團(tuán)隊在組織結(jié)構(gòu)層面的不負(fù)責(zé)任,他們一直無法按照社區(qū)對審核團(tuán)隊的期望和他們自己堅持的標(biāo)準(zhǔn)來執(zhí)行 Rust 行為準(zhǔn)則。對于在這種情況下選擇離開,他們表達(dá)了對大家的歉意。但從治理 Rust 的角度來看,他們別無選擇。因此 Rust 審核團(tuán)隊認(rèn)為除了辭職和發(fā)表這份聲明之外,已經(jīng)沒有其他辦法了。

如何讓眾人滿意?

矛盾激化的后果只有一個:成員慢慢離開。如果社區(qū)和項目不做出改變,則很有可能導(dǎo)致項目走向衰落。既然長時間充斥著爭吵與不滿的社區(qū)難以持久,那么,該如何構(gòu)建一個讓更多人愉快參與的社區(qū)?

首先,無論何種治理模式下的社區(qū),個人文明表達(dá)觀點(diǎn),遵守社區(qū)行為準(zhǔn)則都是減少沖突的必要條件。但是,個人行為是非常不穩(wěn)定的因素,就像 Linus 曾說要改改自己的暴脾氣,卻每每被各種言論刺激,重回暴躁大佬。

其次,便是通過治理框架有效地管理社區(qū),多權(quán)分立、避免獨(dú)裁,并且成員間相互約束,基于“共識”發(fā)展。具體來說便是有一份好的“手冊(原則、準(zhǔn)則等)”,以及一個讓人信服、能公證管理的團(tuán)隊。

比如在 Apache 軟件基金會中,便采用精英治理的模式。Apache Way 中對于決策、監(jiān)督、執(zhí)行等各方面都有明確規(guī)定:包括結(jié)構(gòu)扁平,無論職位如何,各個角色間是平等的,投票權(quán)重相同,不允許有仁慈的獨(dú)裁者出現(xiàn);單個項目由自選的活躍志愿者團(tuán)隊監(jiān)督,傾向在達(dá)成共識的前提下決定項目發(fā)展,不能完全建立共識則用投票等方式做出決策;整個基金會的治理模型基于信任和委托監(jiān)督……

在開放原子開源軟件基金會中,項目的畢業(yè)標(biāo)準(zhǔn)考核中也有類似的關(guān)于社區(qū)需符合“賢能治理”的規(guī)定:

OA-CO-40

【英】The community strives to be meritocratic and over time aims to give more rights and responsibilities to contributors who add value to the project.

【中】社區(qū)要符合賢能治理的精神,隨著時間的推移,為項目增值的貢獻(xiàn)者會被賦予更多的權(quán)利和責(zé)任 

TOC 成員徐亮曾介紹,賢能治理這四個字是經(jīng)過很多輪討論確定下來的。在英文語境中,這個詞是 meritocracy,并不完全是一個褒義詞,“我們并不覺得用 meritocracy 形容社區(qū)是完全正確的事情,但是我們又覺得在開源社區(qū)中,所謂的能者上氛圍是比較積極向上的,是社區(qū)能夠健康運(yùn)轉(zhuǎn)的主要因素?!?/p>

在許多項目中,一方面大家是貢獻(xiàn)者,另一方面,每個人提交的功能越重要,或者對項目本身做出了更有意義的貢獻(xiàn),就更有可能被現(xiàn)任維護(hù)人員選中去承擔(dān)更重要的角色。通過這種方式達(dá)成的精英治理或是賢能治理,往往是希望能夠讓項目可以自己成長,更好地走下去。

Ubuntu 的創(chuàng)始人 Mark Shuttleworth 在遭到信任危機(jī)之后,便著手參與將 Ubuntu 轉(zhuǎn)向經(jīng)營治理的模式。目前,Ubuntu 社區(qū)也重新組建了由 3 名核心成員組成的管理團(tuán)隊,分別是 Ubuntu 社區(qū)代表 Monica Ayhens-Madon,Ubuntu 開發(fā)者關(guān)系負(fù)責(zé)人 Rhys Davies,以及臨時社區(qū)經(jīng)理 Ken VanDine。Ken 還將負(fù)責(zé)繼續(xù)為 Ubuntu 社區(qū)尋找一位合適的社區(qū)總監(jiān)。

最后,借用一個當(dāng)下共識:開源比以往任何時候都更加重要。也因此,維護(hù)一個好的社區(qū)氛圍,正尤為重要。

責(zé)任編輯:張燕妮 來源: 開源博客
相關(guān)推薦

2013-08-20 09:33:59

程序員

2012-03-06 09:22:46

程序員

2009-05-21 15:58:12

程序員工作經(jīng)驗職場

2011-05-13 14:34:02

程序員

2015-04-10 19:37:34

程序員

2013-07-12 10:58:16

程序員

2020-07-17 09:55:11

程序員技能開發(fā)者

2017-11-14 21:30:15

2018-04-23 11:00:06

程序員養(yǎng)生健康

2012-11-22 14:00:26

程序員

2010-09-01 11:06:16

程序員

2015-08-11 14:45:51

程序員

2012-05-10 13:31:48

程序員開發(fā)者

2015-04-08 15:38:17

程序員程序員差距

2018-10-10 15:52:48

程序員代碼編程

2013-04-15 10:55:09

程序員

2012-11-08 09:49:30

C++Java程序員

2018-01-09 20:29:15

程序員日本程序員中國程序員

2016-04-28 11:17:33

互動出版網(wǎng)

2012-09-03 09:37:24

程序員編程開發(fā)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號