国内 Top 开源项目深度解读

最受欢迎的国产开源项目都是什么模样?选用什么开源协议?使用哪种语言?实现了什么功能?

我们选取了码云 Gitee 平台 144 个优质开源项目,为你深入剖析国内 Top 开源项目。

(项目选取标准:入选 GVP——码云年度最有价值开源项目计划,或获得超过 1000 个 star。)

1.开源协议(license)分布——宽松型是首选

图0:国内 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%。

图1:国内 Top 开源项目深度解读

规则与约束是实现真正自由的前提,开源崇尚“自由、开放、分享”,更需要大家自觉遵守规则,才能实现更高的效率。

码云在此呼吁广大开源作者善用开源协议,让开源项目的发展更加规范和健康,关于如何选择开源协议,可以参考这里。

2.编程语言分布——Java 一骑绝尘

图2:国内 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 开源项目之与码云全站开源项目语言分布对比

图3:国内 Top 开源项目深度解读

3. 应用功能分类——百花齐放、需求导向

项目的功能属性是实现价值的关键,在一定时期内的受欢迎程度往往与市场需求的变化紧密相关。

图4:国内 Top 开源项目深度解读

从上图中我们可以看到 Web开发框架、后台管理框架、新零售/网店/商城、企业管理系统、支付开发包占据了较大的比例,这也表明了目前市场的业务需求现状。微信开发包、越来越火的微服务也进入了前 15 名,只要你的项目解决了某一个领域的实际问题,都能够得到开发者们的认可。

目前,码云上的开源项目仍是以应用型软件项目为主,有关算法等偏数学类的项目、有关硬件的开源项目还比较少。随着技术的快速更迭,我们期待会有更丰富的开源项目涌现。

4.项目贡献者分布——拥抱社会化协作

本次参与统计的 144 个 Top 开源项目中,不少于 5 个贡献者的项目占到 73% 。越来越多的开发者选择社区化协作,而不是单打独斗。

开源需要一种开放和包容的心态,GitHub 之所以伟大,是因为它变革了开源项目的协作方式。这也是码云的初心——为本土开发者提供更好用的社会化协作的工具。

5.捐赠(打赏)情况

打赏应该是大家对开源项目表达支持最简单和直接的方式,在本次参与统计的 144 个 Top 开源项目受捐赠情况如下:

图5:国内 Top 开源项目深度解读

除去有约 23% 的开源项目未接受过任何捐赠(可能主要因为作者未开通捐赠功能),大部分开源项目都收到了广大开发者的“打赏”支持,其中最多的分布在 11-50 笔捐赠中,占比约 35%。

当然,开源精神远不止于此,是否打赏、打赏多少,都是个人的自由:)

6. 项目年龄分布

码云Gitee 上这些 Top 开源项目做了多久才有现在的成绩呢?

图6:国内 Top 开源项目深度解读

5 岁以上的开源项目有 3.5%,他们在码云创立之初就已加入,比如 Jfinal 。1-2 年岁的开源项目所占比例相对较高,超过 30%。

随着码云上越来越多的开发者加入到开源的行列,以及互联网和自媒体的迅速发展,项目的成长速度也在加快。我们希望为优秀的项目提供更多展示和曝光的机会,GVP —— 码云最有价值开源项目计划,就是秉承着这样的初衷而启动的。

7. 综合排名前七榜

综合 Star、Fork、Watch 三项数据,前七强选手:

图7:国内 Top 开源项目深度解读

注:统计截止 2018 年 6 月上旬

前七的综合实力有目共睹,当然,码云上也有许多小众但优质的项目,也非常精彩。点击发现更多

欢迎更多的开发者加入码云,发挥自己独特的创造力,参与开源。

我们也会更加努力打磨产品,让码云成为你们的品质之选:)

余下全文(1/3)
分享这篇文章:

请关注我们:

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注