日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

开源生态学初探——从生命游戏开始

發布時間:2023/12/14 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 开源生态学初探——从生命游戏开始 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

緣起

在最近一次開源社的理事會上,我們聊到了關于如何孵化開源項目,如何更好地幫助開源項目發展的事情。我在會后思考了很多,因此決定寫一篇文章來闡述一下自己的觀點。

生命游戲

首先還是想介紹一下,已經有很多朋友都很熟悉的一個游戲:生命游戲。

在 1970 年的時候,約翰·何頓·康威(John Horton Conway)發明了生命游戲,規則非常簡單:

  • 當前細胞為死亡狀態時,當周圍有 3 個存活細胞時,則迭代后該細胞變成存活狀態(模擬繁殖);若原先為生,則保持不變;

  • 當前細胞為存活狀態時,當周圍的鄰居細胞低于兩個(不包含兩個)存活時,該細胞變成死亡狀態(模擬生命數量稀少);

  • 當前細胞為存活狀態時,當周圍有兩個或 3 個存活細胞時,該細胞保持原樣;

  • 當周圍有 3 個以上的存活細胞時,該細胞變成死亡狀態(模擬生命數量過多)。

  • 如果想自己玩玩這個游戲,可以訪問:

http://home.ustc.edu.cn/~zzzz/lifegame/lifegame.html

  • 如果只是想看看效果,可以訪問 B 站視頻:

https://www.bilibili.com/video/BV1LL411J7Jg/

之前的激勵模型,漏掉了什么?

3 月份的時候,我寫過一篇文章:《開源社區的激勵模型》。但是當時的討論,現在看來還停留在“靜態分析”階段。

《開源社區的激勵模型》

https://zhuangbiaowei.github.io/opensource/2022/03/05/opensource-motivation-model.html

如果我們希望從一個生命周期的視角,來看待一個開源項目,應該如何為其建模呢?

  • 初創階段,開源項目的創始人勢單力孤,甚至孤軍奮斗。

  • 小成階段:開始吸引到有限的幾個朋友,參與這個項目,人員不穩定,隨時可能跑掉。

  • 活躍階段:已經有了穩定的開發者社區,項目穩定發展,欣欣向榮。

  • 衰落階段:人員逐漸流失,項目失去吸引力,代碼提交零零星星,社區活躍度下降。

  • 遺跡階段:已經無人維護,僅剩一個代碼倉庫,供人憑吊。

或者更加簡潔一點劃分:

  • 初創階段:無吸引力,無需治理

  • 活躍階段:有吸引力,需要治理

  • 衰落階段:無吸引力,無力回天

而我之前的討論,大多數時候是針對活躍階段,如何治理的問題。而一個開源項目,如何從“初創階段”,發展為“活躍階段”,卻是另一個尚未被討論的問題。

當然,如何避免活躍的項目衰落,這個可能更難,今天的這篇文章就先不討論了。

開源生態學,應該如何定義問題?

先看看生態學研究些什么?

生態學(德語:?kologie,英語:Ecology),是德國生物學家恩斯特·海克爾于 1866 年定義的一個概念:生態學是研究生物與其周圍環境(包括非生物環境和生物環境)相互關系的科學。德語?kologie(最初:Oecologie)是由希臘語詞匯Οικοθ(家)和Λογοθ(學科)組成的,意思是“研究居住在同一自然環境中的動物(Lebewesen)的學科”,目前已經發展為“研究生物與其環境之間的相互關系的科學”。環境包括生物環境和非生物環境,生物環境是指生物物種之間和物種內部各個體之間的關系,非生物環境包括自然環境:土壤、巖石、水、空氣、溫度、濕度等。

生態學考慮多個層次(從個體、種群、群落、生態系統到生物圈層面)的生態。主要研究以下問題:

  • 生命過程、反脆弱性、相互作用和適應性

  • 物質和能量在生物群落中的流動

  • 生態系統的演進發展

  • 物種內部和之間的合作、競爭和捕食

  • 生物體的豐度、生物量和在環境中的分布情況

  • 生物多樣性的模式及其對生態系統過程的影響

*以上內容摘錄自中英文維基百科:

中:https://zh.wikipedia.org/wiki/%E7%94%9F%E6%80%81%E5%AD%A6

En:https://en.wikipedia.org/wiki/Ecology

映射到開源領域

  • 個體:就是一個一個的(有可能)參與開源的個體

  • 種群:在校學生群體,自由職業群體,企業員工群體等等

  • 群落:一個一個的開源社區,可以看做一個一個的群落

  • 生態系統:整個開源世界,構成了一個生態系統

  • 生物圈:就是指這個開源生態系統,所處的整個世界

我們在生命游戲里是怎么玩的?

我們會暫停游戲,觀察“停滯不前”的群落,然后適當地加上一個“個體”(比如圖中的綠色或者黃色的點)。在游戲繼續之后,可能那個群落就會興旺發達了。

但是,與生命游戲不同的地方在于:我們加上的個體,不一定就是最適合的。于是,這個群里后續的發展方向,可能正如我們所愿,也可能會快速的分崩離析。

再回顧一下我們前面對于開源社區的分類:

  • 初創階段:無吸引力,無需治理

  • 一個小群落,可能長期停滯,也可能即將消亡

  • 活躍階段:有吸引力,需要治理

  • 一個活躍的,不斷發展變化的群落,但是可能存在不穩定的因素

  • 衰落階段:無吸引力,無力回天

  • 一個組織結構不合理,缺少關鍵個體,不再有效產出的群落

