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

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

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 月上旬

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

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

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

原文发布于微信公众号 - 码云Gitee(mayunOSC)

原文发表时间:2018-06-13

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏我是攻城师

新浪网/系统架构师饶琛琳:那一年,我毕业了

3484
来自专栏ytkah

小程序内嵌网页的开放是一场创业公司的及时雨吗

  11.2晚小程序突然开放两个重磅能力:1.小程序内可直接打开网页,2.小程序可关联500个公众号。通过研究,我们发现这次新能力的开放,促使小程序推动微信的春...

3405
来自专栏资深Tester

软件测试如何快速入行

1932
来自专栏微信公众号:Java团长

Java程序员涨薪必备技能(1-5年必看!)

工作1-5年,当我们向老板提出加薪的时候,或者跳槽去“捡”offer的时候,我们底气够吗?

851
来自专栏非著名程序员

一文看尽 Google I/O 大会

1132
来自专栏云计算爱好者

简单科普云计算相关内容

云计算将是下一个网络大事件,我们先来看看什么是云计算,以及它究竟怎么工作的,同时它真的安全吗?这些疑问,我们简单地提供一些云计算的概念,让大家了解...

2775
来自专栏Albert陈凯

2018-08-13 如何成为一位「不那么差」的程序员

一个学渣的阿里之路 https://crossoverjie.top/2018/06/21/personal/Interview-experience/

731
来自专栏前端架构

UED团队规范设计参考及建议

公司产品线逐渐增多,变动频繁且并行开发,常常需要设计与开发能够快速的做出响应。同时这类产品中有存在很多类似的页面以及组件,可以通过抽象得到一些稳定且高复用性的内...

9479
来自专栏数据库新发现

拉里·埃里森亲自支招,数据库自动化之后,DBA何去何从?

作者:eygle |English 【转载时请标明出处和作者信息】|【恩墨学院 OCM培训传DBA成功之道】 链接:http://www.eygle.com...

1753
来自专栏程序你好

新手程序员如何写出好的代码

我之前的博客文章在推特上火了。这篇文章指出了一个问题——始终遵守某些规则实际上并不能帮助人们更好地编写代码。

1025

扫码关注云+社区

领取腾讯云代金券