開源走向衰竭?代碼被遺棄,開源開發者們該何去何從?

2020-11-28 是python呀

近年來,全球開源項目數量呈指數級增長,據開源軟體安全平臺 SourceClear 的調查報告預測:

2026 年全球開源項目數量將超過 3 億;然而,開源 vs 生存,如何取捨

多年以來,這個問題一直在深深地困擾著業界尤其是個人開源開發者。

因患病長期失業、卻仍在堅持維護開源項目

早在 2016 年,JS 紅寶書原作者 Nicholas C. Zakas 不幸患上萊姆病,而後長期失業,連業餘兼職工作也無法進行下去。

然而多年來,他在沒工作、沒有收入,身患重病的情況下維護著他的開源項目 eslint,一款插件化並且可配置的 JavaScript 語法規則和代碼風格的檢查工具。

但在現實的壓力之下,他不得以在 GitHub 上發起求助,並希望在 2020 年的某個時間能夠恢復健康,並重新開始開源工作。

現實壓力下開源作者

除了 Nicholas C. Zakas ,仍有不少開源作者身處壓力之下。

Bootstrap 開源由 Twitter 的設計師 Mark Otto 和 Jacob Thornton 合作開發的一款開源前端框架。

Green Day 和 Barack Obama 的 The White House 的網站設計都使用到了 Bootstrap 。

Bootstrap 開源流行的原因:

1.簡約的風格

2.任何人都可以免費使用

Jacob Thornton 的壓力:

Mark Otto 和 Jacob Thornton對Bootstrap 持續維護了 9 年,讓他直呼想逃離:

每周都有無數的人向他和 Mark Otto 報告錯誤、要求新特性和給予表揚;

晚上還要花費4~5小時對 Bootstrap 進行管理,編寫新代碼;

而像 Bootstrap、eslint 這樣,即使項目維護者精疲力竭但還在堅持的開源項目已經是個幸事,開原始碼被遺棄才是最壞的結果。

無力堅持,放棄卻釀成大禍

兩年前, event-stream 庫的作者 @dominictarr 因缺乏時間和興趣決定放棄維護這個庫,並且將該庫轉讓給了一個完全不認識卻又想要接手的陌生人 @right9ctrl ,而 @right9ctrl 利用比特幣公司曾使用過這個庫的開原始碼,對其進行了重寫,以試圖竊取加密貨幣。

事情發生後, event-stream 庫的作者 @dominictarr 遭到了大量開發者的譴責,控訴他為何要將軟體包交給一個陌生人。對此, @dominictarr 回應:起初開發這個庫只是因為好玩,並不是為了利他。但開發者將維護的工作全壓在我的身上,而我從維護中得不到任何東西,這個庫對我來說就不再是興趣了。並且,一開始我並沒有從 @right9ctrl 身上感受到惡意,以為這是一位真心想幫助我的人。

精疲力竭的開源開發者該如何自處?

最近,新媒體 Substack 的作家 Nadia Eghbal 出版了一本書《 Working in Public 》,為了寫這本書,她與數百名開源程式設計師進行了交談。

從溝通中 Nadia Eghbal 意識到,開源項目代碼的編寫和修改需要高水平的合作。

而事實上,雖然參與開源項目的開發者會有很多,但他們其實只做出了像修復 Bug 這種很小的貢獻,無法實現維護項目所需要的高水平合作。

因此,開源項目的維護最終還是落在了少數人的肩膀上,他們就像公眾人物一樣背負著眾人的期望與監督,而區別是,他們從中得不到任何物質回報。

研究表明,約有 9.5% 的開原始碼已被遺棄,約 25% 的開源項目可能也快被放棄。這個趨勢很危險,且不說沒人維護的代碼易被嚴重破壞,光是惡意利用這一點就後患無窮。

開源最關鍵的是人,不是代碼!

一個公司是否有人可以掌握開源軟體本身的架構,是否有人可以對社區的方向有所影響,是否有人可以適配開源軟體符合自己的需求,是否有人可以在必要的時候繼續維護軟體,這些才是最需要關心的問題。

