06.18 國內 Top 開源項目深度解讀

最受歡迎的國產開源項目都是什麼模樣?選用什麼開源協議?使用哪種語言?實現了什麼功能?

我們選取了碼雲 Gitee.com 平臺 144 個優質開源項目,為你深入剖析國內 Top 開源項目。

(項目選取標準:入選 GVP——碼雲年度最有價值開源項目計劃,或獲得超過 1000 個 star。)

1.開源協議(license)分佈——寬鬆型是首選

國內 Top 開源項目深度解讀

1.1 寬鬆式協議是首選,Apache-2.0 佔比 45.14%

Apache-2.0 是碼雲Gitee 上開源作者的首選,佔到了 45.14%,JFinal 、t-io、iBase4J 等正是採用此協議。另一個則是 MIT,佔比 17.36%,zheng、layui 等正是此類代表。

寬鬆式協議允許用戶任意使用軟件,從而確保大家能從軟件中得到最多的利益。

Apache-2.0 是寬鬆式協議(permissive license)的代表,它還包含了貢獻者向用戶提供專利授權相關的條款,使用 Apache-2.0 的知名軟件有 Android、 Apache、Swift 等。

MIT 協議幾乎對用戶沒有什麼限制,只要保留版權聲明和許可聲明且不要求開發者承擔責任,這也成為其深受歡迎的重要原因,國際上使用 MIT 協議的知名軟件有 JQuery、.NET Core 、Rails 等。

1.2 限制式協議 LGPL、GPL、AGPL 緊隨其後

LGPL、GPL、AGPL 這三項協議的採用佔比為 2.78%、8.35%、1.39%,它們的限制性由弱到強,分別規定:

如果項目採用動態鏈接調用 LGPL 許可協議的庫,項目可以不用開源;

如果項目包含了 GPL 協議的代碼,那麼整個項目都必須使用 GPL 許可協議;

如果雲服務(即 SAAS)用到的代碼是 AGPL 許可協議,那麼雲服務的代碼也必須開源。

限制式協議的初衷是幫助開源項目獲得成功,從條款上進行了詳細的限制,防止部分開發者修改代碼卻不回饋社區的情況。但凡事皆有兩面,高複雜性的許可協議,不僅限制了他人,也會限制作者自身,或許這種風險正是從限制式協議到寬鬆式協議轉變的原因。

1.3 對開源許可協議的認知和應用有待提升

在參與統計的 144 個 Top 開源項目中,未選擇開源協議的項目佔到了 24.31%;在碼雲推薦過的 7000 多個開源項目中,未選擇開源協議的佔比 43.95% ;而在碼雲上所有的開源項目中,這一數據擴大到了 77.12% 。

國內 Top 開源項目深度解讀

規則與約束是實現真正自由的前提,開源崇尚“自由、開放、分享”,更需要大家自覺遵守規則,才能實現更高的效率。

碼雲在此呼籲廣大開源作者善用開源協議,讓開源項目的發展更加規範和健康,關於如何選擇開源協議,可以參考這裡。

2.編程語言分佈——Java 一騎絕塵

國內 Top 開源項目深度解讀

2.1 Java 類項目佔據半壁江山,高達 65.73%

Java 類編程語言在 Top 開源項目中可以說遙遙領先,佔到 65.73%。包括了 guns、nutz、jeecg 等優質的開源項目,此類框架式的項目受到了眾多開發者的喜愛。

Java 到 2018 年已經有 22 年的歷史了,它在實用性、性能、向後兼容性以及跨平臺性等方面都有著優秀的表現,在技術快速更迭的今天,往後的十年甚至二十年 Java 是否能一直保持這種優勢呢?讓我們拭目以待。

2.2 PHP 和 JavaScript 位列第二梯隊

在碼雲 Gitee 2017 年度報告中,Java、PHP、JavaScript 編程語言的開源項目正以 165% 的速度在增長,緊隨微信和 Docker 之後。而在本次參與統計的 144 個 Top 開源項目中,PHP 項目佔比 13.29%,JavaScript 項目佔比 5.59%。

PHP 和 JavaScript 類開源項目的快速增長說明了本土市場的需求,尤其是微信生態的迅猛發展也是中國特有的,把握時代的需求是廣大開發者的必備素養。

2.3 國內 Top 開源項目之與碼雲全站開源項目語言分佈對比

國內 Top 開源項目深度解讀

3. 應用功能分類——百花齊放、需求導向

項目的功能屬性是實現價值的關鍵,在一定時期內的受歡迎程度往往與市場需求的變化緊密相關。

國內 Top 開源項目深度解讀

從上圖中我們可以看到 Web開發框架、後臺管理框架、新零售/網店/商城、企業管理系統、支付開發包占據了較大的比例,這也表明了目前市場的業務需求現狀。微信開發包、越來越火的微服務也進入了前 15 名,只要你的項目解決了某一個領域的實際問題,都能夠得到開發者們的認可。

目前,碼雲上的開源項目仍是以應用型軟件項目為主,有關算法等偏數學類的項目、有關硬件的開源項目還比較少。隨著技術的快速更迭,我們期待會有更豐富的開源項目湧現。

4.項目貢獻者分佈——擁抱社會化協作

本次參與統計的 144 個 Top 開源項目中,不少於 5 個貢獻者的項目佔到 73% 。越來越多的開發者選擇社區化協作,而不是單打獨鬥。

開源需要一種開放和包容的心態,GitHub 之所以偉大,是因為它變革了開源項目的協作方式。這也是碼雲的初心——為本土開發者提供更好用的社會化協作的工具。

5.捐贈(打賞)情況

打賞應該是大家對開源項目表達支持最簡單和直接的方式,在本次參與統計的 144 個 Top 開源項目受捐贈情況如下:

國內 Top 開源項目深度解讀

除去有約 23% 的開源項目未接受過任何捐贈(可能主要因為作者未開通捐贈功能),大部分開源項目都收到了廣大開發者的“打賞”支持,其中最多的分佈在 11-50 筆捐贈中,佔比約 35%。

當然,開源精神遠不止於此,是否打賞、打賞多少,都是個人的自由:)

6. 項目年齡分佈

碼雲 Gitee 上這些 Top 開源項目做了多久才有現在的成績呢?

國內 Top 開源項目深度解讀

5 歲以上的開源項目有 3.5%,他們在碼雲創立之初就已加入,比如 Jfinal 。1-2 年歲的開源項目所佔比例相對較高,超過 30%。

隨著碼雲上越來越多的開發者加入到開源的行列,以及互聯網和自媒體的迅速發展,項目的成長速度也在加快。我們希望為優秀的項目提供更多展示和曝光的機會,GVP —— 碼雲最有價值開源項目計劃,就是秉承著這樣的初衷而啟動的。

7. 綜合排名前七榜

綜合 Star、Fork、Watch 三項數據,前七強選手:

VIA:碼雲。如有侵權,請聯繫刪除。


分享到:


相關文章: