2021年之後的開源願景

{"type":"doc","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在開源領域工作了十多年之後,經歷了從初創公司到世界上最大的開源公司,並推出了我的開源項目資助平臺("},{"type":"link","attrs":{"href":"https:\/\/www.oss.fund","title":null,"type":null},"content":[{"type":"text","text":"https:\/\/www.oss.fund"}]},{"type":"text","text":"),我終於有了一個想法。“開源”一詞並不足以涵蓋現代開放軟件所有可感知的價值,開源需要一個更廣闊的視野,以及一個支持開放治理和開放資金的基礎設施。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"2021年開源的意義"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"在過去,開源的價值在於源代碼,我們可以從自由軟件的自由度和開源定義的發佈標準中感知到這一點。但現在情況不一樣了。現如今,開源產品的生產速度很快,但腐爛和過時的速度更快。除了源代碼提供的價值之外,開源項目還有其他重要的特徵。開源的價值在於項目被採用,有時候一個項目會成爲某種技術事實上的標準(比如用於消息傳遞的Apache Kafka)。開源的價值還在於參與者之間的鬆散協調、開放的協作和夥伴關係,以實現一個共同的目標(如Kubernetes SIG貢獻者們)。開源的價值還在於項目的長期可持續性,可以在公司被收購或破產之後繼續存在(比如Oracle和Jenkins)。今天,成功的開源模式更多的是用戶採用、健康的社區合作和長期可持續性的一個縮影。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"開源項目取得成功的關鍵因素"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"首先,我要說的是開源許可。開源許可規定了源代碼及其衍生物(二進制文件、服務)可以使用和不可以使用的發行方式。對於很多用戶來說,這是一個不容置疑的因素。它決定了一個項目是否是開源的。但問題是,僅憑一個開源許可並不能保證一個項目將爲我們帶來所有潛在的價值。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"其次,我要說的是項目治理。治理模型爲重要的項目決策制定規則,並規定項目的“所有者”如何與社區發生交互。有一些項目的治理是通過一個可信任的軟件基金會來實現的。基金會提供了中立性、穩定性和透明度,但同時,它也可能導致缺乏靈活性,讓社區停滯不前。還有一些項目由單一公司負責管理,這些公司有可能對項目許可做出變更,甚至把開源項目變成專有軟件。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"作爲一個開源項目的用戶,我希望項目是開源的,這樣我就可以自由地使用它。同時,我希望它能被廣泛採用,這樣我在遇到問題時就能夠找到答案,可以找到相關的博文和最佳實踐,可以找到開發人員和支持提供者,甚至把軟件當作服務使用。一個開源項目就是一個僞裝的營銷工具。一個開源項目,如果還沒有達到被廣大社區所接受的程度,就不能提供全部的價值。今天,開源的價值不僅在於源代碼,也在於社區。一個項目的開源許可和治理直接影響着社區的健康。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"開源項目的第三個關鍵因素是長期可持續的財務模式。一個無法爲項目貢獻者提供可持續經濟激勵的開源項目,可能在一夜之間就失去了支持者。一個缺少貢獻者的項目就是一個充滿安全漏洞的項目,一個有安全漏洞的開源項目就是一個死氣沉沉項目,沒有人會在乎一個死氣沉沉的項目。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"我們已經無數次看到不具備財務穩定性的開源項目是如何被遺棄的,或者被迫變更開源許可,成爲專有的項目。有時候,這類項目由一家公司負責運營,而被一家公司掌握的開源項目並不能帶來開放協作的好處,它變成了與公司戰略、路線圖相一致的公司項目,並與公司的財務健康狀況相關聯。這不是一件壞事,但也不是真正的開源。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/infoq\/51\/51eecca4d6854715864d95a2151261e4.png","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"項目維護人員的長期財務健康狀況經常是源代碼及其社區之間缺失的一環。糟糕的項目資助模式,或者缺乏模式,會影響治理、開源許可的選擇,甚至是破壞社區。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"開源項目的關鍵健康指標"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"這需要一個新的更廣泛的開源願景和基礎設施。當我打開Github網站,我總是會關注一個開源項目有多少star和fork,這些數字顯示了社區的參與度。我關注的第二個東西是項目許可,它告訴我們可以用源代碼做些什麼。那些準備在開源項目中投入大量時間、精力和專業聲譽的人,也會看一下項目的治理模型,看看項目是否屬於基金會,看看項目管理委員會的成員都有誰以及他們是如何選舉出來的,看看他們是如何修改現有的過程、項目特性,以及誰是看門人,等等。在某些情況下,這些規則會被寫在Wiki頁上,但對於較小的項目,它們不會出現在Wiki中,項目所有者可以做任何他們想做的事情,甚至是在沒有社區的參與或透明度的情況下。除非項目是軟件基金會的一部分,否則就不存在代表最佳實踐的開源治理框架。我們無法通過添加一個文件(類似許可文件)來將治理模型應用到項目當中。即使存在治理模型,我們也沒有自動化的方法來保證這些治理規則得到遵守。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"我關注的最後一個東西是開源醒目的財務健康狀況和可持續性指標。正如前面所說的,財務狀況不健康的開源項目預示着可能會出現意外的變化和令人頭疼的問題。現如今,並不存在一個單一的指標可用來衡量項目的財務健康狀況。如果一個項目是軟件基金會的一部分,我們可以看看這個項目從這種治理關係中得到了什麼好處,但通常來說,這些是爲了維護基金會而不是項目本身。如果一個項目是由一家公司負責運營的,就沒有辦法知道這個項目對公司財務的貢獻情況。如果項目維護者使用了Github Sponsors,我們可以看到項目當前的贊助情況,或者可以看一下Patreon的捐款情況,或者去其他地方搜索一下類似的指標。這些開源資助平臺功能都不夠完善,在開源支持者當中也不是很流行。直至今天,都還沒有一個被開源用戶廣泛採用的長期財務資助平臺,也沒有任何可信的財務狀況指標。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"開源所缺失的基礎設施"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"想象一下,在未來的世界裏,開源不僅僅是一種開發方法或營銷機會。相反,它是一種開放的技術性均衡,在這種均衡中,知識和金融價值得以交換。在這樣一個以開源爲主導的未來,我希望能夠做到:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"numberedlist","attrs":{"start":null,"normalizeStart":1},"content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":1,"align":null,"origin":null},"content":[{"type":"text","text":"選擇好開源許可、治理模型、資助模型,然後通過點擊“創建”按鈕來啓動一個開源項目,以一種開放的方式獲得所有必需的基礎設施。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":2,"align":null,"origin":null},"content":[{"type":"text","text":"我希望所選擇的治理模型是基於現有的最佳實踐,爲人們所熟知,並能夠向社區提供某些保證(如開源許可)。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":3,"align":null,"origin":null},"content":[{"type":"text","text":"我希望治理模型是可執行的、強制性的和可自動審計的(通過開放源碼技術,如智能合約)。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":4,"align":null,"origin":null},"content":[{"type":"text","text":"我希望不僅能看到項目的提交次數,也能看到累積的資金,以及未來的變現承諾。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":5,"align":null,"origin":null},"content":[{"type":"text","text":"我希望不僅能看到用於克隆項目源代碼的git URL,也能看到用於驗證項目資金的智能合約地址。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":6,"align":null,"origin":null},"content":[{"type":"text","text":"我不僅想看到發行計劃和路線圖,還想看到資金的發行時間表以及打算如何使用它們。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":7,"align":null,"origin":null},"content":[{"type":"text","text":"我不僅希望看到編程語言的細分情況,還希望看到資金分配的細分情況。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":8,"align":null,"origin":null},"content":[{"type":"text","text":"我不僅希望看到軟件基金會關注開源項目的技術發展,也希望看到基金會對開源項目的經濟情況負責。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":9,"align":null,"origin":null},"content":[{"type":"text","text":"我希望看到新的金融軟件基金會能夠專注於開源項目的培訓、發展、維護、盈利和資助。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":10,"align":null,"origin":null},"content":[{"type":"text","text":"我希望看到這些基金會之間相互競爭,出現新的成功的開源項目。我希望看到基金會從成功的項目中獲得資金支持,而不是反過來。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":11,"align":null,"origin":null},"content":[{"type":"text","text":"我希望看到項目支持者因爲願意冒險支持一個項目而得到經濟上的激勵。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":12,"align":null,"origin":null},"content":[{"type":"text","text":"我希望看到項目從孵化中畢業不僅是因爲有足夠的貢獻者,也因爲有足夠的資金可以支撐幾個月或幾年。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":13,"align":null,"origin":null},"content":[{"type":"text","text":"我不僅希望能夠看到社區的活躍指標,也希望能夠看到財務的活躍指標,這些指標可以指示資金不足的項目需要激勵用戶籌集資金,防止維護人員轉到其他項目去。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":14,"align":null,"origin":null},"content":[{"type":"text","text":"我希望看到開發人員加入項目社區不僅是因爲技術有趣,也因爲項目有慷慨的資金模式。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":15,"align":null,"origin":null},"content":[{"type":"text","text":"我希望看到公司將目標和結果導向的資金分配到特定的開源項目中,而不是僅僅出於營銷的目的爲基金會提供贊助。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":16,"align":null,"origin":null},"content":[{"type":"text","text":"我不僅希望看到偶爾的捐款,還希望看到鎖定時間的資金,用於有針對性的項目需求,如文檔、測試、培訓、社區發展等。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":17,"align":null,"origin":null},"content":[{"type":"text","text":"我不僅希望能夠在項目用戶列表中看到公司的名字,也希望能夠在財務支持者列表中看到他們的名字。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":18,"align":null,"origin":null},"content":[{"type":"text","text":"我不僅希望看到公司的員工保留計劃,也希望看到公司在開源保留計劃上的投入。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":19,"align":null,"origin":null},"content":[{"type":"text","text":"我希望看到能夠基於社區成員爲一個項目所做的工作來衡量他們的聲譽。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":20,"align":null,"origin":null},"content":[{"type":"text","text":"我希望看到一種對價值和資金分配的自動度量以及以此爲基礎的治理。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":21,"align":null,"origin":null},"content":[{"type":"text","text":"我希望看到治理規則能夠控制項目資金,並且只由有能力的人來執行。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":22,"align":null,"origin":null},"content":[{"type":"text","text":"我希望看到公司能夠安全、透明地支持開源項目,並將其作爲項目指標的一部分,當我決定是否加入一個開源項目時,就可以做出更明智的決定。"}]}]}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"結論"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"我知道“開源”原本並不包含軟件的治理、社區和融資。但今天,這些是開源項目的關鍵特徵,它們會間接影響用戶的自由和長期利益。一個完全開源的項目需要一個更全面的視角,不僅僅是開放源代碼,不僅僅是開放開發方法,不僅僅是一個營銷機會,不僅僅是一個增加銷量的路線圖。所有這些都應該是公開管理的,到了那個時候,它們將成爲一種去中心化的帶有開放治理和開放資金的開源軟件。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","text":"原文鏈接:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"link","attrs":{"href":"https:\/\/monetize.substack.com\/p\/a-holistic-vision-of-open-source","title":null,"type":null},"content":[{"type":"text","text":"https:\/\/monetize.substack.com\/p\/a-holistic-vision-of-open-source"}]}]}]}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章