假設某一天一個開源軟體的主要開發方突然宣布不再開放原始碼了了,這個時候要看其他開發者可以集合起來,有能力接著前一天的分支繼續進行開發和維護,那麼這個軟體就會依然可以被大家開發使用,甚至逐漸集合有能力的社區夥伴重構或者重寫一份都不會是問題。

活躍的開發者人群是大家使用開源軟體的真正保障,也是社會得以快速創新發展的基礎。

國內開源現狀如何?

國內開源現狀:

(1)國內還沒有形成對待開源的思維,仍然停留在各大論壇上貢獻的免費軟體一樣,索取為主,沒有交流,用的好不好他也不說,拿過去改了什麼他也不說,有問題他也不說。

(2)對於有能力貢獻代碼的人,貢獻出來之後,大部分學習的手段就是拿來就可以了,沒有思考,也沒有反饋,大多也就是你必須按照我這麼做,不這麼做就不行。

(3)基於一個想要後續獲取利益的目的來發布軟體,自立山頭的老闆比較多,而手下的兵少,人手足夠後,缺乏開源管理經驗。

(4)國內的程式設計師沒有時間做開源,也沒意識到開源的重要性。大多都處於搬運工的狀態,每天加班加點完成公司業務代碼。

在國內做開源的困難:

源軟體的迭代速度則取決於這個世界上有多少對此軟體感興趣的人。

一個軟體開源了,很容易就被大公司或者其他人給閉源處理了,迭代比你快,優化比你好。

少部分大牛,開源了一些好代碼。難以形成比較大的影響力。國內的開源項目,做得好的基本上是極客,憑個人能力開發出優秀的完整項目,除了阿里,貌似少有公司團隊參與的開源項目。

大牛如何看待開源?

幾個月前,阿里巴巴技術副總裁賈揚清在知乎上針對「如何看待國內開源現狀」時,回答:

一方面,開源是熱情驅動的,但是另一方面,我們絕對不能餓死雷鋒。所以一定要有體系化的能力沉澱,有很好的流程,把大家做開源的阻力做到最小。

而享受開原始碼成果的我們可能能做的就是如亞馬遜首席科學家李沐所提到的「契約精神」。

我覺得最大的一點是得有契約精神:我邀請你來用我新鮮出來的代碼,那麼我會負責回答你的問題,並幫助合併你的代碼提交請求。這個也是好幾個回答提到的」開源維護「。

最後,開源開發者未來將如何自處,開源的枯竭局面又該如何挽回?這是每一個開源者需要思考的問題

