成功運作一個開源專案的 15 個要點
本文由碼農網 – 小峰原創翻譯,轉載請看清文末的轉載要求,歡迎參與我們的付費投稿計劃!
運作開源專案很容易。所有你需要做的就是讓你的原始碼可用和開源,對吧?嗯,也許。其實,開源專案是否成功取決於你對專案成功的定義。且不論你是怎麼定義的,建立開源專案需要大量的工作。如果你已經有了目標,那麼你需要準備投資。雖然開源軟體是免費的,但它的創作卻不是免費的:你需要往專案中投入時間和精力等寶貴資源。
那麼,你如何投資這些資源?
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
英文原文:Running a Successful Open Source Project
翻譯作者:碼農網 – 小峰
[ 轉載必須在正文中標註並保留原文連結、譯文連結和譯者等資訊。]
相關文章
- 成功接專案需要注意的幾個要點
- 如何才能運作好一個開源專案?
- 2012年最成功的十個開源專案大盤點
- 建立一個成功的App前要考慮的5個要點APP
- 如何發起並運營一個開源專案
- 運作開源專案的一些經驗
- 15個很有趣的開源專案推薦
- 如何讓第一個試點Scrum專案成功Scrum
- 開源一個文字分析專案
- 如何熟悉一個開源專案?
- 一個檔案的開源專案,開啟你的開源之旅
- 企業開源指南:建立一個開源專案
- 專案進度管理的三個要點
- 怎樣做好一個開源專案
- 開源一個機器學習文字分析專案機器學習
- 一個普通工程師,開源專案前要考慮什麼?工程師
- 資深專案經理丨幾個要點揭示成功專案大綱是怎樣制定的
- 找個開源專案
- Web開發人員應當知道的15個開源專案Web
- 發現一個開源專案優化點,點進來就是你的了優化
- 介紹 Moby 專案:推進軟體容器化運動的一個新的開源專案
- 企業開源指南:啟動一個開源專案
- 一個成功的專案 需要大家多包容
- 打造一個成功的專案經理(轉)
- BOT專案成功運作的關鍵因素(轉)
- 如何去參與一個開源專案
- 我寫了一個開源專案AlphabetPyAlphabet
- [譯]過去一個月最 ? 的 10 個 Swift 開源專案Swift
- Python開源專案大集合:15個領域,181個專案 | 硬核乾貨Python
- 一個令人驚豔的ChatGPT專案,開源了!ChatGPT
- PlantUML 是繪製 uml 的一個開源專案
- 2015年值得參與的5個開源專案
- 專案經理成功管理8要點(轉)
- 5個造福世界的開源專案
- 這個專案要多久開發完成?
- 開源專案推薦:提高研發效率的5個開源專案
- 開源一個線上專案 WeAre-AR相簿
- 記錄一個開源專案排名網站網站