报告 | 2018中国开源年度报告之开发者技术现状

1350

引言

软件的世界在悄然发生变化

当著名的马克·安德森撰写《软件正在吞噬世界》的文章的时候,可能没有想到,在 6 年之后,他就需要加上一个定语:

开源软件正在吞噬世界!

面对人工智能的伦理问题、软件产能过剩的问题、软件转型为服务模式的问题、云计算已经像电力一样成为这个世界默认的基础设施、以及海量数据的处理问题…… 围绕这些问题解决的核心原则只有一个:Open Source!

由隐而显

开源 20 岁了,它的内涵和外延正在扩大,不仅仅是一个开源的代码项目,也不仅仅是一个社区。开源正变得日益复杂,研究的人也越来越多,当然这是由于参与到开源中的人和企业越来越多了。以下不妨列举一番:

· 开源是一种社交现象

2018 年,有一个消息堪称开源界的重磅炸弹!这就是微软以 75 亿美元的价格收购了 GitHub。

要知道在 1999 年,人们仍然不把开源当做一回事,Bill Gates 在宣传他的书时,曾如此评价 Linux 的:“确实我们承认在学生和爱好者当中我们不如 Linux,但是我们从多个角度考察过,并不认为它能在商业市场上有何作为。”

开源不止于技术,隐藏在背后的是开发者、工程师们之间的协作与交流,以及彼此的默契与褒奖。而 GitHub 的个人 Profile 更是成为了比简历更能拿得出手的“金钥匙”。

那么这些开源的参与者们日常是如何交流的呢?为何这种交流如此吸引他们呢?

· 开源是一种经济模式

开源界一直以来都在担心搭便车,当然现实中也不乏搭便车、顺便赚点钱的个人和企业。

然而,学术界/经济圈发来了声音,来自哈佛商学院战略部门的 Frank Nagle 教授,刚刚发表了一篇长达 40 页的论文:"Learning by Contributing: Gaining Competitive Advantage Through Contribution to Crowdsourced Public Goods."

从商业的角度论证了,为上游社区做贡献对于企业是大大有利的,这比工程师布道用干巴巴的软件工程理论要有说服力的多,因为懂得算经济账的未必都懂得软件工程。

那些大的企业为何近来开始注重上游的贡献和曝光率?

· 开源是本土同步世界的绝佳方式

无论你承认与否,本土是没有拿得出手的软件基金会或大型的类似 Linux、Hadoop、Kubernetes、Docker 和 TensorFlow 这样的,划时代的、有创新意义的、能解决实际问题的开源项目。

当我们还在利用开源自主的时候,另外一个世界已经走出去很远了!而似乎本土只有“拾人牙慧”的份。

在经历了本土 20 年的开源空白之后,终于还是有一些脚踏实地的务实者,按照国际化的方式运作着项目,虽然力量仍显单薄,但终究是一个良好的开端!

问题:你知道本土的这些在国际上颇有名誉的项目都有哪些吗?发生的时间又分别是什么?

· 开源是中立的治理模式

你能想象没有开源软件基金会的开源项目会是什么样子吗?

Nathen Harvey 在 InformationWeek 的文章中指出了三个问题:“项目应该由商业的赞助商驱动还是外围的贡献者驱动?商业利益是否应该凌驾于社区的意愿之上?该如何以及在哪里为商业实体和开源社区之间划上一个明确的界线?”

作为中立的基金会可能是唯一平衡此问题的方法,在协商、妥协、争论等等之上让软件受益于所有人。

然而问题来了:那些开源的软件基金会是如何运转的?坚守的理念是什么?又是如何平衡软件开发和商业利益的?

· 开源是企业生态战略

2007 年,Google 决定开源已经花了几亿美金的 Android 智能手机操作系统,希望直接和 Apple、Nokia、BlackBerry 展开竞争。

现在根据 Linux 官方给出的数据,80% 以上的智能手机运行 Android(基于 Linux 内核)。

2015 年开源的 Kubernetes 要占领同样数字的市场,在云原生的市场,运行 Kubernetes 的服务几乎占领了容器调度编排系统的全部份额。

这其中究竟蕴藏着怎样的玄机?拥抱开放是否一定就能成功?做生态之前要做些什么?

其他

开源是软件工程,开源是文化现象,开源是尊重知识产权,开源是市场营销,开源是商业模式......还有很多尚待我们挖掘的主题。

