一直非常想增加到乙個開源專案中去,目的非常easy:分享思路。接受眾人的考驗,可是卻沒成行。
看到這篇文章。受到一定的啟示。遂轉之。
注:有刪減。
人們常下面3個原因而打消了參與到開源專案的念頭:
1. 我還不足夠優秀
2. 我沒有足夠的是時間
3. 我不知道什麼樣的專案適合我
尋求機會參與到開源專案中去,應該知道的三個基本原則:
1. 專案須要各種能力層次的專業人才。
2. 哪怕是微不足道的貢獻也比沒有好。
3. 從你正在使用的專案作為參與到開源的第一步
某些專案中的成員看起來就像明星。沒錯,他們確確實實是乙個極具天賦的程式猿,然而,他們中的絕大部分不是的。
專案須要的不過那些能把任務完畢的人。有時付出的不需太多,有時須要花大把的時間。有時它就是程式設計。而有時它不是。
下面是一些參與開源專案的建議或者經驗,假設你有興趣,最好還是試試:
0. 增加郵件列表:
對於大多數專案,郵件列表仍然是專案開發溝通基本的渠道。
在乙個規模比較大的專案中通常有非常多郵件列表能夠選擇,比如:postgresql專案就有不少於12個面向使用者的郵件列表和6個面向開發人員的。
我建議你關注最基本的幾個面向使用者郵件列表以及核心的開發人員列表。
1. 關注並編寫部落格:
部落格一般由核心開發人員維護,通常部落格中包括項在未來版本號的一些資訊。
怎樣獲取這些資訊呢?通常乙個星級站點有包括來自非常多相關專案的新聞或者部落格詞條。假設有乙個星級站點,
如: 或者 ,那麼你要做的不過用google搜尋」planet 《專案名》」。
同一時候你也能夠用部落格寫下你使用專案的一些經驗。記錄你碰到的問題及解決辦法。
2. 增加到irc頻道:
很多開源專案都有專門的網際網路中繼聊天(irc)頻道,用來為開發人員和使用者討論開發問題。
細緻查詢專案站點中irc頻道叫什麼。
3. **診斷:
bug通常非常難報告出來,診斷高速處置bug有助於節省開發人員的時間。
假設使用者提出報告:「當我操作xx功能時,系統無法工作」。你得花些時間解決這些問題。
還是不是會反覆出現?比如該類問題是否不過發生在某種瀏覽器不相容?
只在發行版有這種問題還是其他的原因。
4. 關閉已修復的bug:
通常bug在**庫中修復了,可是在問題追蹤系統中還沒更新。
清理掉這些雜亂的東西儘管耗時,可是對整個專案來說是值得的。
5. 測試beta版或者候選版本號:
不論什麼專案設計用於執行在多個平台時就有可能存在各種相容性問題。
當乙個beta版或者候選版公布時,專案帶頭人希望能在不同的人和不同的平台上得到測試反饋結果,你就能夠是當中之中的乙個。
6. 修復bug:
修復bug一般是貢獻者開始接觸**的地方,非常easy,在問題追蹤系統中找到感興趣的bug。修復之,假設合適的話為**的修復撰寫文件。
7. 寫測試:
絕大多數專案都有測試套件用來測試**。非常難想象測試套件中不能附加很多其他的測試在其上。
使用測試覆蓋工具諸如基於c的gcov、基於perl的devel::cover,用來標識原始碼沒法通過測試套件測試到的範圍,然後增加乙個套件覆蓋它。
8. 理性對待編譯警告:
很多基於c專案的構建過程中常常會出現非常多古怪的編譯警告。這些警告通常不是錯誤,可是看起來像,
太多的警告讓編譯器聽起來就像在發假警報,細緻檢查**是否的確隱藏有bug。
9. 附上凝視:
當你在深入研究**時。你可能發現有疑惑的地方。這對你來是乙個機會,別人也可能碰到相同的問題,給他們貼上凝視提交補丁。
10. 建立樣例:
一般專案都沒有太多入門的樣例,無論是web api、普通程式庫、或者是gui應用如gimp、還是命令列工具,
比起長篇的文件,乙個恰當的樣例能夠更清晰更高速解釋軟體的使用方式。
11. 問題回答:
參與到社群最好的方式是幫助別人。回答問題,尤其是那些初次涉及的。這對於乙個專案的成長非常關鍵,
即使你回答不過簡單地」rtfm」(read the fxxk manual)。每乙個人都要行動起來,專案假設要變得強大起來的話每乙個人須要動員起來。
12. 改進站點:
非常多程式猿在圖形設計方面顯得非常糟糕,尤其是那些不能從設計部門得到幫助的專案站點。
假設你有網頁設計方面的技能,最好還是改進下站點。站點作為專案的招牌,是值得花時間的。
也許專案介面須要徹底改造,抑或不過乙個logo,這些是社群缺乏的技能,假設我能提供一些圖形設計上的幫助,別人會非常喜歡的。
有太多的方式參與到開源專案中,哪怕是我們寫乙個新產品的特性的歷史回想。
每乙個使用開源專案的人都能夠把技術帶到社群和幫助開源成為it產業中重要的一部分。
一句話:溝通交流。重在行動。
參與開源專案的6條建議
開源專案是提高自身能力和做你喜歡的事的好方法,有其他專案的實際經驗也能讓你更符合求職要求,給你帶來更多的機會。問題是大家都不知道從 開始。以下6個簡單的提示告訴你如何開始f oss free and open source software 1.參與那些你使用過的開源軟體背後的專案 這很顯然,請不要...
一些Flex開源專案的整理
as3awss3lib 與 amazon s3 互動的 actionscript 3.0 類庫 聲音編輯類庫 為遊戲開發者整理的 as3 資料結構 一組flash遊戲開發的as3類庫。apeactionscript的模擬物理引擎api 用 as3 實現的密碼系統類庫,支援的演算法主要包括 rsa,a...
一些Flex開源專案的整理
as3awss3lib 與 amazon s3 互動的 actionscript 3.0 類庫 聲音編輯類庫 為遊戲開發者整理的 as3 資料結構 一組flash遊戲開發的as3類庫。apeactionscript的模擬物理引擎api 用 as3 實現的密碼系統類庫,支援的演算法主要包括 rsa,a...