怎样维护成功的开源项目
開源可不僅僅是將代碼扔到網上就萬事大吉了,將開源項目變成能讓自己引以為豪的東西才算成功。那么,你需要注意哪些方面呢?
寫好指導性文字
每一個開源項目有三樣東西是少不了的:項目目標和方法的簡要說明、如何參與和授權許可。最好把它們預先放在一個README文件里。
我還喜歡加入一個名為“組織和理念”的部分,概括項目如何構成,各個東西都在哪兒,代碼是怎樣寫的,需要哪些類型的測試,性能與簡潔性怎么平衡。(詳見案例unstdlib.py)
接下來是“貢獻”部分,要說清楚開發(fā)者怎樣開始參與項目,以及將代碼成功合并進項目的所有步驟。urllib3的貢獻部分,已經被其他好幾個項目采用了。
最后,每一個開源項目需要有一個授權許可,如果沒有許可,那就意味著版權屬于開發(fā)者,其他人需要明確的許可才能使用。
態(tài)度
對待用戶和貢獻者有好的態(tài)度是至關重要的,偶爾會有類庫用戶誤闖到你的問題跟蹤器里,并且很愚蠢的在文檔編制里寫了命令。那該怎么辦?
1.你可能會斥責用戶,因為他們的魯莽行為浪費了你很多時間。
2.你也可以耐心的向用戶解釋他們所誤解的,一旦他們進一步理解問題,那么邀請他們發(fā)送一個pull請求為其他用戶改善文件編制。
有些團隊可能因為某些原因選擇第一種態(tài)度,也許是因為他們覺得維護人員做的是一件吃力不討好的工作,還要承擔丟失貢獻者的責任。不過先來檢查一下這兩種態(tài)度所帶來的效果。
當你責怪用戶的時候,毫無疑問會丟失用戶,還意味著丟失了他成為你的貢獻者的可能性,說不定這種影響會傳播到其他人那里,一傳十十傳百,別人可能真的認為你的文件編制里有問題。這無異于搬石頭砸自己的腳。
但只要你有足夠的耐性,禮貌待人,鼓勵他們?yōu)轫椖砍隽?#xff0c;他們就會很有斗志。說不定他們就能在項目上做出重大影響,徹底改變現(xiàn)狀。
在工作中保持良好的態(tài)度可能是比較難的一部分,因為每個維護人員的情況是不一樣的,但是,禮貌、積極和進步是至關重要的。不僅僅是對于你和項目,還有整個團隊。
營銷
也許你能寫出最有用最完美的代碼并實現(xiàn)代碼運行,但是你對技術社區(qū)的貢獻會因為你允許人們重復使用你的代碼而無限放大。
找到你的項目,站在SEO的位置思考整個項目,為項目選取一個帶有重要關鍵詞的相關名稱。README里的項目描述和第一段應該是項目的簡單總結,里面所有的重要關鍵詞都是之前人們所搜索的。
urllib3——帶有線程安全連接池的Python HTTP類庫,支持文件公布,智能友好等等。
Python,HTTP類庫,線程安全,連接池,文件公布,這些都是當人們遇到要使用Python的標準HTTP類庫(urllib、urllib2、httplib)的時候所需要的。
一旦準備好了README,就要確保能夠生成一些文檔。發(fā)布在Read the Docs將是一個很好的選擇。包括一些代碼樣本和便于采納的詳細菜單。
為你的受眾提供技術支持,建立一些StackOverflow警報過濾器,甚至可以過濾掉谷歌的奇怪論壇警報。如果你推自己的軟件,這個警報會幫助你添加一個你就是開發(fā)者的免責聲明。
考慮合作關系,為框架編寫一個可以使用你自己工具的插件,并觀察這些工具能否將框架連接到README。兩年前,我和Kenneth Reitz在不同的場合進行交談之后,我們決定合作。雖然urllib3已經是非常流行的Requests類庫的核心,但遠遠落后于當時的httplib2。當我和Kenneth Reitz合作之后,我們兩個團隊的成果遠超出了我們的想象。此時,在我們的合作之間建立明確的規(guī)則和界線是非常重要的,這個規(guī)則后來也幫我們在合作當中建立了深厚的友誼和相互尊重打下了基礎。
充足的時間,我的一個比較受歡迎的項目花了至少一年的時間。這在營銷人員看來是懶散的表現(xiàn),但如果你按照文章里說的那樣去做,正確的完成每一件事,那么營銷人員會不請自來。
技術社區(qū)
想要一個人做完所有的事是很難的,特別是很多人都期待著你能拿出好的作品。
抓住任何一個機會尋找pull請求。集思廣益的力量是無窮大的,所以無論何時何地我都會向技術社區(qū)的成員尋求意見,他們常常說的RFC我從來沒聽過,甚至有的時候他們會主動研究前端主題。
大膽尋求幫助,我本打算花數小時致力于開源工作,但有時候日程安排忽略了或是我忘記了關于pull需求。我鼓勵人們參與并在我需要更多的人參與的時候提醒我。在更復雜的分支,它有助于要求志愿者代替維護人員來處理這個問題,直到它準備好合并。
盡可能的自動化,去年,我們?yōu)閡rllib3設置了100%的測試覆蓋規(guī)則,這使得我們的項目維護更加簡單。任何功能都必須經過測試,否則它可以在沒有通知的情況下被刪除。這意味著每一個pull請求必須在合并之前完全測試。
維護貢獻者列表,提醒并邀請貢獻者把他們自己添加到列表里,即使他們做的事情微不足道。幾個字節(jié)的存儲庫不花費你任何東西,這和他們因得到認可而產生的自豪感是無法比擬的。
找到樂趣
Andrey Petrov從事與HTTP和urllib3相關的的工作已經數年了,但仍然堅持維護開源項目,因為他喜歡技術社區(qū),并在開源項目中感覺到自豪。他最后強調,工作中盡最大的努力,并為自己的工作而驕傲,有些人可能會欣賞你,有些人卻不會。最后總會有人感激你為開源社區(qū)所做的積極有效的貢獻。
原文:Medium
中文原文:怎樣維護成功的開源項目
轉載于:https://www.cnblogs.com/shanyou/p/3172949.html
總結
以上是生活随笔為你收集整理的怎样维护成功的开源项目的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: network重启失败原因
- 下一篇: 忙人的~告~白