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

1272

引言

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

当著名的马克·安德森撰写《软件正在吞噬世界》的文章的时候,可能没有想到,在 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."

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

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

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

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

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

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

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

· 开源是中立的治理模式

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

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

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

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

· 开源是企业生态战略

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

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

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

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

其他

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

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

调查与洞见

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

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

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

报告背景

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

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

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

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

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

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

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

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

- 问题数量:50

- 样本量:508

特邀专家

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

- 谢工:GitChat CEO

- 阴明:掘金 CEO

- 王兴宇:Linux 中国创始人

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

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

开发者技术现状

1. 使用语言

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

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++ 一如即往,深受大家喜爱。另外,如 SublimeAtom.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 MVCSpring DataSpring BootSpring 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 JQueryBootstrap 三足鼎立。

6632b3742209ff5adb5e0d1f4ca150fe.png

15. CMS 系统

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

7c2bc3a41f302e3097e8c712e8a64b29.png

16. 电子商务系统

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

9f4df0fbc95f5a46f74d9aecb948c8da.png

官方总结

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

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

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

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

上一篇

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

1124

下一篇

【NTFS高级分析取证】

2164

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