相關焦點

  • Comma.ai開源惹煩惱,代碼開發者該為自動駕駛事故負責嗎?
    在傳奇黑客 George Hotz 開源了自家 Comma.ai 公司的自動駕駛套件後,相信許多動手能力強的發燒友們都從 Github 上下載了 Python 代碼並買齊了所需的硬體設備,速度快的人恐怕已經開著謳歌或者本田的兼容車型在路上玩起大撒把了,比如雷鋒網上周報導的那位仁兄。
  • Comma.ai 開源惹煩惱,代碼開發者該為自動駕駛事故負責嗎?
    在傳奇黑客 George Hotz 開源了自家 Comma.ai 公司的自動駕駛套件後,相信許多動手能力強的發燒友們都從 Github 上下載了 Python 代碼並買齊了所需的硬體設備,速度快的人恐怕已經開著謳歌或者本田的兼容車型在路上玩起大撒把了
  • Android 開源項目 (AOSP) 代碼搜索工具正式發布
    Android開原始碼工程主管Jeff Bailey 等共同發文表示,目前,Android開源項目(AOSP)的代碼搜索工具已正式發布。要獲得或查看這些代碼,需要使用Git (一種開源版本控制系統)和repo (一種與Git相輔相成的代碼庫管理工具),也正因如此,很多開發者們慣用的工具無法與之很好地配合使用,如GitHub、Gitweb等。
  • 代碼開源是什麼意思?NGK代碼開源做安全合規項目
    而比特幣能從無人問津發展到現在的萬億市值,則離不開它自身對代碼的開源。代碼開源可以讓人們清楚的了解項目發展的業務邏輯,從而得到全世界的信任,讓全世界知道其是一個公開透明的真正的區塊鏈打造的系統;也可以讓讓全球所有技術精英加入到代碼的升級中,從而讓項目代碼可以隨著時代進步。代碼開源的意思就是任何人都可以審查、修改和增強原始碼。
  • imToken開源「心臟」代碼 開發者最好的節日禮物
    中國程式設計師狂歡節10月24日這一天,錢包imToken宣布正式開源。金色財經獲悉,此次開源涉及imToken應用對「錢包私鑰」的管理和維護,如果用類比解釋,TokenCore是imToken的「心臟」。10月24日,是中國程式設計師的狂歡節日。
  • 懷疑開發者在「造核彈」?GitHub不斷封禁開源項目
    今天它封掉了自家的開源項目 Aurelia,只因項目中有兩名來自伊朗的外部貢獻者。 繼去年封禁伊朗等地區帳號後,GitHub 今天再次封禁了一個屬於微軟的前端開源項目 Aurelia,理由是項目中有兩名來自伊朗的外部貢獻者。雖然 GitHub 執行長致歉表示「這次的確是個錯誤」,但是開發者們顯然不買帳:GitHub 封禁項目的行為是否太隨意了?
  • 開源項目的所有者去世了怎麼辦?
    【CSDN編者按】GitHub是全世界最流行的代碼託管網站,上面託管了6700萬個項目。但是各個開源項目之間所隱藏的複雜軟體依賴關係網,帶有很大的安全和性能隱患——特別在開源項目的所有者去世之後,很有可能會因為項目缺乏維護而帶來其他應用性能的崩潰。本文的作者曾經希望繼承某一「孤兒」項目的維護權,卻因為客觀原因而不了了之。在他看來,開發者應該給大批的「孤兒」開源項目以新生。
  • 開源:從「復興」走向「商業化」
    所以,從技術角度,涉及作業系統底層架構、操作性能、用戶界面等部分,任何開發者或硬體廠商都可以根據開原始碼進行二次開發。在遵守相關開源許可證的基礎上,二次開發者有權自由選擇是否開源,這取決於他們是否希望直接從中獲利。
  • 《我的世界(Minecraft)》開源核心函數庫代碼,讓開發者改進!
    《我的世界(Minecraft)》開源核心函數庫代碼,讓開發者改進! 2018-10-11 00:42  IT情報局菊長 知名沙盒遊戲《我的世界(Minecraft)》在斯德哥爾摩的Java團隊,決定以MIT授權開原始碼,
  • 基於代碼、社區,兩步成為開源贏家!
    當然是開源的那種。全球有數以千萬計的開發者使用的是開源平臺,因為他們可以訪問它的代碼,修改應用程式,為項目貢獻代碼並成為社區的一份子。因此,建立在開源基礎上的軟體公司擁有成為有數十億美元級別企業的潛能。但是,開源軟體的本質在於免費,如何高效變現就成為一個巨大的挑戰。
  • 基於代碼、社區,兩步成為開源贏家
    當然是開源的那種。全球有數以千萬計的開發者使用的是開源平臺,因為他們可以訪問它的代碼,修改應用程式,為項目貢獻代碼並成為社區的一份子。因此,建立在開源基礎上的軟體公司擁有成為有數十億美元級別企業的潛能。但是,開源軟體的本質在於免費,如何高效變現就成為一個巨大的挑戰。
  • 社區大於代碼 從Apache看中國開源發展
    他們將分為三批,在上海、廣州、北京進行為期三天的開源主題遊學。遊學日程包括:學生跨校交流、資深開源者經驗分享、參與神秘開源大使計劃、參觀網際網路公司、參與創意黑客馬拉松並獲得豐富的開源大禮包。  此外,開源學院,開源翻譯平臺也都已經上線運行,為開發者提供了熱門的開源治理、技術與應用課程,同時也引薦並翻譯海外高質量的技術及治理文章,幫助國內開發者獲取最新鮮的資訊、產品和技術指南。
  • 開發者,你是否還對開源有很多問號?
    「我有想參與開源,但我不知道怎麼做」「我想做一個開源項目,該如何開始?」狀態為「編寫中」的內容同樣可以參與,我們會將不同作者的內容綜合編輯後展示,同時參與的開發者都可獲得編寫人員的身份。4.我文字功底不夠,對開源的了解也不深,該如何參與進來?
  • 微軟開源 2019:「討好」開發者,當開源圈的 「萬人迷」
    又到了年末各種盤點出爐的時候,開源圈今年雖然沒有「GitHub被微軟收購」、「Red Hat被IBM收購」如此重磅且出圈的新聞,但依然不失精彩。開源圈作為開發者密度最高的圈子,微軟作為開發者群體中「滲透率」最高的商業公司,微軟與開源之間的故事,天生自帶流量屬性。
  • 微軟開源 2019:「討好」開發者,當開源圈的「萬人迷」
    開源圈作為開發者密度最高的圈子,微軟作為開發者群體中「滲透率」最高的商業公司,微軟與開源之間的故事,天生自帶流量屬性。本文就來和大家一起回顧微軟在 2019 年與開源相關的重要事件 —— 主要是引發較多關注和廣泛討論的新聞。為了更好地理解微軟的開源 2019,下面我們將會按不同的領域而非時間線進行回顧。
  • NVIDIA終於重視開源驅動了-NVIDIA,Linux,開源驅動,顯卡驅動...
    開源驅動是Linux開發者、用戶非常在意的東西,但可惜的是,不少公司對此並不關心,比如NVIDIA就一向對開源顯卡驅動不感冒,Linux社區對其非常不滿,Linus Torvalds甚至曾經在公開場合大罵「Fxxk You」。
  • 封禁醜聞不斷,開原始碼託管動了誰的奶酪?
    雖然 GitHub執行長致歉隨後迅速表示「這次的確是個錯誤」,但是開發者們顯然不買帳:GitHub 封禁項目的行為是否太隨意了?這樣的行為難道不是與開源信念背道而馳嗎?如果有一天,像GitHub這樣的託管平臺禁止中國用戶訪問自己的開原始碼,我們又該如何應對呢?
  • 開發者真的喜歡開源嗎?
    CPO Aurélien Georget認為,開源的持久魅力不僅在於代碼。Instaclustr將ApacheKafka等開源軟體作為託管服務運行。只要建立的雲服務嚴格遵守開源標準,他們就不會真正失去代碼或數據的獨立性。開源數據層技術保證公司完全控制自己的數據和流程。通過選擇100%的開源技術,公司可以擁有自己的代碼,並保持不受供應商或技術的限制。
  • 阿里10 年風雨開源路,致敬所有開源人!
    在這封感謝信裡,賈揚清向我們講述了過去阿里開源之路是如何開始的,未來阿里的開源之路將會走向何方,以及阿里開源貢獻更多技術、分享更多理念的期待。項目地址:https://github.com/alibaba/druid 該項目包含了《阿里巴巴 Java 編碼指南》、pmd 實現以及 IDE 插件相關內容。其中,指南整合了阿里巴巴集團技術團隊多年來的最佳編程實踐。隨著開發者鼓勵重用和更好地理解彼此的程序,大量的 Java 編程團隊對項目之間的代碼質量提出了苛刻的要求。
  • 阿里10 年風雨開源路,致敬所有開源人
    雷鋒網 AI 開發者按:近日,阿里巴巴開源技術委員會負責人、Caffe 之父賈揚清發布了一封給千萬開源人的感謝信,並首次公開開源 10 年全景圖。在這封感謝信裡,賈揚清向我們講述了過去阿里開源之路是如何開始的,未來阿里的開源之路將會走向何方,以及阿里開源貢獻更多技術、分享更多理念的期待。