成功運作一個開源項目的 15 個要點

運作開源項目很容易。所有你需要做的就是讓你的源代碼可用和開源,對吧?嗯,也許。其實,開源項目是否成功取決於你對項目成功的定義。且不論你是怎麼定義的,創建開源項目需要大量的工作。如果你已經有了目標,那麼你需要準備投資。雖然開源軟件是免費的,但它的創作卻不是免費的:你需要往項目中投入時間和精力等寶貴資源。

640?wxfrom=5&wx_lazy=1

那麼,你如何投資這些資源?

1、定義成功

在考慮運作開源項目之前,你需要明確定義成功的意義。這裏有很多因素要考慮。只將代碼放入可公開訪問的存儲庫就可以了,還是說你想對你的項目做更多?合作與採用對你來說重要嗎?你只是爲了打造作爲一名軟件開發者的聲譽嗎?你對成功的定義是否包括長期的可行性?你想圍繞這個項目發展一個社區嗎?你關心商業採用嗎?你對這些問題的回答可以幫助你確定接下來你需要採納的建議有多少。

2、透明

這一點很容易理解:我們要使得社區可以觀察和了解你正在做的事情:使用易於查找的可公開訪問的源代碼存儲庫,使用面向公衆的問題跟蹤軟件,在社區可以找到的地方公佈發佈計劃,以及在公共論壇捕獲會議記錄(例如歸檔郵件列表)。

3、開放

對於很多開源項目來說,“透明度”和“開放性”意味着同一件事,但其實這兩個術語的含義截然不同。開放不僅僅指的是“一目瞭然”(這與透明本質上是一樣的)。對於許多人來說,開源的“開放”意味着開放新思想,或開放參與。參與開源項目的規則對於每個人應該是一樣的(“公平的競爭環境”):僅僅接受幾個補丁是不夠的,你必須對新的思路點子開放。總之,你必須允許別人參與你的項目,放棄對項目的絕對控制。

4、保持“公平的競爭環境”

這並不一定意味着你必須讓任何人加入項目,而是要確保每個人適用同樣的規則(環境可能是公平的,因此你需要用自己的方法勝出)。英才制度意味着你需要用自己的方式脫穎而出。有些項目實施英才制度,例如,在邀請開發者加入項目團隊之前,通過要求他們作出一些貢獻,以表明他們瞭解項目的代碼、規則和文化。確保增加新的開發人員到項目中的過程是衆所周知的,並且這些流程是透明的(例如公開投票)。

5、供應商中立

爲了實現真正的開放,開發者需要大家認可他們的貢獻。如果項目是供應商中立的,那麼這更容易實現。供應商中立的項目不由任何組織或機構主導;英才制度應以個人的貢獻爲基礎,不能基於任何特定組織的目標或招聘方法。在供應商中立的基礎上託管是實現此目標的一種方式。

6、有良好的定義和文件標準

文檔化項目的代碼格式規則(使代碼格式化預設易於訪問),對測試覆蓋面、開發方法、軟件和所需工具的期望,與項目團隊聯繫的渠道以及針對潛在貢獻者的其他重要信息。抓取所有這些信息,使其儘可能容易被發現。在項目源代碼存儲庫的根目錄中包含一個貢獻指南是一個很好的做法(通過DVCS,潛在的貢獻者將找到存儲庫副本的副本;存儲庫中的貢獻指南可以讓潛在的貢獻者輕鬆找對致力於項目的途徑)。

7、確保項目代碼始終可構建

項目代碼包含構建腳本和說明。使其儘可能容易地構建成功和測試項目代碼。

8、與用戶社區聯繫

用戶社區是使用開源項目產品的一羣人。用戶社區很少直接向項目代碼貢獻任何東西,但卻往往會提出很多問題。確保這些問題得到回答。健康的用戶社區可以爲採用者社區提供信息。

9、與採用者社區聯繫

開源項目取得成功的一個明顯跡象是,其他組織開始在他們自己的產品中使用或構建擴展你的開源項目。此社區更有意願反饋項目,這將是項目最好的貢獻來源。有些貢獻者甚至將是加入項目團隊的絕佳候選人。開發採用者和擴展者的生態系統是延長項目使用壽命的好方法。

10、與開發社區聯繫

開發社區由項目團隊成員和貢獻者組成。爲社區內的溝通提供衆所周知的渠道。明確的溝通渠道將有助於開發人員的合作。

11、有計劃

很容易就會陷入只專注軟件開發的模式,但和任何進程(特別是軟件開發過程)一樣,有些極致的方法至關重要。確保你的項目採用開發方法,並且有人擁有該流程(例如項目負責人)。制定計劃可以幫助開發人員知道他們在哪裏可以貢獻最大的價值,並使採納者和擴展者更容易實現他們自己的計劃(從而取得成功)。像對待任何其他軟件開發項目一樣地對待你的開源項目。

12、管理品牌

你的項目將有一個品牌。項目的名稱是其身份;項目logo以及任何產品的名稱也是如此(開源項目的產品通常與項目共享名稱,但有些項目會生產多個產品)。聲明項目的品牌爲商標,並考慮註冊商標。制定商標使用指南,以便採用者知道如何使用此品牌。這是一個與開源軟件基金會合作可以增值的領域。基金會可以代表社區持有和捍衛項目的商標。這可以避免任何特定的個人或組織劫持開源項目的名稱。

13、管理知識產權和版權

爲項目作出貢獻的代碼、文檔和其他工件都是知識產權。誰是這些知識產權的擁有者呢?作者保留所有權還是指派給了另一個實體?確保所有的貢獻者理解貢獻者的權利和責任。考慮讓貢獻者簽署開發者原×××書(DCO)或貢獻者許可證協議(CLA)。確保版權聲明包含在源代碼和通知中。

請注意,項目本身不可能作爲持有版權的法律實體。這是另一個開源基金會可以提供有價值的服務的地方。

14、選擇OSI認可的開源許可證

不要創建你自己的自定義許可證;這將爲任何想要使用你代碼的人增加法律障礙。確保你選擇的許可證與你打算使用代碼的方式兼容。此外,請確保許可證與你的項目代碼所需的任何第三方內容(例如庫)兼容。在所有源文件的標題中包含許可證的SPDX代碼。

15、將項目移到開源基金會

前面已經提到過幾次基金會。基金會首先可以幫助你保持項目供應商中立,這將有助於採用:開源軟件的魅力大多是因爲採用者可以避免被某個特定組織所關注。基金會可以堅持和保衛項目的商標,建立治理模式,幫助你管理品牌,提供知識產權管理服務,併爲運營成功的開源項目提供常用的幫助和建議。成爲開源基金會的一部分可以提供有價值的反饋循環。基金會可以爲你的開源項目提供可信度,然後,開源項目反過來可以爲基金會提供公信力。

運作開源項目包含很多工作。但是,正如我們所建議的,它所需要的工作量取決於你對項目成功的定義。總而言之,開放源碼開發的核心原則:透明度,開放性和英才制度。其他一切都由此衍生。

譯文鏈接:http://www.codeceo.com/article/15-tips-run-success-os-project.html

英文原文:https://dzone.com/articles/running-a-successful-open-source-project-1

翻譯作者:碼農網 – 小峯

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章