第一篇 问卷篇
一、报告概述
1.1 背景
2015 年,开源社发布了《2015 年中国开源社区参会调查报告》,对于中国的开源社区、开源生态、开源开发者,做了一次全面的摸底调查,也得到一系列有价值的信息。3年过去了,我们再次发起了《2018 年中国开源开发者调查》,这次我们联合了更多的开发者社区,也收集到了更多的数据,我们希望了解的,不仅仅是这一年的数据,更希望通过数据的变化,发现一些值得关注的趋势。
这次的调查,我们得到了掘金社区、GitChat&CSDN 社区的鼎力支持,收集到了 508 份问卷,这使得我们对于中国开源开发者,有了更加深入的了解,也对于未来的发展趋势,有了一些重要的洞见!
希望这样的调查报告,能够为广大开源参与者,从业者,以及制定开源战略的企业,提供有价值的参考。
- 调查对象:覆盖开发者、 社区成员、 贡献者、 学生、 政府企业管理人员
- 调查内容:主要涵盖个人信息、 工作状况、 开源社区以及开发者技术调查
- 调查方法:以在线问卷方式搜集样本和数据, 交叉对比法分析数据
- 推广方法:线上社交媒体、博客、开源社、掘金、GitChat、 CSDN 网站,Linux 中国和论坛;线下沙龙会议搜集问卷
- 问题数量:50
- 样本量:508
1.2 特邀专家
- 蒋涛:CSDN 创始人 & 董事长,极客帮创投创始合伙人
- 谢工:GitChat CEO
- 阴明:掘金 CEO
- 王兴宇:Linux 中国创始人
- 王启泰:指南针联合创始人
- 梁莉: FreeBSD 基金会董事总监
二、重要发现
通过分析 2018 年的统计数据,并且对比 2015 年的数据,以及我们能够找到的其他一些公开发布的统计报告,我们有了如下一些重要发现:
- 女性参与者比例正在上升,2015 年为 11%,2018 年上升到 12%
- 开源参与者,20~39 岁人群是绝对主力,超过87%。但是相比 2015 年,30~39 岁以上的人群比例在持续增长
- 超过7成以上的参与者,来自互联网企业,但是较之 2015 年,更多的金融、银行领域的企业开始关注开源
- 开源开发者的收入在持续上升,根据统计数据,低于 1.4 万以下的收入比例在下降(76%->60%),高于1.5 万以上的收入比例在明显上升(24%->40%)
- 在吸引用户使用开源软件的理由方面,节省开发成本一直都不是最重要的因素。通过对比数据还可以看出,近年来:大家对于开源社区的支持与开源精神与理念的重视,正在逐步上升
- 虽然依然有超过 8 成的开发者,很少或从未通过开源获得收入,但是相比 3 年前,确实有更多的开发者,获得了一些收入。而且有更多的开发者,被企业雇佣全职投入开源(9%->16.95%)
- 另一个比较可喜的进步,是对于开源的信任度也在逐步上升,对于开源可能产生不安全感的人,下降了 3.6%
- 微信已经取代了传统的邮件列表成为了开源社区交流的主要工具,还有一个有趣的新现象,是电报群 + zoom,成为很多社区交流的工具
- 在“哪个公司对于开源软件的贡献最大”这一问题的调查中,有一些值得注意的变化:Google、GitHub、Alibaba 是前三甲,但是:微软的排名大幅度上升,如果考虑到被微软收购的 GitHub,简直有一举超过 Google 的趋势。国内公司,在 2015 年时,即使是 BAT 也排名 10 名以后,但是到了 2018 年,更多的中国公司,获得了更高的评价,尤其是阿里和华为,进步非常明显
三、开发者群体特征
3.1 近九成参与者为男性,普遍年轻且有较高学历
参与者中男性占比达到 88%,仅有 12% 为女性。普遍受教育程度较高,具有本科以上学历的占到 81% 以上,而其中 90 后已经成为主力军。
【谢工点评】开源是互联网技术发展的重要引擎,虽然开源开发者的收入较之前有了长足的进步,但是仍然不能与其贡献相平衡,仍然需要拓展出更多的途径,来激励开源开发者的积极性,刺激开源快速发展,另外开源社区建设同样重要,需要为开发者提供一个更加活跃、完善的产品和内容平台,来吸纳更多开源开发者。
【梁莉点评】在今年 Stack Overflow 开发者调查中,全球范围内只有 6.9% 的女性开发者。虽然在这次中国开源参与调查中也仅有 12% 的女性,但相对于全球来说在中国女性参与开源开发的比例还是让人欣喜的。另外,90 后主力军的涌现也让我们看到开源文化在中国是真正扎根了。
【阴明点评】可以明显看到掘金年轻开发者是开源的主力军,或者说年轻开发者天然地接受和使用开源软件。同时,因为 GitHub 的成功,大家在接触开源代码上有了更方便的工具,同时可以快速参与到源代码的使用和贡献当中。更深层次的思考,随着这一批年轻开发者逐渐在软件行业有更大的参与度,他们对开源的熟悉会继续增强开源生态在中国开发者中的影响,开源本身也会在未来可预期的时间里加速成熟。
3.2 从业时间
参与者中有近七成工作时间不足 5 年,女性的比例在未参加工作的比例最大,其次是工作 15 年以上及工作年限为 10-15 年这个区间女性比例也比较高。
【王启泰点评】17% 未就业是以学生为主的群体,这个比例很让人欣慰。12% 的比例来自刚进入工作群体,因为熟悉工作,所以占整体比例比较低是合理的。这个比例逐渐升到 20% 的工作 1-2 年的群体,到主力的 24% 的 3-5 年工作的群体,随着工作年数的增加,工作的重心转离开源的参与比例下降。这个是一个合乎情理的演进,但是还是期望更有经验的资深人员能够参与开源项目中。
3.3 行业领域
参与调查者中,有超过七成的调查者均就职于互联网开发和软件开发领域,其次教育/学术/科研领域的占比也达到了 5%。
【王启泰点评】这个分类比较广,如果能够把软件开发分的更细会更加精确。总体而论,互联网开发应该也是广义的软件开发的一类。这个调查结果反映出软件行业对于开源的贡献参与是比较有实用的角度,相对于学术科研的贡献是比较先进和实验性质多的。
3.4 女性较偏重前端与客户端开发
就技术领域而言,后端开发占据了近三分之一的份额,而从与性别的交叉对比中可以看到,女性较偏重 AI 开发与数据库管理员的工作。
3.5 收入水平
开源开发者收入水平普遍较高,有 77% 的开发者月收入超过 5000 元。收入在 1.5-3W 这个区间的比例从 2015 年的 18.6% 增长到 27.35%。高收入人群例如 5 万以上从 2015 年的 1.5% 增长到 5.1%。
另外,可以看出,参与者收入水平与行业经验有较直接关系,从业时间越长者平均月收入明显越高。
【阴明点评】通过上述的年龄、工作年限和薪资情况可以看到,目前开源的参与者偏于年轻化,学生群体和初入职场的开发组为主要人群。这里要注意,他们对于开源的热爱更多的得益于收益,而非贡献,这其中大比例的开发者在利用开源软件学习和实现业务,而是否有参与以及在未来的工作中能否真正贡献开源项目,是开源市场本身的重要问题。因而,就目前来看,如何引导和支持这些年轻的开源爱好者成为开源贡献者是开源世界的所有参与方需要努力的方向。
四、开源工作现状
4.1 在开源中的时间投入
参与者每周投入的开源时间中,半数不足 2 小时。但明显可以看出,参与工作越久的人,其每周参与开源工作的时间也明显越长,15 年以上工作经历的参与者中,有近 12% 每周的参与时间高达 40 小时以上。
【蒋涛点评】从 2018 年的数据上看,每周在开源上投入 40 小时以上的全职开发者占比下降显著,这说明开源社区仍未形成有效的激励机制,以吸引开发者们全职来参与。这就意味着,像 2014 年 OpenSSL 项目因缺乏维护而出现的“心脏出血”漏洞,极有可能还会在其他开源项目上重演。这一问题的重要性,不仅需要开源社区和开发者们引起重视,因开源软件而极大受益的企业界更需要重视其基础设施的稳固程度。除了金钱上的激励,我们还可以尝试激励的其他维度,比如引入区块链和通证经济,激励机制可能是现在开源上最需要创新的地方,而这一点需要开源社区、开发者和企业界的共同努力才能做到,CSDN 正在积极探索这一课题。
【阴明点评】同样从投入实践来看,高比例开发者的参与时间是非常少的,甚至有近一半的开发者只会贡献每周 1-2 小时时间。如果深入理解的话,这样的时间更多可能只能支持开源项目的使用、讨论,绝无法真正从代码层参与和贡献。因而,如何引导和支持开发者从技术层面参与到开源库中更为重要。
【王兴宇点评】从 2015 年到 2018 年的“每周 1 到 2 小时”的变化来看,有可能是由于经济形势变化,较浅参与开源的开发者(大多是开源与其工作相关度不大)由于工作压力的加大而减少了对开源的参与,从 Linux 中国的贡献者也能看出类似的情形,在整体参与人数增加的同时长尾的短时贡献者比例在加大。
【梁莉点评】关注开源技术或使用开源产品和参与并投入到开源项目的开发这之间还是需要一定的时间来学习和摸索。在近几年的开源社区活动中不乏看到年轻开发者们的身影,期待看到更多的年轻开发者投入到开源项目的开发。
4.2 开源相关活动参与度
可以看出,目前大家的对于开源相关活动的参与度不高,绝大多数参与者只有每年几次的参与。参与者线上线下的参与情况基本一致。
【阴明点评】这里需要区分开源活动,开源技术相关的活动。如果以开源本身为主题,不仅参与者很少,甚至目前来看的活动内容在国内都很少,因而有这样的高比例从不参加可以被理解。相对的,基于开源技术的线下活动在北上广深杭技术聚集城市还是有很多选择的,不过从举办类别上,需要更好地发动社区的力量,让社区中的贡献者来动员和支持活动。
【梁莉点评】近年来中国开发者参与全球开源项目的比例在持续增长,但在一些全球开源社区的会议上,中国开发者的身影还是相对有限的。通过开源活动来学习开源技术并和开源社区的代码维护者们面对面交流都是有助于提升个人对于开源的理解。
4.3 开源收入
可以看到,多数人参与开源并不追求物质回报,即使七成的参与者没有开源收入,但还是热衷于参与开源工作。与此同时,持续投入并以开源为职业选择也能得到可观收入,且收入水平越高者,从开源中获得的收入也越多,月薪 5W 以上者,不从开源中获得收入的比例不足一半。
【谢工点评】直接从开源中获得的捐赠还是有限的,目前收入主要还是通过相应开源项目衍生出来的工作、定制化及衍生业务获得收入,同时开源项目会提升作者的知名度和相应领域内的地位,这也是吸引越来越多的开发者从事开源工作的一个原因。
【梁莉点评】非常同意 GitChat 谢工的点评 。有时候在简历上添加上在开源项目中贡献的核心代码的链接远胜于大段的描述。
【阴明点评】这里一定要区分,收入的目的。开源本身不是以收入为目的的,有收入只是让开源工作更好的展开。而开源的参与和贡献所带来的价值应该高于收入,也正是这些价值和意义让更多开发者投入其中。
另外,男女性别分布在各个收入阶段相对来说比较平均, 自我评测通过开源获得收入很多的那个区间, 女性比例相对来说最高,说明有很多女性全职从事于开源相关的工作。
4.4 第一次接触的开源产品
有超过 37% 的参与者第一次的接触的开源产品为互联网产品,紧随其后的便是开发工具与操作系统相关的产品。2015 年的调查结果排名第一的为开源操作系统。说明互联网产品在近三年的蓬勃发展以及互联网和开源的密不可分。
4.5 最希望开源的产品
开发工具和操作系统作为相对复杂而全面的技术产品,成为大家最希望开源的产品。
【王启泰点评】这个调查结果反映出国内更偏向于开发工具等产品类的方向,相对于国外的开源项目的选择,可能更全面和广泛,例如架构的搭建,技术生态圈的建立。
【王兴宇点评】这应该反映的是大家心理的预期,希望其开源的目的大概有二:开源以在其基础上创造更多衍生或相关产品;开源以确保其生态健康发展。
五、开源社区参与现状
5.1 开源最吸引你的因素
开放透明的代码和知识共享,以及开源的精神理念成为开源最吸引参与者的因素,而软件的购买成本却并不是主要的因素。
【王启泰点评】参与调查的人员应该以参与者居多,所以比较不重视软件的购买的因素。对于公司的营运和出资方,能够从开源社区获取品质高而且成本先对低的因素还是有吸引力的。
【阴明点评】正如经典的书籍 The Cathedral and the Bazaar 中写的,开源或者说大家通过沟通和集体决策来发展一个项目本身是一种合作方式的选择。而这种合作方式如果需要有好的结果,最重要的一个底层价值观就是分享,这部分的精神和理念是开源世界构建的基础。
5.2 最喜欢的开源产品是什么
Linux 以巨大优势,成为参与者最喜爱的开源产品,紧随其后的是 Chrome 与 MySQL。
【王启泰点评】Linux 作为早期开源的项目和指标性的意义,自然有众多的参与人员。Chrome 取代 Firefox 成为浏览器的贡献开源的选择。容器技术在 Docker 具有巨大的动能,占到比较高的排名是显示对于软件包装部署的重视。
【王兴宇点评】Linux 作为实质性开创了开源时代的软件,赢得了大众的一致喜爱毫无意外。
5.3 具体参与的社区工作
有 65% 的参与者在社区均参与代码贡献的工作,而文档与测试工作也占有很大的比例。
【谢工点评】一个活跃的、完善的开源社区,有助于吸纳更多的开发者,使之转化为开源开发者,目前开源社区的发展已经取得了长足的进步,社区应该有更加强有力的激励机制,来吸引年轻一代的新人为开源项目贡献代码。
5.4 最看好的开源产品
开源产品的前景展望中,互联网产品以近 40% 的比例成为参与者最看好的开源产品发展方向。人工智能异军突起, 成为现在开源产品中的风口和热点。
【王启泰点评】从 2016 后半年开始,人工智能再度进入世人的关注范围。各种指标都显示重视的程度,由参与的人数,应用的范围,资源的投入都证实这个趋势。
5.5 开源社区的交流方式
在社区的交流方式中,微信已经取代了传统的邮件列表成为了开源社区交流的主要工具,微信沟通的比例从 2015 年的 28.1% 上升到 48.78%,微博使用比例有明显的下降。新锐的交流工具比例上升:Telegram 和 Zoom 也是值得关注的现象。
【谢工点评】微信生态圈产品和 QQ 在即时和时效上有优势,但是沟通内容进行留存和学习沉淀时,体验不好,编辑难度较大,而且在国际化方面的体验也不太好。
Telegram 的优势在于通信的安全性,端对端通信时,服务器不会存储聊天内容
【阴明点评】Gitter 以某一个开源库为基础的类似于 Slack 的工具还是很好用的,尤其是绑定了相关 Issue 等讨论功能,目前国内还没有很好的工具。
5.6 参与者认为开源贡献最大的公司
在众多技术公司中,Google 和 Github 被众多参与者认为是在开源方面贡献最大的两家公司,中国的 BAT 和华为今年来在中国开源开发者心中参与开源的形象正在明显增强。
【王启泰点评】 GitHub 的排名和 repo 数、贡献者数、获得星数等方向,和调查结果有相当高的吻合。Google 以创新的形象深植在开发人员的心中,对开源的贡献例如在大数据(Hadoop、HDFS等)、深度学习(如TensorFlow)都是有目共睹。GitHub 作为(免费或是付费)开源项目的储存库的运维和贡献,巨大,虽然本身没有特别参与开源项目的开发,仍然受到开发人员的认可。Microsoft 作为开源的后起之秀,投入的资源和近期的声势都开始受到认可。在 2018 年收购 GitHub 也为其投入与支持开源的决心更为凸显。BAT 与华为无论在资源的投入比例和开源的推动力度在近年有明显的增加,所以在 GitHub 排名有上升的趋势。
5.7 社区与代码的关系
有超过八成的参与者认为在开源社区中,社区的价值大于或等同于代码,因为围绕代码而生的社区, 会让代码变得更加优秀。
【谢工点评】Issue 提出问题和 Idea 设计解决问题同等重要,社区是 Issue 提出问题的聚集地。在 CSDN 和 GitChat 的技术社区内容中,这样的激励机制建立并不容易,付出和回报也不对等。需要更多开发者和技术大牛投入进来,这是开源社区的价值所在。
5.8 开源社区年龄分布
在参与者身边的开源社区成员中,20-30 岁的贡献者是主要的组成部分,占比达到了 70% 以上。
六、开发者技术现状
6.1 使用语言
使用语言中可以看出,JavaScript 稳居首位,使用者比例高达58.11%,Java、HTML5、Python、SQL 等紧随其后。
【王启泰点评】调查结果和国外的调查结果在前面的排名基本上一致。和 GitHub 的统计也相似。JavaScript 作为脚本语言,经常和其他编程语言如 Java 和 Python 搭配,本身也可以在 web 开发里面简单功能实现有其贡献,加上相对比较容易上手的优势,位居高位是理所当然。Java 在后台数据处理、复杂功能实现,各种支持框架的品质和选择上有一定的积累和优势,仍然是受到开发者的欢迎。Python 有语法简洁高效的优势,并且在数据分析的支持有丰富的积累,在人工智能浪潮的推哄下,自然有排名上升的趋势。
【谢工点评】得益于 Node.js 的快速发展,越来越多的前端工程师进阶成为全栈工程师,对企业而言全栈工程师的增加,降低了项目开发过程中的人员成本和沟通成本,企业在项目规划时,也越来越乐于选择 JS 作为项目的主要开发语言,这也反过来刺激了 JS 程序员的增长和技术的发展。
6.2 在线文档协作编辑工具
在线文档编辑工具中,有近半数的参与者使用 wiki 作为他们的选择,而 Google Doc 也受到大家的青睐,另外,石墨文档等也是大家经常使用的工具。
6.3 编辑器
在编辑器使用情况中,2015 年没有上榜的 VS Code 是近三年来的黑马,2018 年排名第一, vim 和 notepad++ 一如即往,深受大家喜爱,另外,如 Sublime、Atom.io 系列等 IDE 也都是大家常用的代码编辑器。
【梁莉点评】VS Code 是一个开源的轻量级代码编辑器,可以跨平台安装,在全球的调研中我们也看到 VS Code 的受欢迎程度逐年上升。而 vim 一如既往的受开发人员的钟爱。
【阴明点评】VS Code 的增长速度在众多编辑器中都是最快的,作为一个较新的自带插件平台的新式编辑器,它也超越了 GitHub Atom 成为开发者的首选。一方面得益于其高性能的效率,另一方面就是相关插件的补充速度非常快,且下载、更新模块的效率都优于 Atom。
6.4 版本控制工具
Git 依然是参与者最喜爱的版本控制工具,超过九成的参与者使用它,使用 SVN 的比例从 2015 年的 54% 下降到了 36%。
【谢工点评】之所以 Git 成为最受喜爱的工具,是因为他在版本控制上功能更加强大,但 Git 本身在使用上也有比其他更高一些的复杂度,我们做过一个内部调查,公司内部大多数的工程师对 Git 的熟悉程度停留在初级阶段,常用的命令不足十个,这里面甚至有不少五年以上经验的开发者。
6.5 数据库
数据库使用情况中,不出意外地,MySQL 以近八成的占比遥遥领先,作为 NoSQL 代表的 MongoDB 与 SQL Server 跟随其后。
【王启泰点评】MySQL 作为开源数据库的领头羊,居于首位是在意料中,有如此高的比例是令人惊喜。NoSQL 中领先者 MongoDB 有超过 30% 的使用率,支持了应用程式朝向非结构化的开发方向前进的想法。而 Oracle 和 SQL Server 作为付费商业数据库的主力产品,基本上都是企业内闭源开发的选择。在具有开源参与的项目中出现商业数据库,可能意味着部分闭源开发使用了开源的代码。
6.6 操作系统
操作系统的使用中,Windows 占据了超过 38% 的份额,Linux 紧随其后,而 MacOS 的占比近三成左右。
【梁莉点评】操作系统的使用比例基本和 Stack Overflow 开发者调查是一致的。近日,微软宣布加入 Open Invention Network (OIN),这是一个致力于保护业免受专利诉讼的行业联盟。微软将把自己的 6 万多项专利组合免费提供给联盟的 2650 家左右的公司。这一举措也让我们看到微软成为整个 Linux 生态系统和开源社区的全面支持者。
6.7 Linux 版本
在 Linux 的发行版本中,最受欢迎的依然是 Ubuntu,紧随其后为 Red Hat。
6.8 Java 框架
在 Java 框架使用方面,Spring 占有绝对优势,使用者高达 81%。
【王启泰点评】Spring 作为轻量级应用容器并且拥有 Sping MVC、Spring Data、Spring Boot、Spring Cloud 等范围的实用的产品, 在长久的 Java 开发人员的拥护下继续这样高比例的优势,真是实至名归。
【梁莉点评】毋庸置疑 Spring 目前是最流行的 Java Web 框架。相对于 Zeroturnaround 的调研报告 - Spring MVC 28.82%,JSF 15.2% 以及 Spring Boot 13.35%,Spring 在中国几乎是主导的角色。
6.9 Ruby 框架
在 Ruby 框架使用方面,排在前列的 Rails 有超过四成的使用率,仍占据着主流地位。
6.10 PHP 框架
PHP 语言的框架使用方面,ThinkPHP 作为全面成熟的框架,有半数以上的参与者均使用过该框架。
6.11 Go 框架
Go 语言的框架则呈现百花齐放的势态,使用较多的 Beego 有超过四成的用户比例。
Beego 在社区推广的比较好,功能比较多。Revel 相比 Beego 更简洁,比较容易扩展。
6.12 Node.js 框架
Node.js 框架,其中 Express 的份额超过 70%。
6.13 Python 框架
不出意外的,Django 在 Python 框架中独领风骚,有六成的参与者均使用 Django 作为他们的开发框架。
6.14 前端框架
在前端框架中,Vue.js 与 JQuery、Bootstrap 三足鼎立。
【谢工点评】AngularJS 和 React 发展也很好。Bootstrap、jQuery、Vue.js 都是前端框架,但是有很大的不同。Bootstrap 是 CSS/HTML 框架,Vue.js、React、AngularJS 是 SPA 框架。
6.15 CMS 系统
CMS 建站系统中,WordPress 占到了近七成的份额,具有绝对的优势。
Wordpress 的易用性最好,自然份额最大。Drupal 的定制性强,但学习成本高
6.16 电子商务系统
电子商务建站系统中,Magento 有四成以上的用户使用。
七、总结
本次 2018 年度中国开源参与调查报告以开源社区协作的方式共同完成,以草根的方式自底向上完成。与整个庞大的开源社区比,我们个人的视野和资源都有局限,该报告通过问卷方式搜集数据,如管中窥豹,略见一斑。我们希望由此抛砖引玉,邀请更多的社区和个人加入,一起来完善中国开源年度报告。您的一小步, 整个中国开源社区的一大步。