前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >国内 Top 开源项目深度解读

国内 Top 开源项目深度解读

作者头像
码云Gitee
发布2018-07-05 17:41:53
1.1K0
发布2018-07-05 17:41:53
举报
文章被收录于专栏:开源项目

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

我们选取了码云 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 名,只要你的项目解决了某一个领域的实际问题,都能够得到开发者们的认可。

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

5. 捐赠(打赏)情况

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

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

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

6. 项目年龄分布

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

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

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

7. 综合排名前七榜

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

名次

Star 数

Fork 数

Watch 数

项目名

1

11.6k

5.4k

5.6k

zheng

2

9k

3.6k

3.4k

SpringBoot-Learning

3

6.2k

3.2k

2.9k

JFinal

4

6.3k

3.1k

2.7k

iBase4J

5

4.5k

2.8k

2.3k

JeeSite

6

4.7k

2.4k

1.8k

guns

7

4k

2.1k

2.1k

MCMS

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

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

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

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-06-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Gitee 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档