国内 Top 开源项目深度解读
最受欢迎的国产开源项目都是什么模样?选用什么开源协议?使用哪种语言?实现了什么功能?
我们选取了码云 Gitee.com 平台 144 个优质开源项目,为你深入剖析国内 Top 开源项目。
(项目选取标准:入选 GVP——码云年度最有价值开源项目计划,或获得超过 1000 个 star。)
1.开源协议(license)分布——宽松型是首选
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% 。
规则与约束是实现真正自由的前提,开源崇尚“自由、开放、分享”,更需要大家自觉遵守规则,才能实现更高的效率。
码云在此呼吁广大开源作者善用开源协议,让开源项目的发展更加规范和健康,关于如何选择开源协议,可以参考。
2.编程语言分布——Java 一骑绝尘
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 开源项目之与码云全站开源项目语言分布对比
3. 应用功能分类——百花齐放、需求导向
项目的功能属性是实现价值的关键,在一定时期内的受欢迎程度往往与市场需求的变化紧密相关。
从上图中我们可以看到 Web开发框架、后台管理框架、新零售/网店/商城、企业管理系统、支付开发包占据了较大的比例,这也表明了目前市场的业务需求现状。微信开发包、越来越火的微服务也进入了前 15 名,只要你的项目解决了某一个领域的实际问题,都能够得到开发者们的认可。
目前,码云上的开源项目仍是以应用型软件项目为主,有关算法等偏数学类的项目、有关硬件的开源项目还比较少。随着技术的快速更迭,我们期待会有更丰富的开源项目涌现。
4.项目贡献者分布——拥抱社会化协作
本次参与统计的 144 个 Top 开源项目中,不少于 5 个贡献者的项目占到 73% 。越来越多的开发者选择社区化协作,而不是单打独斗。
开源需要一种开放和包容的心态,GitHub 之所以伟大,是因为它变革了开源项目的协作方式。这也是码云的初心——为本土开发者提供更好用的社会化协作的工具。
5.捐赠(打赏)情况
打赏应该是大家对开源项目表达支持最简单和直接的方式,在本次参与统计的 144 个 Top 开源项目受捐赠情况如下:
除去有约 23% 的开源项目未接受过任何捐赠(可能主要因为作者未开通捐赠功能),大部分开源项目都收到了广大开发者的“打赏”支持,其中最多的分布在 11-50 笔捐赠中,占比约 35%。
当然,开源精神远不止于此,是否打赏、打赏多少,都是个人的自由:)
6. 项目年龄分布
码云 Gitee 上这些 Top 开源项目做了多久才有现在的成绩呢?
5 岁以上的开源项目有 3.5%,他们在码云创立之初就已加入,比如 Jfinal 。1-2 年岁的开源项目所占比例相对较高,超过 30%。
随着码云上越来越多的开发者加入到开源的行列,以及互联网和自媒体的迅速发展,项目的成长速度也在加快。我们希望为优秀的项目提供更多展示和曝光的机会,GVP —— 码云最有价值开源项目计划,就是秉承着这样的初衷而启动的。
7. 综合排名前七榜
综合 Star、Fork、Watch 三项数据,前七强选手:
注:统计截止 2018 年 6 月上旬
前七的综合实力有目共睹,当然,码云上也有许多小众但优质的项目,也非常精彩。点击发现更多
欢迎更多的开发者加入码云,发挥自己独特的创造力,参与开源。
我们也会更加努力打磨产品,让码云成为你们的品质之选:)
from:https://blog.gitee.com/2018/06/13/pro_depth_analysis/