开心六月综合激情婷婷|欧美精品成人动漫二区|国产中文字幕综合色|亚洲人在线成视频

    1. 
      
        <b id="zqfy3"><legend id="zqfy3"><fieldset id="zqfy3"></fieldset></legend></b>
          <ul id="zqfy3"></ul>
          <blockquote id="zqfy3"><strong id="zqfy3"><dfn id="zqfy3"></dfn></strong></blockquote>
          <blockquote id="zqfy3"><legend id="zqfy3"></legend></blockquote>
          打開APP
          userphoto
          未登錄

          開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

          開通VIP
          開源,二世而亡?

          【CSDN 編者按】在各大廠紛紛擁抱開源的當(dāng)口,“開源代碼面臨可持續(xù)發(fā)展危機(jī)”的言論也甚囂塵上。早期,技術(shù)愛好者們“用愛發(fā)電”,“他們知道在出問題前,沒人會(huì)注意到他們,沒人會(huì)重視他們”。但遺憾的是,很長一段時(shí)間里,很多從開源中謀取暴利的人,卻“沒有為開源社區(qū)做出過貢獻(xiàn),他們將開源當(dāng)成禮物直接拿走”,留給開源貢獻(xiàn)者無限的陣痛——從開發(fā)者到經(jīng)濟(jì)學(xué)家們不禁發(fā)問,開源,還能走多遠(yuǎn)?

          本文剖析了以開源軟件為基礎(chǔ)開發(fā)的復(fù)雜業(yè)務(wù),討論了建立在免費(fèi)開源開發(fā)者之上的互聯(lián)網(wǎng)能否可持續(xù)發(fā)展的問題。

          作者 | Daniel Oberhaus

          譯者 | 彎月

          責(zé)編 | 仲培藝

          出品 | CSDN(ID:CSDNnews)

          以下為譯文:

          Stephen Henson 審核通過了一個(gè)互聯(lián)網(wǎng)漏洞的時(shí)候,正值 2011 年跨年夜的午夜。

          這位 43 歲的英國軟件開發(fā)人員接受了有關(guān) OpenSSL 代碼的一處很小的改動(dòng),OpenSSL 是一種開源加密協(xié)議,其可以保護(hù)網(wǎng)絡(luò)上的很多內(nèi)容。OpenSSL 是開源的,任何人都可以在線查看其代碼,并自愿貢獻(xiàn)項(xiàng)目代碼,但這并不意味著真的有很多人做出了貢獻(xiàn)。

          Henson 在 OpenSSL 上花了十多年的心血,OpenSSL 有一個(gè)很小的團(tuán)隊(duì),加上其他核心成員也從未超過 3-4 個(gè)開發(fā)人員。到 2011 年底,他與其他核心開發(fā)人員需要負(fù)責(zé)維護(hù)一個(gè)包含大約 50 萬行代碼的代碼庫,其中絕大部分是由 Henson 自己編寫或批準(zhǔn)的,這個(gè)責(zé)擔(dān)子可不輕。 OpenSSL 保護(hù)了大量的 Web 服務(wù)器(互聯(lián)網(wǎng)中三分之二的網(wǎng)站都用到了這些服務(wù)器),以及電子郵件服務(wù)器、聊天服務(wù)器、VPN 以及軍事、政府和金融機(jī)構(gòu)的網(wǎng)絡(luò)基礎(chǔ)設(shè)施。

          12 月的那個(gè)晚上,Henson 批準(zhǔn)的代碼變更是由一位名叫 Robin Seggelmann 的德國開發(fā)人員提交的,他幫忙編寫了 OpenSSL 的“心跳(heartbeat)”標(biāo)準(zhǔn)。在這項(xiàng)代碼變更被批準(zhǔn)之前,Henson 和 Seggelmann 已經(jīng)在這段代碼上工作了數(shù)周時(shí)間,但仍未能發(fā)現(xiàn)這個(gè) bug:允許攻擊者攔截傳遞給由 OpenSSL 保護(hù)的任何站點(diǎn)的信息。

          后來, Seggelmann 承認(rèn)了代碼中的 bug——這就是著名的“心臟出血”(Heartbleed)漏洞,雖然這是一個(gè)“非常微不足道”的小改動(dòng),卻成為了歷史上最危險(xiǎn)的軟件漏洞之一。對(duì)于像 Henson 這樣經(jīng)驗(yàn)豐富的人來說,應(yīng)該很容易發(fā)現(xiàn)并修復(fù)這個(gè) bug——但是每個(gè)人都會(huì)犯錯(cuò)誤。實(shí)際上,在 Google 的一位程序員后來于 2014 年發(fā)現(xiàn)并修復(fù)了這個(gè) bug 之前,它已經(jīng)在 OpenSSL 代碼中存活了將近兩年半的時(shí)間。盡管如此,如今這個(gè)漏洞依然存活于數(shù)十萬臺(tái)設(shè)備上,其中許多設(shè)備不太可能得到修復(fù)。

          OpenSSL 只是成千上萬開源軟件程序中的一個(gè),數(shù)百萬人每天都依賴這些程序來瀏覽網(wǎng)頁或觀看視頻,實(shí)時(shí)翻譯或在智能手機(jī)上使用語音識(shí)別功能等。這些項(xiàng)目都是開源的,這意味著任何人都可以免費(fèi)查看或使用這些代碼。

          自從開源創(chuàng)建以來,開源開發(fā)的最大賣點(diǎn)之一就是軟件開發(fā)人員 Eric Raymond 提出的“林納斯法則(Linus’s Law)”,還有人認(rèn)為那么多的人查看這些代碼,所以“所有的錯(cuò)誤都會(huì)浮出水面”。因此,在心臟出血 bug 被修復(fù)后,每個(gè)人心中最大的疑問是:這么關(guān)鍵的一個(gè)漏洞為何會(huì)被忽視如此之久,而其他開源項(xiàng)目的代碼中是否也存在類似的漏洞。

          注:林納斯法則即“足夠多的眼睛,就可讓所有問題浮現(xiàn)”。

          正如 OpenSSL 基金會(huì)的前任首席執(zhí)行官 Steve Marquess 在博客文章中指出的那樣,心臟出血可以歸因?yàn)殚_發(fā)人員的筋疲力竭以及資金的匱乏。據(jù) Marquess 所言,該基金會(huì)的捐款預(yù)算不到 2 千美元,每年簽署的合同收入不足 100 萬美元,且無法承擔(dān)更多合同,因?yàn)槠溟_發(fā)人員(其中許多人有全職工作和家庭)根本沒有時(shí)間。

          Marquess 還表示,實(shí)際上 Henson 是唯一一個(gè)全職工作的 OpenSSL 開發(fā)人員,而且以他的技術(shù)實(shí)力如果換作其他地方他所得到的報(bào)酬遠(yuǎn)不止如此微薄。 “這些人并不是為了錢而在 OpenSSL 工作,他們也不是為了出名。他們這么做只是出于對(duì)技術(shù)的自豪感以及對(duì)他們所信仰事物的責(zé)任……他們知道在出問題前,沒人會(huì)注意到他們,沒人會(huì)重視他們。

          開源惡疾:把開源當(dāng)成天賜禮物“搶”走的人

          很顯然,全球互聯(lián)網(wǎng)的安全性僅靠一位拿著微薄薪資的程序員嘔心瀝血的無私奉獻(xiàn)來支撐著,這本身就是很大的問題,那么誰應(yīng)該擔(dān)負(fù)起責(zé)任呢?Marquess 認(rèn)為應(yīng)該由“廣泛使用 OpenSSL,并將其視為理所當(dāng)然的商業(yè)公司和政府”站出來。

          Marquess 在文中寫道:“我說的就是你,世界 1000 強(qiáng)公司,那些靠銷售包含了 OpenSSL 產(chǎn)品賺取利潤的人;那些弄不清楚如何使用 OpenSSL 就來纏著我們要免費(fèi)咨詢服務(wù)的人;那些從來沒有為開源社區(qū)做出過貢獻(xiàn),卻把 OpenSSL 當(dāng)成禮物拿走的人。

          Marquess 和 Henson 都于 2017 年離開了 OpenSSL,但在臨走前他們還為這個(gè)項(xiàng)目做好了近期的籌劃。在他們離開后,OpenSSL 的核心開發(fā)團(tuán)隊(duì)已經(jīng)發(fā)展到了 7 人,該項(xiàng)目的資金可以至少撐到 2021 年。這主要得益于 Linux 核心基礎(chǔ)設(shè)施計(jì)劃的大量資助——該計(jì)劃致力于向?qū)ヂ?lián)網(wǎng)安全至關(guān)重要的開源項(xiàng)目分配資源。該核心基礎(chǔ)設(shè)施計(jì)劃本身的資金來自亞馬遜、Google、IBM、微軟、Facebook 和英特爾等主要科技公司的捐款。這筆資助意味著 OpenSSL 是安全的——只要這些公司繼續(xù)捐贈(zèng)。

          從表面上看,如今的開源軟件社區(qū)非常繁榮。各家公司和政府正在以 20 年前難以想象的速度采用開源軟件,而新一代程序員正在開發(fā)軟件,并且可以隨意使用。然而,深入觀察你會(huì)發(fā)現(xiàn)問題已經(jīng)開始顯現(xiàn)。

          開源的優(yōu)勢(shì)地位給流行軟件的維護(hù)者帶來了沉重的負(fù)擔(dān),如今他們需要處理比以往更多的 bug 報(bào)告、功能請(qǐng)求、代碼審查和代碼提交。與此同時(shí),開源開發(fā)人員還必須處理不斷涌入的不熟悉社區(qū)規(guī)范的企業(yè)用戶生產(chǎn)和使用開源軟件。這導(dǎo)致開發(fā)人員疲于應(yīng)付,并對(duì)依賴免費(fèi)勞力來生產(chǎn)軟件的公司產(chǎn)生了不滿情緒,這些公司利用開源軟件打包成產(chǎn)品后賣給消費(fèi)者以獲取巨額利潤。

          從這個(gè)角度來看,心臟出血并不是唯一一個(gè)開發(fā)人員精疲力竭和資金匱乏的例子,而是多年以來在開源軟件社區(qū)內(nèi)逐漸惡化的系統(tǒng)性疾病的產(chǎn)物。確定這種疾病的癥狀和原因很容易,但想找到治療方法卻很難。

          許多開發(fā)人員與 Marquess 一樣認(rèn)為開源發(fā)展的主要問題在于財(cái)務(wù),如果大型科技公司能夠?yàn)樗麄兯蕾嚨拈_源軟件項(xiàng)目貢獻(xiàn)更多資源,那么這些問題就可以得到解決。從理論上講,這可以讓開發(fā)人員在開源項(xiàng)目上投入更多時(shí)間,并激勵(lì)其他程序員為開源項(xiàng)目做貢獻(xiàn)。

          然而,僅靠在開源社區(qū)投入資金還遠(yuǎn)遠(yuǎn)不夠。關(guān)于如何分配增加的資金以及如何回報(bào)提供資金的組織,這本身就是問題。事實(shí)上,資本的涌入有可能破壞社區(qū)驅(qū)動(dòng)的基礎(chǔ),而近半個(gè)世紀(jì)這個(gè)基礎(chǔ)一直支撐著開源的發(fā)展。

          免費(fèi)提供啤酒:開源軟件的經(jīng)濟(jì)基礎(chǔ)

          為了理解當(dāng)前關(guān)于開源軟件經(jīng)濟(jì)學(xué)的爭論,我們有必要回顧一下其歷史發(fā)展的背景。這可以追溯到 80 年代早期麻省理工學(xué)院的人工智能實(shí)驗(yàn)室。

          那是一個(gè) Marvin Minsky 等計(jì)算機(jī)科學(xué)先驅(qū)與 Richard Stallman 和 Guy Steele 等新一代黑客交鋒的時(shí)代,后者憑借自己的實(shí)力從根本上改變了計(jì)算機(jī)編程世界。Steele 在編寫和創(chuàng)建 Lisp 和 Scheme 等編程語言方面起到了重要的作用,而 Stallman 為自由軟件運(yùn)動(dòng)奠定了基礎(chǔ)——這是自 Luddism 以來對(duì)技術(shù)仲裁者的最大挑戰(zhàn)。

          在最近一次接受 New Left Review 的采訪時(shí),Stallman 描述了麻省理工學(xué)院的人工智能實(shí)驗(yàn)室培養(yǎng)了一種合作與激進(jìn)開放的文化,以至于實(shí)驗(yàn)室的巨型計(jì)算機(jī)沒有密碼保護(hù),實(shí)驗(yàn)室的大門始終處于無鎖狀態(tài)??梢钥隙ǖ氖牵琒tallman 承認(rèn)這些開放的文化是環(huán)境的產(chǎn)物:例如 Minsky 總是丟鑰匙,而實(shí)驗(yàn)室里的研究人員不得不共享龐大的計(jì)算機(jī),因?yàn)檫@是唯一的一臺(tái)。盡管如此,該實(shí)驗(yàn)室的精神還是給 Stallman 留下了深刻的印象。

          1983 年,他向 Usenet 小組(這基本上是一個(gè)論壇的原型)發(fā)布了一條消息,他宣布打算創(chuàng)建一個(gè)操作系統(tǒng)并“免費(fèi)送給所有想要使用的人”。Stallman 稱這個(gè)操作系統(tǒng)為 GNU(Gnus Not Unix),這是對(duì)當(dāng)時(shí)主流專有操作系統(tǒng)(即 Unix,貝爾實(shí)驗(yàn)室內(nèi)部使用的操作系統(tǒng))的挑戰(zhàn),而它的名字也蘊(yùn)含了這一點(diǎn)。

          GNU 開啟了自由軟件運(yùn)動(dòng)。1985 年,Stallman 在 GNU 宣言中總結(jié)了這一原則:“我認(rèn)為黃金法則的要求是:如果我喜歡一個(gè)程序,那么我必須與喜歡它的其他人分享。軟件銷售商希望分裂用戶并征服他們,讓每個(gè)用戶都答應(yīng)不與他人分享。我拒絕這種破壞用戶團(tuán)結(jié)的方式?!?/p>

          Stallman 在討論自由軟件時(shí)使用“自由”這個(gè)詞的方式并不是很明顯。正如他喜歡的表達(dá)方式,自由軟件的“自由”意味著“自由言論,而并不是免費(fèi)的啤酒”。換句話說,自由軟件的定義是道德要求,即將代碼從對(duì)使用方式的限制中解放出來,但這并不一定意味著必然不收分文免費(fèi)贈(zèng)送軟件。自由軟件運(yùn)動(dòng)的基本原則于 1989 年正式編纂完成,而當(dāng)時(shí) Stallman 發(fā)布了 GNU 通用公共許可證(General Public License,簡稱 GPL)——即現(xiàn)在更廣為人知的公共版權(quán),它為自由軟件開發(fā)的爆炸式增長奠定了基礎(chǔ)。

          Richard Stallman(右)正在展示“自由言論”與“免費(fèi)的啤酒”之間的區(qū)別。圖片來源:Wikimedia Commons

          兩年后,脾氣暴躁的芬蘭學(xué)生 Linus Torvalds 使用 GPL 發(fā)布了他的免費(fèi)操作系統(tǒng)內(nèi)核 Linux。其內(nèi)核經(jīng)常與 GNU 軟件一起使用,自發(fā)布以來的三十年,GNU/Linux 已經(jīng)成為世界上 Web 服務(wù)器和個(gè)人計(jì)算使用最廣泛的操作系統(tǒng)之一。繼 Linux 之后,許多其他有名的免費(fèi)軟件程序都在 GPL 或符合 GPL 標(biāo)準(zhǔn)的許可下發(fā)布,其中包括 Apache Web 服務(wù)器軟件和 MySQL 數(shù)據(jù)庫引擎,兩者目前仍在廣泛使用。

          在狂熱的互聯(lián)網(wǎng)泡沫中,當(dāng)名不經(jīng)傳的科技公司都獲得了令人憎惡的估值時(shí),Stallman 由道德驅(qū)動(dòng)的自由軟件運(yùn)動(dòng)提供了一種截然不同的視角來看待未來。與硅谷的風(fēng)險(xiǎn)資本家在辦公室里大量炮制的空中數(shù)字城堡不同,自由軟件發(fā)揮了作用。Stallman 和他的助手證明了,通過結(jié)合道德信念和技術(shù),可以構(gòu)建出優(yōu)秀的軟件,這些軟件能夠通過修改來滿足用戶的個(gè)性化需求。90 年代間曾有一個(gè)短暫的時(shí)期,軟件的未來似乎就在于自由——真正的自由。

          后來,在 1997 年,一位名叫 Eric Raymond 的程序員發(fā)表了《大教堂和市集》(The Cathedral and the Bazaar),這篇文章分析了開發(fā)自由軟件的過程。Raymond 富有創(chuàng)意的文字和核心是他所謂的“林納斯法則”(Linus’s Law),主要思想是說如果足夠多的人共同開發(fā)一個(gè)軟件程序,那么任何隱藏在代碼中的 bug 就會(huì)被迅速捕獲和修復(fù)。從本質(zhì)上講,Raymond 為自由軟件開發(fā)的效率打好了基礎(chǔ)。由于軟件是公開開發(fā)的,所以任何人都可以看到自由軟件程序的底層,這意味著任何代碼中潛在的 bug 都會(huì)被迅速發(fā)現(xiàn)。林納斯法則的必然結(jié)果是:自由軟件可以更快地發(fā)展,因?yàn)槿魏稳硕伎梢葬槍?duì)軟件提出自己的改進(jìn),并發(fā)送給項(xiàng)目的核心開發(fā)人員。

          Raymond 的分析對(duì)自由軟件運(yùn)動(dòng)的影響非常大。在他的文章發(fā)布之后,網(wǎng)絡(luò)瀏覽器 Netscape(它曾是世界上最有價(jià)值的一個(gè)軟件)公開了它的源代碼,并引用 Raymond 的文章作為該決定的“基本靈感”。很明顯,Raymond 的宣言引起了一些硅谷人的注意,他們意識(shí)到了自由軟件的商業(yè)潛力。

          但還有一個(gè)問題:自由軟件運(yùn)動(dòng)背負(fù)著重要的道德問題,而道德對(duì)企業(yè)很不利。因此,1998 年在 Raymond 和嶄露頭角的媒體巨頭以及“大騙子” Tim O’Reilly 的領(lǐng)導(dǎo)下,一群高調(diào)的自由軟件傳播者聚集在一起,探討如何讓自由軟件對(duì)行業(yè)更具吸引力。正如 Raymond 后來描述的那樣,會(huì)上的開發(fā)者們針對(duì)“重新塑造產(chǎn)品品牌,將其樹立成企業(yè)界渴望購買的產(chǎn)品”為目標(biāo),開展了一場“營銷活動(dòng)”。

          Raymond 在一篇名為《開源:開源革命的聲音》的文章(https://www.oreilly.com/openbook/opensources/book/raymond2.html)中寫道:“回想起來,很明顯多年以來‘自由軟件’一詞對(duì)我們的運(yùn)動(dòng)造成了巨大的破壞”,“這與對(duì)知識(shí)產(chǎn)權(quán)的敵意和共產(chǎn)主義有著很強(qiáng)的聯(lián)系?!彼€指出,“Netscape 之后,[開源]的成功來自我們用積極的形象——更高的可靠性和更低的成本,以及更好的功能——取代了自由軟件基金會(huì)的負(fù)面刻板印象——根據(jù)實(shí)踐做事,取悅管理者和投資者?!?/p>

          該小組的這個(gè)刻板印象被封裝到了“開源”一詞中,他們集中精力通過讓軟件源代碼“開放”,來回避自由軟件的道德維度。

          回顧過去,這場營銷活動(dòng)取得了巨大的成功。現(xiàn)在開源軟件成為了我們大多數(shù)人每天使用的技術(shù)平臺(tái)和服務(wù)的核心,包括微軟,其前首席執(zhí)行官史蒂夫·鮑爾默曾將 Linux 和其他開源項(xiàng)目稱為“毒瘤”。而如今,微軟也將自己定位成開源開發(fā)的擁護(hù)者,Google、Facebook、亞馬遜、IBM 甚至美國政府皆是如此。另外說一句,通常自由軟件是指自由開源軟件(Free and Open Source Software,簡稱 FOSS)。

          開源經(jīng)濟(jì)學(xué)

          盡管很快很多硅谷的大科技公司都接受了開源軟件,但經(jīng)濟(jì)學(xué)家們?nèi)栽谂忉屵@些項(xiàng)目適應(yīng)了市場的慣例并取得了成功的原因。當(dāng)時(shí),自由軟件人群兜售的標(biāo)準(zhǔn)解釋是:自由軟件的開發(fā)可以在自由和利他主義的道德要求的基礎(chǔ)上持續(xù)發(fā)展。這似乎不足以解釋 Linux 等項(xiàng)目的迅速出現(xiàn)和廣泛采用。到目前為止,歷史上沒有任何一個(gè)其他行業(yè)能夠僅靠貢獻(xiàn)者的“善良”就催生出這種技術(shù)要求十分嚴(yán)格的項(xiàng)目。

          這種顯著的異?,F(xiàn)象引發(fā)了 21 世紀(jì)初的一系列研究,人們?cè)O(shè)法解釋開發(fā)人員如何通過他們對(duì)自由開源軟件生態(tài)系統(tǒng)所做的貢獻(xiàn)而“獲利”。簡而言之,這些經(jīng)濟(jì)學(xué)家試圖解釋開源開發(fā),讓這些程序員的行為符合經(jīng)濟(jì)學(xué)家的理性生產(chǎn)者/消費(fèi)者的概念:即所謂的“理性經(jīng)濟(jì)人”。

          2000 年,哈佛大學(xué)經(jīng)濟(jì)學(xué)家 Josh Lerner 和麻省理工學(xué)院的 Jean Tirole 發(fā)表了開源開發(fā)的經(jīng)濟(jì)學(xué)解釋。Lerner 和 Tirole 的這篇論文標(biāo)題為《開源的簡單經(jīng)濟(jì)學(xué)》(https://www.nber.org/papers/w7600),找出了開源開發(fā)人員所獲得的多項(xiàng)短期和長期的利益,開源開發(fā)中利他主義的作用被大大降低成了意外的副產(chǎn)品。簡而言之,Lerner 和 Tirole 聲稱開源開發(fā)的主要推動(dòng)因素是開發(fā)人員獲得的經(jīng)濟(jì)利益,而不是給予世界自由軟件的一些根深蒂固的愿景。

          Tirole 和 Lerner 認(rèn)為,就短期利益而言,開源程序員可以通過在開發(fā)該軟件的公司工作而直接獲得工作的報(bào)酬,他們也可以通過修復(fù) bug 或添加功能讓軟件進(jìn)一步體現(xiàn)自己的價(jià)值。至于長期利益,開源程序員可以通過開源開發(fā)來向未來的雇主或風(fēng)險(xiǎn)資本家展現(xiàn)他們的才能,從而推動(dòng)他們的職業(yè)生涯發(fā)展,同時(shí)還提供了一種信號(hào)機(jī)制,即開發(fā)人員可以從開源的同行那里獲得技術(shù)支持的認(rèn)可。

          在該論文發(fā)表后,其二者對(duì)開源開發(fā)經(jīng)濟(jì)激勵(lì)的解釋成為了新的“福音”。至今,開源經(jīng)濟(jì)學(xué)還在大量引用該論文。

          大約在 2000年,Lerner 和 Tirole 所認(rèn)定的開源社區(qū)是一個(gè)人人都是贏家的系統(tǒng),但在這之前的 20 年中,自由開源軟件生態(tài)系統(tǒng)在采用的規(guī)模和生產(chǎn)方式方面都發(fā)生了巨大的變化。這些變化很大程度上應(yīng)該歸功于 Git 的創(chuàng)立,Git 是 2005 年問世的一個(gè)開源工具,為軟件開發(fā)提供了分布式協(xié)作。圍繞 Git 構(gòu)建的服務(wù),尤其是 GitHub,大大加快了開源開發(fā)的步伐,并大大降低了新的開發(fā)人員進(jìn)入市場的障礙。這是 Lerner 和 Tirole 所預(yù)見的一個(gè)問題,他們?cè)?GitHub 出現(xiàn)大約 10 年之前就曾質(zhì)疑“開源項(xiàng)目的管理是否能夠容納越來越多的貢獻(xiàn)者”。

          通常開源貢獻(xiàn)者數(shù)量的迅速增加被認(rèn)為是對(duì)其開發(fā)范式的驗(yàn)證。然而,在過去十年中,越來越多自由開源軟件的開發(fā)人員開始談?wù)摼S護(hù)開源庫時(shí)的不堪重負(fù)。許多開發(fā)人員指出,用戶權(quán)利是這種不堪重負(fù)的主要來源。正如開發(fā)人員 William Gross 所描述的那樣,依賴開源軟件的公司不斷增加,這意味著開源開發(fā)人員需要處理越來越多大量的功能請(qǐng)求和代碼的問題,而且許多公司都認(rèn)為他們的改進(jìn)和問題應(yīng)該得到優(yōu)先考慮。換句話說,似乎開源社區(qū)中的許多熱門項(xiàng)目都必將成為成功的受害者。

          Lerner 和 Tirole 認(rèn)為,許多自由開源軟件的開發(fā)人員開始懷疑僅靠個(gè)人志愿者的善意而展開的軟件開發(fā)模式是否可以大規(guī)模地持續(xù)發(fā)展。只不過我們很難確定這個(gè)問題。有些開發(fā)人員將其視為一種文化問題,他們認(rèn)為可以通過一些措施來加以解決:向新手傳授成為優(yōu)秀用戶的守則,并且要讓維護(hù)人員知道拒絕貢獻(xiàn)也無可厚非;還有人則認(rèn)為,從根本上說,這是一個(gè)可以通過更多資金解決的經(jīng)濟(jì)問題;還有人則否認(rèn)存在任何系統(tǒng)性的問題。

          開源的悲劇

          2015 年,Nadia Eghbal 辭掉了她作為風(fēng)險(xiǎn)投資家的工作,并著手開始研究為什么許多開源項(xiàng)目很難通過他們的成果賺錢。Eghbal 告訴我們,在她反復(fù)聽到自由開源項(xiàng)目的廣泛使用后,開始對(duì)開源軟件的經(jīng)濟(jì)學(xué)產(chǎn)生了興趣,但卻無法弄清楚如何為其開發(fā)提供資金。對(duì)于 Eghbal 來說,這里面似乎存在著矛盾。許多流行的開源項(xiàng)目都具有創(chuàng)業(yè)成功的所有特點(diǎn):快速采用、龐大的用戶群以及低成本的開發(fā)。然而,大多數(shù)這些項(xiàng)目都會(huì)成為風(fēng)險(xiǎn)資本的詛咒,投資者只關(guān)心軟件是否會(huì)帶來巨大的回報(bào)。那么,問題就在于我們需要確立一些可以持續(xù)為開源提供資金的機(jī)制。

          為了找到解決方案,Eghbal 去采訪了問題的源頭:開源項(xiàng)目的維護(hù)者。在對(duì)數(shù)百名開源開發(fā)人員進(jìn)行了長達(dá)一年的采訪之后,Eghbal 發(fā)布了文章《道路與橋梁》(https://www.fordfoundation.org/about/library/reports-and-studies/roads-and-bridges-the-unseen-labor-behind-our-digital-infrastructure),這可以說是有史以來開源軟件開發(fā)經(jīng)濟(jì)學(xué)方面最廣泛的研究。

          Eghbal 的報(bào)告將開源軟件視為一種非排他性的公共產(chǎn)品。這是社會(huì)科學(xué)中的一個(gè)技術(shù)術(shù)語,意思是任何人都可以使用的資源,例如無論他們是否支付過道路和橋梁費(fèi)。非排他性的公共產(chǎn)品是健康社區(qū)的基石,但它們也受到經(jīng)濟(jì)學(xué)家所謂的“搭便車問題”和“公地悲劇”的影響。

          搭便車問題比喻的是一種情況:因?yàn)闆]有辦法阻止那些沒有付款卻使用商品的人,從而導(dǎo)致商品過度消費(fèi)或生產(chǎn)不足。根據(jù)定義,開源是一種非排他性的商品。例如,像 Google 這樣的公司可能會(huì)花費(fèi)大量資源來開發(fā)開源工具(例如機(jī)器學(xué)習(xí)平臺(tái) TensorFlow 等),但由于這些工具是開源的,所以 Google 也無法阻止其他公司的使用。如果出現(xiàn)太多使用 TensorFlow 卻不對(duì)其維護(hù)做出同等貢獻(xiàn)的公司,那么就可能會(huì)導(dǎo)致該軟件生產(chǎn)力不足,因?yàn)榫S護(hù)人員無力承擔(dān)過量的用戶提交的功能請(qǐng)求或 bug 報(bào)告。

          搭便車的問題與公地悲劇息息相關(guān),公地悲劇描述的情況是:社區(qū)所有的成員都受益于對(duì)公共物品的無管制訪問,但是沒有人有動(dòng)力承擔(dān)維持該商品的成本。如果社區(qū)的每個(gè)成員都根據(jù)自己的利益使用公共物品,那么最終該物品會(huì)被耗盡,社區(qū)中的人都將無法再使用。對(duì)于自由開源軟件來說,公共物品就是數(shù)十億行的開源代碼。雖然代碼本身不能像食物或土地等其他經(jīng)濟(jì)商品一樣被耗盡,但其耗盡的資源是負(fù)責(zé)開發(fā)和維護(hù)代碼的程序員的注意力和精力。

          公地的悲劇是經(jīng)濟(jì)學(xué)中一個(gè)經(jīng)過充分研究的問題,但 Eghbal 意識(shí)到這個(gè)問題常見的解決方案(即將公地變成私有或受監(jiān)管的商品)在開源軟件開發(fā)方面并不適用。將軟件變成私有產(chǎn)品會(huì)破壞開源開發(fā)的整個(gè)過程:高效開發(fā)的高質(zhì)量軟件,任何人都可以根據(jù)需要使用。

          另一方面,規(guī)范化開源軟件的生產(chǎn)(例如,建立類似于國家科學(xué)基金會(huì)的組織,將公共資助的資產(chǎn)分配給開源軟件項(xiàng)目)會(huì)破壞開源軟件開發(fā)的主要優(yōu)勢(shì)。監(jiān)管所帶來的穩(wěn)定性是以效率為代價(jià)的,而在快節(jié)奏的軟件開發(fā)領(lǐng)域,這根本就行不通。此外,監(jiān)管也會(huì)破壞開源開發(fā)的精神,因?yàn)檫@可能導(dǎo)致設(shè)立門檻以決定哪些人可以貢獻(xiàn)代碼,而哪些人可以消費(fèi)資源。

          有些開源維護(hù)者試圖按照過去使用他們的軟件的方法來規(guī)范化開源軟件,例如禁止與移民和海關(guān)執(zhí)法部門合作的公司使用該軟件。但這遭到了開源社區(qū)的強(qiáng)烈反對(duì),最終被撤銷,這證明了人們深信開源軟件應(yīng)該向所有人免費(fèi)提供。另一方面,有關(guān)開源社區(qū)的訪問規(guī)則已經(jīng)浮出水面,這可能會(huì)成為開發(fā)人員不堪重負(fù)問題的解決方案。正如開發(fā)人員 William Gross 在文章中指出的那樣,在這種“開源,封閉社區(qū)”的模式中,如果有人想訪問開發(fā)人員工作的社區(qū),則實(shí)質(zhì)上需要支付費(fèi)用。

          “我們向用戶傳達(dá)的信息應(yīng)該是:‘你可以隨心所欲地利用代碼做任何事情,但是如果你想影響項(xiàng)目的未來,那么請(qǐng)為我們的工作支付報(bào)酬’”,“這會(huì)導(dǎo)致出現(xiàn)一個(gè)更小規(guī)模的社區(qū)以及更多的分支嗎?肯定會(huì)。但是,如果你堅(jiān)持不懈地建立自己的愿景,并為其他人創(chuàng)造價(jià)值,那么如果他們想有所貢獻(xiàn)就會(huì)付錢?!?/p>

          對(duì)于那些不愿意守護(hù)開發(fā)社區(qū)的維護(hù)者而言,另一個(gè)最合乎邏輯的解決方案似乎是要求開源軟件用戶通過聘請(qǐng)?jiān)擁?xiàng)目的開發(fā)人員來支持開發(fā)。這種方法通過計(jì)算來確立開源的資金,即找出誰是開源項(xiàng)目的受益者,并確保他們盡可能多地回饋生態(tài)系統(tǒng)。雖然我們沒有中央數(shù)據(jù)庫能夠跟蹤世界上所有的開源貢獻(xiàn)者,但有一樣?xùn)|西已經(jīng)非常接近了——那就是 GitHub。

          GitHub 于 2008 年問世,雖然它不是唯一一個(gè)程序員用來存儲(chǔ)、審查和討論開源軟件的地方,但它相當(dāng)于自由開源軟件社區(qū)的市政廳。如今,這個(gè)在線軟件倉庫擁有來自世界各地大約 2500 萬名貢獻(xiàn)者所創(chuàng)建的超過 1 億個(gè)代碼倉庫。促使這 2500 萬人為開源開發(fā)做出貢獻(xiàn)的動(dòng)機(jī)有多個(gè)方面,但根據(jù)開源 Web 開發(fā)框架 Ruby on Rails 的創(chuàng)建者 David Hansson 的說法,在過去的二十年里,開源貢獻(xiàn)者的情況發(fā)生了根本性的轉(zhuǎn)變。

          “絕大多數(shù)開源軟件(尤其是與網(wǎng)絡(luò)相關(guān)的軟件)的資助都是由公司出面贊助開發(fā)人員處理那些對(duì)他們很重要的問題”,“這是一種與 Richard Stallman 的自由軟件不同的方式,Richard Stallman 的自由軟件只談?wù)摰搅巳藗冏孕芯帉戃浖?,而這個(gè)非常出色的模型可以為我們提供一系列開源軟件。”

          圖片來源:Cathryn Virginia/Motherboard

          這并不是說在閑暇時(shí)間推送代碼的開源程序員在自由開源軟件社區(qū)不是特別受歡迎。Hansson 特別贊揚(yáng)了這些“熱情的愛好者”,他們是自由開源軟件生態(tài)系統(tǒng)的基石。仔細(xì)閱讀 2017 年 GitHub 上的主要貢獻(xiàn)者名單就會(huì)發(fā)現(xiàn),Hansson 說得沒錯(cuò)——Google、微軟、亞馬遜、IBM、Facebook、騰訊、百度、紅帽和英特爾的員工都是最活躍的開源貢獻(xiàn)者。所有這些公司都是營利性的,每年從基于開源代碼的產(chǎn)品中可以獲得數(shù)百億美元的收入。我聯(lián)系了其中幾家公司,請(qǐng)求他們回應(yīng)開發(fā)人員說他們沒有回饋開源社區(qū)的指控。那些回應(yīng)了我的請(qǐng)求的公司快速地捍衛(wèi)了他們對(duì)開源開發(fā)做出的實(shí)質(zhì)性貢獻(xiàn)。

          IBM 開放技術(shù)副總裁 Todd Moore 指出,自 90 年代中期以來,該公司一直在為開源項(xiàng)目做貢獻(xiàn),包括他們?cè)?Linux 和 Apache 尋求立足之地時(shí)給予的資助。據(jù) Moore 所說,1200 多名 IBM 的員工在工作和閑暇時(shí)間為 1000 個(gè)開源項(xiàng)目做出了貢獻(xiàn)。Moore 表示“很多”IBM 員工在全職為Linux、Kubernetes、Java 和 Node.js 等開源項(xiàng)目工作,而且該公司每年都會(huì)向各個(gè)開源社區(qū)的頂級(jí) IBM 開發(fā)人員提供獎(jiǎng)勵(lì)。(Moore 拒絕提供有關(guān)獎(jiǎng)勵(lì)性質(zhì)或他們對(duì)開發(fā)者社區(qū)影響的更多信息。)

          他強(qiáng)調(diào),“在過去的 10 年里,我們通過資助每一個(gè)主要的開源基礎(chǔ)幫助建立了如今的開源革命”,“IBM 鼓勵(lì)員工為開源效力?!?/p>

          IBM 還舉行了一個(gè)年度認(rèn)證計(jì)劃,“幫助 IBM 員工了解與開源有關(guān)的價(jià)值和風(fēng)險(xiǎn),并提醒他們內(nèi)部治理的流程?!痹摻逃杏憰?huì)還包括“成為某個(gè)項(xiàng)目或社區(qū)積極成員的最佳實(shí)踐指南”。據(jù) Moore 所述,有 72000 多名 IBM 員工已獲得了該計(jì)劃的認(rèn)證。

          Google 開源主管 Chris DiBona 也提供了類似的信息:

          “自公司成立以來,自由和開源軟件一直是 Google 技術(shù)和組織基礎(chǔ)的一部分?!?,“拉里·佩奇和謝爾蓋·布林為 Linux 和商用硬件做了很多貢獻(xiàn),而且多年以來 Google 員工也在開源許可下發(fā)布了數(shù)百萬行的代碼。”

          雖然 DiBona 拒絕提供在開源項(xiàng)目上全職工作的 Google 員工的確切數(shù)目,但他表示該公司在 GitHub 上擁有 2000 多個(gè)活躍的開源項(xiàng)目。特別是由 Google 創(chuàng)建并得到廣泛使用的開源項(xiàng)目,而且每天都有員工為其效力的例子,DiBona 重點(diǎn)強(qiáng)調(diào)了編程語言 Go 和容器軟件 Kubernetes。

          “你幾乎找不到一位沒有為開源項(xiàng)目做出過貢獻(xiàn)的 Google 技術(shù)員工?!?/p>

          “Google 鼓勵(lì)員工開展與他們的工作、興趣或愛好相關(guān)的開源項(xiàng)目?!盌iBona 還指出,據(jù) 2018 年的數(shù)據(jù)顯示,Google 員工占 GitHub 所有活動(dòng)的 1% 以上,這就是該公司及其員工致力于開源開發(fā)的證據(jù)。

          Google 和 IBM 等公司通過要求或鼓勵(lì)員工開發(fā)開源代碼,直接為開源社區(qū)做出了貢獻(xiàn)。許多公司還向 Linux 基金會(huì)、Apache 基金會(huì)或 Mozilla 基金會(huì)等非營利組織提供了捐款,現(xiàn)如今這些組織擁有數(shù)百萬美元的捐贈(zèng)基金。

          然而,個(gè)別開發(fā)人員提出的問題不在于這些科技巨頭是否為開源做出過貢獻(xiàn);而是這些公司做得貢獻(xiàn)是否足夠,以及這些貢獻(xiàn)是否用到了正確的項(xiàng)目上?

          開源 Web 開發(fā)框架 Django 的聯(lián)合創(chuàng)始人 Jacob Kaplan-Moss 認(rèn)為,這些價(jià)值數(shù)十億美元的公司需要為開源社區(qū)做出更多貢獻(xiàn)。 Kaplan-Moss 特別指出了 GitHub(最近微軟以 75 億美元的價(jià)格收購了 GitHub),并建議如果 GitHub 真關(guān)心開源,就應(yīng)該把這筆交易的一半收益交給該軟件的維護(hù)者和貢獻(xiàn)者。

          “開源軟件不堪重負(fù)的根本原因是資金,”Kaplan-Moss 在推文中說,“解決這個(gè)問題的唯一方法就是金錢。那些依靠開源軟件賺取數(shù)十億美元的科技公司幾乎沒有給予任何回報(bào)。他們現(xiàn)在就可以解決這個(gè)問題,而且?guī)缀醪粫?huì)影響他們的利益。如果這些公司真的關(guān)心開源軟件,而不是為了彰顯他們的美德,那么他們就應(yīng)該把這些巨款變成對(duì)開源維護(hù)者和基金會(huì)的支持?!?/p>

          Hansson 雖然不反對(duì)為開源項(xiàng)目提供更多的資金,但當(dāng)涉及“開源與資金掛鉤的風(fēng)險(xiǎn)”時(shí),他采取了更為謹(jǐn)慎的立場:

          “如果你有一個(gè)擁有幾百個(gè)貢獻(xiàn)者的項(xiàng)目,而且你開始為一些工作設(shè)定特定的金錢獎(jiǎng)勵(lì),那么我覺得很快你就會(huì)進(jìn)入非常危險(xiǎn)的境地”,“對(duì)于那些只是為了社區(qū)、個(gè)人愛好、或創(chuàng)造力而為開源工作的人來說,他們并沒有從經(jīng)濟(jì)學(xué)的角度來審視自己的工作,一旦出現(xiàn)金錢獎(jiǎng)勵(lì),那么他們也要突然被迫從市場的角度考慮他們的時(shí)間投入了。我認(rèn)為在很多情況下,這種做法都會(huì)造成很大的損害?!?/p>

          有關(guān)這方面的損害,Hansson 以自己在 Ruby on Rails 做貢獻(xiàn)時(shí)的故事為例子進(jìn)行了說明——當(dāng)他剛開始為 Rails 工作時(shí),他被功能請(qǐng)求和 bug 報(bào)告等壓得喘不過氣來,而且大量的電子郵件都希望他能夠解決所有的問題,就好像他是軟件供應(yīng)商一樣。然而,由于完全不涉及市場價(jià)值,所以 Hansson 當(dāng)時(shí)的心態(tài)是“去你媽的”,他說經(jīng)證實(shí)這種心態(tài)是抵抗自由開源軟件社區(qū)猖獗地壓榨開發(fā)人員的“頭號(hào)防御機(jī)制”。如果他因?yàn)槟昧隋X而工作,那么他就有義務(wù)滿足客戶的要求。然而,也正因?yàn)樗栽笧樯鐓^(qū)項(xiàng)目做出的貢獻(xiàn),所以也沒有人會(huì)對(duì)他表示感激。

          Hansson 表示,“我免費(fèi)提供了軟件,所以如果你想幫忙把這個(gè)軟件做得更好,那肯定非常好啊,我們可以一起加油”,“但如果你想站在一旁,叉著腰對(duì)我大吼大叫說這個(gè)軟件很差勁,那么我會(huì)跟你說去你媽的,我又不是為你工作?!?/p>

          開源社區(qū)中肯定不會(huì)有人覺得為自由開源軟件提供更多資金是一個(gè)徹頭徹尾的壞主意。即使是 Hansson 這樣常常批評(píng)將金錢與開源混為一談的人也提倡在某些情況下應(yīng)該注入更多資金。總體來說,開源社區(qū)面臨的難題不在于擁有更多的資金是不是一個(gè)好主意,而是這些資金應(yīng)該如何分配。

          自由軟件并非免費(fèi)

          Hansson 認(rèn)為企業(yè)贊助是支持開源項(xiàng)目最有希望的方式。這其中有很多種形式。有些公司向?yàn)橹С痔囟ㄩ_源項(xiàng)目而創(chuàng)建的非營利基金會(huì)捐款。例如,IBM、英特爾、Google、微軟都是 Linux 基金會(huì)的“白金捐助者”,他們聘請(qǐng)了全職開發(fā)人員為 Linux 內(nèi)核工作。各個(gè)公司支持開源項(xiàng)目的另一種方式是聘請(qǐng)開發(fā)人員在公司全心全意為開源工作,或允許員工將部分工作時(shí)間用于編寫開源項(xiàng)目。

          然而,將支持開源項(xiàng)目的重任交給各大科技公司并非沒有風(fēng)險(xiǎn)。從本質(zhì)上講,開源開發(fā)是分散的。然而,如果由一家公司負(fù)責(zé)支持某個(gè)項(xiàng)目大部分的核心開發(fā)工作,那么這種集中化將成為極大的風(fēng)險(xiǎn),因?yàn)檫@家公司可以隨時(shí)決定停止為該項(xiàng)目提供資金。

          此外,向開源項(xiàng)目投入人力的公司顯然會(huì)優(yōu)先考慮按照對(duì)公司本身最有利的方式開發(fā)該項(xiàng)目。雖然這本身并不一定是壞事(例如對(duì) Google 有利的事情可能對(duì)許多其他使用該軟件的公司也有好處 ),但也可能會(huì)犧牲軟件使用方式的多樣性。

          有關(guān)這方面的一個(gè)例子就是 Android 操作系統(tǒng)的開發(fā),該系統(tǒng)在全球智能手機(jī)中占 86% 的份額。Android 是開源的,但幾乎所有關(guān)于操作系統(tǒng)的開發(fā)工作都是在 Google 內(nèi)部完成的。與此同時(shí),Google 還出資讓工程師開發(fā)一些專有的應(yīng)用程序,通常這些應(yīng)用(例如 Google 地圖和 Gmail)被視為 Android 操作系統(tǒng)最大的賣點(diǎn)。

          因此,雖然任何人都可以利用開源代碼自由創(chuàng)建自己的 Android 操作系統(tǒng),但 Google 有一項(xiàng)政策,禁止在任何非官方的 Android 操作系統(tǒng)上使用其應(yīng)用程序。這項(xiàng)政策是合理的,因?yàn)檫@項(xiàng)政策有益于應(yīng)用開發(fā)人員——他們的應(yīng)用程序無需適應(yīng)幾十個(gè)略微不同的 Android 版本,但最顯著的后果是開源 Android 操作系統(tǒng)已經(jīng)與專有的 Google 產(chǎn)品融為了一體。別的公司也可以在手機(jī)上免費(fèi)使用自定義版本的 Android 產(chǎn)品,但這會(huì)讓他們承擔(dān)很大的風(fēng)險(xiǎn)。2014 年亞馬遜的 Fire 手機(jī)非常不明智地嘗試使用自定義的 Android 產(chǎn)品,結(jié)果以 1.7 億美元的損失慘淡收?qǐng)?。雖然缺乏 Google 的應(yīng)用并不是這款手機(jī)失敗的唯一原因,但也是導(dǎo)致其失勢(shì)的主要原因。

          然而,對(duì)于很多開源項(xiàng)目來說,即使想要接受企業(yè)的資助,也缺乏這方面的組織結(jié)構(gòu),軟件自由保護(hù)協(xié)會(huì)(Software Freedom Conservancy,簡稱SFC)的通信主管 Deb Nicholson 表示,他們是一個(gè)為開源項(xiàng)目提供基礎(chǔ)設(shè)施支持的非盈利組織。事實(shí)上,Nicholson 表示,自該組織成立十年以來,他們的主要工作就是作為一種聯(lián)盟的組織,代表其成員的 50 個(gè)開源項(xiàng)目接受資金。這些項(xiàng)目包括只有寥寥幾個(gè)貢獻(xiàn)者的小型運(yùn)營,也包括 PHP 和 Git 等從根本上改變了我們使用互聯(lián)網(wǎng)方式的大型項(xiàng)目。

          在眾多為開源項(xiàng)目提供機(jī)構(gòu)支持的非盈利機(jī)構(gòu)中,軟件自由保護(hù)協(xié)會(huì)只是其中之一。其他組織(例如公共利益軟件和自由軟件基金會(huì))提供了各種其他服務(wù),例如法律建議,或?yàn)殚_源項(xiàng)目成功運(yùn)行提供所需的物理基礎(chǔ)設(shè)施(服務(wù)器、辦公空間等)。這些項(xiàng)目中的程序員都知道如何編寫好的代碼,但他們往往沒有時(shí)間或資源來處理建立法人以及為項(xiàng)目建立管制組織的瑣事。這些非營利組織的作用就在于幫助這些項(xiàng)目解決這方面的難題,保證自由開源軟件項(xiàng)目能夠獲得所需的支持,而程序員則可以專注于他們最擅長的事情:編寫軟件。

          從歷史上看,支持自由開源軟件的重任已經(jīng)落到了這些非營利組織的肩上,然而一家名為 Tidelift 的新公司致力于通過市場的解決方案為開源社區(qū)解決資金的問題。這家由四名紅帽公司前員工創(chuàng)立的公司通過銷售 Linux 支持服務(wù),最近成了科技史上排名第三的大筆收購的主角——IBM 以 340 億美元收購了該公司,而 Tidelift 則希望通過開源軟件的安全支持增加流向開源項(xiàng)目的資金。

          Tidelift 的首席執(zhí)行官 Donald Fischer 指出,采用開源項(xiàng)目的最大障礙(特別是在銀行等受到嚴(yán)格監(jiān)管的行業(yè)中)在于缺乏軟件能夠按照預(yù)期運(yùn)行的保證。與專有軟件不同,開源項(xiàng)目通常沒有客戶支持熱線。如果有一家公司使用了開源代碼,然后維護(hù)人員卻停止了工作,或者沒能及時(shí)解決 bug,那么這家公司也無可奈何。

          正如 Hansson 指出的那樣,從維護(hù)者的角度來看,這種選擇性地與用戶互動(dòng)的能力在沒有獲利的開源項(xiàng)目中只是癡心妄想。Fischer 同意這一觀點(diǎn),他認(rèn)為如果程序員不想因?yàn)楂@取了報(bào)酬,就將他們的開發(fā)時(shí)間花在為用戶提供客戶支持上,那也無可厚非;但是對(duì)于那些想為自己的勞動(dòng)而獲得報(bào)酬的人來說,我們也應(yīng)該為他們提供機(jī)會(huì)——加入 Tidelift。

          Tidelift 有點(diǎn)像 Red Hat 為 Linux 所做的努力,但對(duì)于所有其他自由開源軟件項(xiàng)目來說:如果企業(yè)想獲得與他們使用的開源項(xiàng)目相關(guān)的支持服務(wù),那么他們就需要支付費(fèi)用。正如 Fischer 向我描述的那樣,類似于 AirBnb 帶來了酒店業(yè),Uber 帶來了運(yùn)輸業(yè),Tidelift 也想將相同的邏輯用在自由開源軟件社區(qū)。

          Tidelift 通過自己開發(fā)的程序跟蹤了數(shù)百個(gè)開源庫中的變動(dòng),并以此跟蹤了代碼的變更會(huì)對(duì)那些使用了這些服務(wù)的公司造成怎樣的影響。如果其中一個(gè)庫中的代碼出現(xiàn)了安全性、許可或維護(hù)的問題,那么 Tidelift 登記在冊(cè)的開發(fā)人員就會(huì)處理與該變更相關(guān)的任何問題。在這種模式下,各個(gè)公司需要向 Tidelift 支付固定的費(fèi)用,Tidelift 抽取分成后會(huì)將剩下的分配給開發(fā)人員,而開發(fā)人員根據(jù)使用他們維護(hù)的代碼的公司數(shù)量來獲取相應(yīng)的報(bào)酬。

          Tidelift 的模型類似于開源中最古老的一個(gè)集資機(jī)制:Bug 賞金。這基本上相當(dāng)于一種協(xié)議,即向發(fā)現(xiàn)和/或修復(fù)某些開源代碼中已知 bug 的開發(fā)人員支付報(bào)酬。市場上涌現(xiàn)的很多服務(wù)都是為了滿足這一需求,其中包括在區(qū)塊鏈中支付賞金的 Gitcoin,歐盟于 12 月推出了面向 14 個(gè)開源項(xiàng)目的 Bug 賞金計(jì)劃(https://www.zdnet.com/article/eu-to-fund-bug-bounty-programs-for-14-open-source-projects-starting-january-2019/)。2017 年,一家名為 Code Sponsor 的公司致力于通過將開源項(xiàng)目與想在開源項(xiàng)目的幫助文件中添加廣告的公司聯(lián)系起來,從而實(shí)現(xiàn)開源項(xiàng)目的獲利。Code Source 后來改變了其業(yè)務(wù)模式,并重組為 CodeFund,它利用合乎道德的數(shù)字廣告為開源項(xiàng)目提供資金。

          流行的開源項(xiàng)目中,一些比較活躍的開發(fā)人員已經(jīng)通過 Patreon 等眾籌服務(wù)尋求支持,并自行籌集了資金。對(duì)于那些為知名開源項(xiàng)目工作的知名開發(fā)人員來說,這可能相當(dāng)“有利可圖”。例如 Vue.js(一個(gè)用于創(chuàng)建用戶界面的開源 JavaScript 框架)的創(chuàng)立者 Evan You 每月可以通過 Patreon 獲得 1 萬 7 千多美元。

          當(dāng)然,Evan You 是開發(fā)人員中的一個(gè)例外。其他從事開源項(xiàng)目的程序員可以通過眾多資源獲得更多的報(bào)酬。Henry Zhu 最近辭職了,他開始全職為開源 JavaScript 編譯器 Babel.js 工作,完全依賴眾籌來支持他的收入,目前每個(gè)月他可以從 Patreon 上獲得大約 1500 美元的收入。

          今年 1 月,GitHub 的開源項(xiàng)目經(jīng)理 Devon Zuegel 在網(wǎng)站上寫了一篇名為《我們來談一談開源的可持續(xù)性發(fā)展》(https://github.blog/2019-01-17-lets-talk-about-open-source-sustainability/)的文章。該文章強(qiáng)調(diào)了開源社區(qū)中的一些問題,其中包括資源與治理不足、缺乏溝通、工作超負(fù)荷。Zuegel 懇請(qǐng)社區(qū)向服務(wù)于改善開源維護(hù)者和貢獻(xiàn)者等領(lǐng)域的公司提供信息。

          GitHub 產(chǎn)品管理高級(jí)主管 Kathy Simpson 告訴我,“我們所要做的事就是,傾聽那些正在構(gòu)建軟件的開發(fā)人員的意見,給予他們大量支持,幫助他們建立對(duì)其將來有助益的工具。我們有義務(wù)保護(hù)這些項(xiàng)目和社區(qū)之間的結(jié)締組織,并幫助他們成長?!?/p>

          “維護(hù)可能是一項(xiàng)非常具有挑戰(zhàn)性且吃力不討好的工作,”Simpson 補(bǔ)充道,“我們非常清楚這一點(diǎn),而且我們希望盡我們所能全面推進(jìn)。”

          盡管表面上 GitHub 非常認(rèn)真地設(shè)法幫助開源維護(hù)者,但對(duì)于 GitHub 的建議請(qǐng)求卻得到了不同的回應(yīng)。有些開發(fā)人員歡迎 GitHub 嘗試改善運(yùn)行開源項(xiàng)目的經(jīng)驗(yàn),而有些人則對(duì)該公司所暗示的開源存在可持續(xù)性發(fā)展的問題表示不滿。

          “對(duì)于那些已經(jīng)在開源努力了 20 年的人來說,可持續(xù)發(fā)展性的觀點(diǎn)會(huì)非常令人感動(dòng)?!盚ansson 告訴我,“但如果你提出一個(gè)觀點(diǎn)說開源存在可持續(xù)性發(fā)展的危機(jī),那么你必須指出貢獻(xiàn)或項(xiàng)目數(shù)減少了,而不僅僅是幾個(gè)無關(guān)的事例。我認(rèn)為有些項(xiàng)目確實(shí)陷入了一種奇怪的境況,這些項(xiàng)目中沒有從事自由職業(yè)的核心維護(hù)者,而且也沒有一家公司最終認(rèn)為有必要直接資助這些項(xiàng)目,但我不覺得這可以代表普遍現(xiàn)象?!?/p>

          開源代碼中是否普遍存在可持續(xù)性發(fā)展的危機(jī),這是一個(gè)有爭議的問題,但這并不能否定我們需要找到一種解決方案,來解決難以找到資金和志愿者來支持開發(fā)開源項(xiàng)目的必要性。無論這些是個(gè)別現(xiàn)象還是不斷上升的趨勢(shì),無論是否有存在這樣的缺陷,開源開發(fā)人員繼續(xù)致力于開源項(xiàng)目這一事實(shí)證明了他們更加愿意致力于項(xiàng)目和開源開發(fā)。然而,大多數(shù)開發(fā)人員都認(rèn)為,如果有可持續(xù)性的方式為開源社區(qū)提供資金,那么肯定可以開發(fā)出更好的軟件。

          正如 Zhu 在去年參加 Eghbal 主持的一個(gè)播客系列“Hope in Source”(https://hopeinsource.com/)中所說的那樣,開源社區(qū)很像一個(gè)宗教團(tuán)體,特別是在金錢方面。人們可以自由地組織這樣的宗教機(jī)構(gòu),以確保在那里工作的人可以繼續(xù)進(jìn)行組織的工作,而無需在外部尋找工作。這些有組織的宗教團(tuán)體需要資金才能保證基層的運(yùn)作,但他們最重要的資產(chǎn)不是金錢,而是人們聚集在一起讓這個(gè)社區(qū)成為現(xiàn)實(shí)。即使擁有世界上所有的錢,也無人可以創(chuàng)立這樣的宗教,或維持一個(gè)廣泛使用的開源項(xiàng)目。

          “我們希望鼓勵(lì)人們參與進(jìn)來,”,“在開源社區(qū)中,時(shí)間重于金錢。

          盡管如此,科技公司和其他用戶依靠資金不足和過度勞累的開發(fā)人員所維護(hù)的開源軟件來為現(xiàn)代社會(huì)提供動(dòng)力,這種現(xiàn)象仍然是不公平的。雖然從一定程度上來看這是一個(gè)值得研究的問題,但實(shí)際情況還沒到這一步。正如 Eric Raymond 于二十多年前指出的那樣,開源的最佳特性之一就是其開放性以及社區(qū)驅(qū)動(dòng)的開發(fā)模型能夠以更低的安全風(fēng)險(xiǎn)更高效地創(chuàng)建更好的軟件。

          對(duì)于消費(fèi)者產(chǎn)品以及關(guān)鍵性的互聯(lián)網(wǎng)安全基礎(chǔ)設(shè)施而言,世界變得越來越依賴于開源軟件,而且公司和用戶不能因?yàn)椤靶呐K出血”這樣的災(zāi)難性漏洞就相信維持這種開放式基礎(chǔ)設(shè)施需要付出代價(jià)。

          原文:https://motherboard.vice.com/en_us/article/43zak3/the-internet-was-built-on-the-free-labor-of-open-source-developers-is-that-sustainable

          本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
          打開APP,閱讀全文并永久保存 查看更多類似文章
          猜你喜歡
          類似文章
          第 1 小節(jié):什么是開源 | 開源指北
          全面解析:什么是開源?開源的意義是什么?| 紅帽
          那些被歪曲的開源軟件和OpenSSL的真實(shí)歷史
          每 1000 行代碼有 14 個(gè)安全缺陷,開源軟件的安全讓人擔(dān)憂
          GitHub如何征服了Google,Microsoft和其他所有人 | 蟲部落
          GitHub如何征服了Google、微軟及一切
          更多類似文章 >>
          生活服務(wù)
          分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
          綁定賬號(hào)成功
          后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
          如果VIP功能使用有故障,
          可點(diǎn)擊這里聯(lián)系客服!

          聯(lián)系客服