开源由亚文化,发展成为主流文化,成形的理论还几乎是空白,尚需更多的人来参与,以科学的视野来彻底诠释这一主题。

调查与洞见

鉴于以上“由隐而显”的各种问题,开源社组织了《2018 中国开源年度报告》调查,从多种纬度、多种方式、多种协作来尝试靠近上述问题的答案。

调查研究是谋事之基、成事之道。没有调查,就没有发言权,更没有决策权。

本文节选自开源社在 GitChat 上的分享,《2018 中国开源开发者调查》由于篇幅过长,以下节选报告中大家最关注的开发者技术部分。

报告背景

2015 年,开源社发布了《2015 中国开源参与调查报告》,对于中国的开源社区、开源生态、开源开发者,做了一次全面的摸底调查,也得到一系列有价值的信息。

3 年过去了,我们再次发起了《2018 中国开源开发者调查》,这次我们联合了更多的开发者社区,也收集到了更多的数据,我们希望了解的,不仅仅是这一年的数据,更希望通过数据的变化,发现一些值得关注的趋势。

这次的调查,我们收集到了 508 份问卷,这使得我们对于中国开源开发者,有了更加深入的了解,也对于未来的发展趋势,有了一些重要的洞见!

希望这样的调查报告,能够为广大开源参与者、从业者、以及制定开源战略的企业,提供有价值的参考。

- 调查对象:覆盖开发者、社区成员、贡献者、学生、政府企业管理人员

- 调查内容:主要涵盖个人信息、工作状况、开源社区以及开发者技术调查

- 调查方法:以在线问卷方式搜集样本和数据,交叉对比法分析数据

- 推广方法:线上社交媒体、博客、开源社、掘金、GitChat、 CSDN 网站,Linux 中国和论坛;线下沙龙会议搜集问卷

- 问题数量:50

- 样本量:508

特邀专家

- 蒋涛:CSDN 创始人 & 董事长,极客帮创投创始合伙人

- 谢工:GitChat CEO

- 阴明:掘金 CEO

- 王兴宇:Linux 中国创始人

- 王启泰:指南针联合创始人

- 梁莉: FreeBSD 基金会董事总监

开发者技术现状

1. 使用语言

使用语言中可以看出,JavaScript 稳居首位,使用者比例高达 58.11%,Java、HTML5、Python、SQL 等紧随其后。

ced29ad015efc4f91e8ad6dc72820a8e.png

【王启泰点评】调查结果和国外的调查结果在前面的排名上基本一致,和 GitHub 的统计也相似。JavaScript 作为脚本语言,经常和其他编程语言如 Java 和 Python 搭配,本身在 Web 开发的简单功能实现上也有其贡献,加上相对比较容易上手的优势,位居高位是理所当然。

Java 在后台数据处理、复杂功能实现、各种支持框架的品质和选择上有一定的积累和优势,仍然受到开发者的欢迎。Python 有语法简洁高效的优势,并且在数据分析支持上有丰富的积累,在人工智能浪潮的推动下,自然有排名上升的趋势。

【谢工点评】得益于 Node.js 的快速发展,越来越多的前端工程师进阶成为全栈工程师。

对企业而言全栈工程师的增加,降低了项目开发过程中的人员成本和沟通成本,企业在项目规划时,也越来越乐于选择 JavaScript 作为项目的主要开发语言,这也反过来刺激了 JavaScript 程序员的增长和技术的发展。

2. 在线文档协作编辑工具

在线文档编辑工具中,有近半数的参与者使用 Wiki 作为他们的选择,而 Google Docs 也受到大家的青睐,另外,石墨文档等也是大家经常使用的工具。

137710e23be9304fd816199c46b47a09.png

3. 编辑器

在编辑器使用情况中,2015 年没有上榜的 VS Code 是近三年来的黑马,2018 年排名第一, Vim 和 Notepad++ 一如即往,深受大家喜爱。另外,如 Sublime、Atom.io 系列等 IDE 也都是大家常用的代码编辑器。

46d9ac47f0a4aa870e99b94a23b1eb4e.png

【梁莉点评】VS Code 是一个开源的轻量级代码编辑器,可以跨平台安装,在全球的调研中我们也看到 VS Code 的受欢迎程度逐年上升,一如既往地受开发人员的钟爱。

【阴明点评】VS Code 的增长速度在众多编辑器中都是最快的,作为一个较新的自带插件平台的新式编辑器,它也超越了 GitHub Atom 成为开发者的首选。一方面得益于其高性能的效率,另一方面就是相关插件的补充速度非常快,且下载、更新模块的效率都优于 Atom。