開源生態學,可以研究一些什么?

  • 一個開源社區,以及其生產的開源軟件的“生命周期”

  • 開源參與者的角色與種類(個體與種群),以及其成長的典型路徑

  • 能夠激發開源社區發展壯大的“物質與精神能量”有哪些?以及如何發生作用?

  • 整個開源世界,作為一個生態系統,如何評估其健康狀況?

  • 開源世界中的個人、企業、社區與基金會之間,存在哪些競爭與合作關系?

  • 是否存在某種開源社區的地理環境,比如:美國、中國、英文、中文,不同的環境下的開源社區,有何異同?

  • 開源社區的成員多樣性與健康度之間,應該是何種關系?

嘗試從生態學角度,討論三個開源的話題

如何幫助初創階段的開源項目,成為成熟的、活躍的開源項目?

我們可以提出一個猜想,在《【翻譯】開源的簡單經濟學》中提到的各種回報,除了“金錢”以外的收益,都是開源項目所獨有的,例如心情愉悅、未來的工作機會、同行的認可等等。這些都與“開源項目規模與活躍度”正相關。

《【翻譯】開源的簡單經濟學》

https://zhuangbiaowei.github.io/opensource/economics/2022/05/18/the-simple-economics-of-open-source.html

也就是:越是大項目、很多人參與的項目,國際知名的項目,越是有人不求“物質”回報的參與貢獻。因為非物質回報,足夠補償。

_

初創階段

活躍階段

吸引力

參與動力

創始人堅持

非物質回報

如果,我們能夠為這個開源項目,投入一些“生力軍”,幫助項目從初創階段,成長到活躍階段,這個項目就能夠依靠自身的吸引力,繼續發展下去。

于是,我們就引入了一個“生物體的豐度”概念。一個健康的開源生態,有足夠密度的開源愛好者,或者說他們有充足的業余時間參與一個新興的開源項目。這個生態圈,就能夠不斷地培育出新的開源項目。

否則,就會有很多新興開源項目,還沒有熬到長大,就悄無聲息的消失了。

從這個意義上來說:要想改善開源生態,至少有兩種方案:

  • 想辦法增加整體的生力軍數量,以提升豐度。這可以稱為環境改良;

  • 想辦法為特定的,更有希望的“種群”,定向追加人手,幫助他們更好的存活與發展。這可以稱為定向孵化。

如何定向孵化一個開源項目

繼續上面的話題,假設我們想投入一些生力軍到一個新興開源項目,需要考慮以下問題:

  • 是找開源老手,還是找開源新人?

  • 在一個原本就貧瘠的環境中,拆東墻補西墻,不是一個好選擇

  • 如果是找新手,是否存在風險?

  • 如果一個開源項目原有的成員,本身經驗就不足,新手的參與也許還幫不上忙,只會添亂

  • 如果是找開源新手,但是卻是開發老手,是否可行?

  • 通過付費找外包的方式開發,對于項目可行,但是對于社區氛圍,以及長期發展,可能不利

所以,理想的方案是:開源老手作為導師,輔導N個新手,加入一個社區。一方面幫助新人適應開源社區的開發模式,另一方面也能幫助新興開源項目,逐步走上正規。

但是,這樣的孵化,成本非常高昂,事實上Google Summber of Code基本上就是這個模式。只不過,如果要想在中國更好地發展這樣的模式,導師的心力投入需要更高才行。

新建一個開源項目,應該選擇何種語言?

如果我們的開源項目,初始語言是英文,那么圖上的綠色點與藍色點,都可以參與。如果初始語言是中文,那么圖上的藍色點與紫色點,都可以參與。

從“生物體的豐度”概念來看,現階段當然是選擇使用英文。除非等到使用中文的開源開發者數量大大增加,使得選擇中文作為初始語言更加“劃算”。

另外一種可能性,也許會與項目的具體目標用戶群有關。假設我們做的是一個微信小程序上的開源項目。或者是一個用于抗擊新冠、快速核酸篩查的開源項目,那么選擇中文,才是更加合理的。

結束語

總之,從生態學的角度來看開源,可以幫助我們打開思路,考慮更多的可能性,以及做出不一樣的選擇。

歡迎大家一起來討論。

轉載自:開源雨林

作者:莊表偉

編輯:李佳陽

責編:王玥敏

設計:李昊原

相關閱讀 | Related Reading

一個開源貢獻者的自我修養 :在Apache Spark推進SPIP時我們學到了什么?

技術播客月?|?開發者社區運營是怎么樣一個體驗?

我所理解的開源軟件供應鏈安全

開源社簡介

開源社成立于 2014 年,是由志愿貢獻于開源事業的個人成員,依 “貢獻、共識、共治” 原則所組成,始終維持廠商中立、公益、非營利的特點,是最早以 “開源治理、國際接軌、社區發展、開源項目” 為使命的開源社區聯合體。開源社積極與支持開源的社區、企業以及政府相關單位緊密合作,以 “立足中國、貢獻全球” 為愿景,旨在共創健康可持續發展的開源生態,推動中國開源社區成為全球開源體系的積極參與及貢獻者。

2017 年,開源社轉型為完全由個人成員組成,參照 ASF 等國際頂級開源基金會的治理模式運作。近八年來,鏈接了數萬名開源人,集聚了上千名社區成員及志愿者、海內外數百位講師,合作了近百家贊助、媒體、社區伙伴。

總結

以上是生活随笔為你收集整理的开源生态学初探——从生命游戏开始的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。