天天看點

關于開源,關于 GitHub, 關于 Android

首先看兩張圖

關于開源,關于 GitHub, 關于 Android
關于開源,關于 GitHub, 關于 Android

第一張是 2007-2013 年全球智能手機增長曲線,第二張是 2008-2013 年​ github 上開源項目總數的增長曲線,大家注意看下 android 裝置增長曲線和 github 增長曲線,我不确定兩者是不是有一定聯系,但我經常告訴 andorid 開發的小夥伴們他們比 ios 開發幸福,因為 android 開源,因為 java 開源。

關于這個問題年中我吐槽過,如下

關于開源,關于 GitHub, 關于 Android

關于開源,關于 GitHub, 關于 Android

不出意外元旦後這個項目就有第一期的産出,感謝幾十位辛苦優秀的小夥伴們,你們是最棒的。

那麼說下我對開源庫選擇的考慮

謹慎使用 gpl 協定,gpl 協定規定使用了該開源庫的代碼也必須遵循 gpl 協定,即開源和免費。更多請大家自己 google “gpl bsd apache mit license”。

必須能駕馭該庫,這就要求必須了解該庫的實作原理,關于這點請任何人不要跟我争辯。

功能是否能滿足業務需求,是否足夠穩定(穩定性測試)、文檔是否齊全、擴充性是否足夠。

性能要求較高庫需要性能對比測試。

a. 個性化業務帶來的修改

請盡量使用 wrap 方式,而不要直接改源碼。實在繞不開,請在 git 上打上 tag,并注明詳細原因。

b. 通用需求的修改

請按源項目要求修改代碼,并送出 pr,回報回開源社群,請求合并進主分支。

源代碼修改原則隻有一個不要讓你 clone 的副本脫離開源廣袤的大陸,變成孤島。

github 現在四五百 star 的開源項目很水的多的是,對于一個項目大家可以更多關注 contributors、commits、pull requests、issues、fork 個數。

合适的檔案指的是要有自己的 gitignore,合适的代碼是指代碼要符合代碼規範(如很簡單的四空格縮進很多 java 開源項目都做不到)。

readme.md 是一個項目必不可少的,其中要求示例、文檔、引用方式、開源的 licence 齊全。對 android 來說示例可能包括 demo apk、截圖。引用方式可以是 maven 和 gradle 引用方式。

總有很急的 bug 需要 github issue 外的即時溝通。

聲明開源協定。同時請大家遵守開源精神,遵守其他人的勞動成果,如果有借鑒或是部分拷貝其他開源庫,請在明顯地方聲明感謝!

歡迎大家讨論吐槽,一起把開源做的更好。

繼續閱讀