4. 版本控制工具

Git 依然是参与者最喜爱的版本控制工具,超过九成的参与者使用它,使用 SVN 的比例从 2015 年的 54% 下降到了 36%。

013f535969e1315b6f91fda3d8c3715f.png

【谢工点评】之所以 Git 成为最受喜爱的工具,是因为他在版本控制上功能更加强大,但 Git 本身在使用上也有比其他更高一些的复杂度,我们做过一个内部调查,公司内部大多数的工程师对 Git 的熟悉程度停留在初级阶段,常用的命令不足十个,这里面甚至有不少五年以上经验的开发者。

5. 数据库

数据库使用情况中,不出意外地,MySQL 以近八成的占比遥遥领先,作为 NoSQL 代表的 MongoDB 与 SQL Server 跟随其后。

38593f044c537edcd7f08a126e888ef0.png

【王启泰点评】MySQL 作为开源数据库的领头羊,居于首位在意料之中,而如此高的比例令人惊喜。NoSQL 中的领先者 MongoDB 有超过 30% 的使用率,支持了应用程序朝向非结构化开发方向前进的想法。

而 Oracle 和 SQL Server 作为付费商业数据库的主力产品,基本上都是企业内闭源开发的选择。在具有开源参与的项目中出现商业数据库,可能意味着部分闭源开发使用了开源的代码。

6. 操作系统

操作系统的使用中,Windows 占据了超过 38% 的份额,Linux 紧随其后,而 MacOS 占比近三成左右。

356862251af65f73a7c0cb675364d37c.png

【梁莉点评】操作系统的使用比例基本和 Stack Overflow 开发者调查是一致的。近日,微软宣布加入 Open Invention Network (OIN),这是一个致力于保护业界免受专利诉讼的行业联盟。

微软将把自己的 6 万多项专利组合免费提供给联盟的 2650 家左右的公司。这一举措也让我们看到微软成为整个 Linux 生态系统和开源社区的全面支持者。

7. Linux 版本

在 Linux 的发行版本中,最受欢迎的依然是 Ubuntu,紧随其后为 Red Hat。

af5b98d7b734659fc3b74e02f8a9d82e.png

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 在中国几乎是主导的角色。

9. Ruby 框架

在 Ruby 框架使用方面,排在前列的 Rails 有超过四成的使用率,仍占据着主流地位。

7be895199957ad6acd5c9096f5a15625.png

10. PHP 框架

PHP 语言的框架使用方面,ThinkPHP 作为全面成熟的框架,有半数以上的参与者均使用过该框架。

610a21686df1c4cfda0ee78a920fcd58.png

11. Go 框架

Go 语言的框架则呈现百花齐放的势态,使用较多的 Beego 有超过四成的用户比例。

ac275fbabd0b51915846b93a0a161917.png

12. Node.js 框架

Node.js 框架,其中 Express 的份额超过 70%。

ebacceacc9e5a3e42aa612c5b09e2c41.png

13. Python 框架

不出意外的,Django 在 Python 框架中独领风骚,有六成的参与者均使用 Django 作为他们的开发框架。

91ca156697c52e030126f16d64eca16b.png

14. 前端框架

在前端框架中,Vue.js 与 JQuery、Bootstrap 三足鼎立。

6632b3742209ff5adb5e0d1f4ca150fe.png

15. CMS 系统

CMS 建站系统中,WordPress 占到了近七成的份额,具有绝对的优势。

7c2bc3a41f302e3097e8c712e8a64b29.png

16. 电子商务系统

电子商务建站系统中,Magento 有四成以上的用户使用。

9f4df0fbc95f5a46f74d9aecb948c8da.png

官方总结

完整报告:《2018 中国开源年度报告》

本次 2018 年度中国开源参与调查报告以开源社区协作的方式共同完成,以草根的方式自底向上完成。

与整个庞大的开源社区比,我们个人的视野和资源都有局限,该报告通过问卷方式搜集数据,如管中窥豹,略见一斑。

我们希望由此抛砖引玉,邀请更多的社区和个人加入,一起来完善中国开源年度报告。您的一小步,整个中国开源社区的一大步。

上一篇

电子取证:FBI如何在网络空间抓捕罪犯

1242

下一篇

【NTFS高级分析取证】

2395

回到顶部
提示:官方微信正在抓紧开发中... ...