距离 2020 年结束只剩下区区 24 天,我们即将结束魔幻的 2020 ,迎来新的一年,新的一年或好或坏,但终将到来。
Github 年度报告的两点变化
在上周,Github 发布了 2020 年度报告,相信各位都有所耳闻。在对比了从 2016 年至 2020 年共计五年的报告后,我观察到了以下两点变化:
1、从关注数据,到关注人
2020 年和往年的报告一个很不同的点在于,不再单纯的以数据讲话。这样的表现“很不程序员”,反倒是和我们所熟悉的另外一个科技巨头 —— 苹果很像。不再强调数据的绝对差值,更多关注技术对于人、事、物引发的变化。
在 2020 年的报告中,内容被分为了三个不同的部分:寻找平衡、赋能社区、保护软件安全。
这三者则分别对应在今年发生在每一个 GitHub 开发者身上的事件:
- Covid-19 新冠肺炎迫使开发者居家办公,以及由此引发的生活和工作平衡的思考;
- GitHub 为开源项目提供新的功能 Discussions 允许开源项目建立社区,让 议题 issue 可以更加专业;
- GitHub 为所有项目开启安全检查项目,提醒开发者为项目更新出现安全问题的依赖和软件代码。
除了一个标准的概览之外,GitHub 还为这三个不同的大事件准备了详细的报告,如果你感兴趣,可以下载来看。
2、从只给数据,到还给建议
和往年的报告只关注数据不同,今年的 GitHub 2020 年度报告给出了不少的建议,指导开发者们的下一步行动。而这些建议,无论你是否可以遵循,都可以给你一些新的思考维度,可以让你获得更全的信息。
比如,在生产力篇的第 6 页,GitHub 给出了一些建议,来帮助开发者获得工作和生活的平衡,谋求更好的开发体验。
类似的建议也出现在了安全篇的第 6 页,GitHub 为开发者提供了一些有效的保护软件安全的介绍,帮助开发者防御安全问题。
报告中的其他地方也出现了类似的建议,帮助更多的开发者避开问题。
值得关注的数据
除了 2020 年度报告的结构和行文变化,报告中的一些数据也值得我们关注:
GitHub 不仅仅是开源的代名词,更是工作的代名词
在 2020 年度报告中,GitHub 首次给出了按周计算的活跃度信息,可以看到,GitHub 的活跃用户信息和工作日、节日等节点高度重合,明显表现出了工作日和休息日的区别。
和我们曾经设想的,工作时做公司的事,下班的时候做开源不同。如今,GitHub 已经成为一种工作方式,我们会在工作的时候,因为工作需要而打开 GitHub,在休息的时候,因为个人兴趣而打开 GitHub。
Github 如今已经成为了一种必备品,我们每天都在“面向 GitHub 编程”~
变大的总量,新加入的学生和占比减少的开发者们
GitHub 公布的 2020 年开发者总数为 5600 万开发者,而在 2019 年这一数字是 4000 万开发者,过去的一年里新增了 1600 万开发者,而纵观近几年数据,今年新增的数据是历年来新增用户最多的一年。
而总量变化的同时,开发者的比重在所有用户的所占比重在下降,从 2016 年的 60% 逐年递减至 2020 年的 54%,相反,我们可以看到,教育相关的学生用户、教师用户的比重在不断的攀升,到 2020 年,教育相关用户的比例已达 23%,几乎达到了 Github 用户比重的四分之一。
学生成为 GitHub 用户中的主力,在未来,我们将会看到更多基于 GitHub 的学习、教育的方式,GitHub 也将成为软件开发、计算机科学等相关领域的必修课。
自动生成的安全更新和更快的软件安全更新
对于绝大多数的软件来说,对于第三方库和代码的依赖是不可避免的,特别是使用 JavaScript、Ruby 和 .Net 的开发者,对于第三方库的依赖都在 90% 以上;这些第三方依赖除了引入了更便捷完成代码逻辑以外,还带入了更多的安全问题。对于开发者来说,如何尽可能不受依赖影响,保障软件安全就成为了一个值得关注的问题。
GitHub 为开发者提供了无痛的自动生成安全更新 拉取请求 Pull Request (PR)功能,系统在后台自动检测依赖代码是否有相应的安全更新,并创建相应的拉取请求,为开发者提供了一键解决依赖库所引发的安全问题的功能。降低开发者维护软件的成本,将一部分可以自动化完成的工作,交由系统自动完成。根据 GitHub 的测算,在接入了该功能以后,开源代码的安全更新速度相比于之前提升了 4.4 周时间,让软件的迭代更加的快捷。
不过目前该功能仅支持六种不同的包管理器和编程语言,具体包括:Composer(PHP)、Maven(Java)、npm(Javascript)、NuGet(.Net)、PyPI(Python)、RubyGems(Ruby),其他语言暂时无法享受到来自 GitHub 提交的安全更新。
总结
今年的 Github 报告中的一些表现,和往年的报告有所不同,表现出的人性,让我们有了更加暖心的建议。作为一个开发者,我十分建议你下载一份官方的报告,细读其中的建议,让自己的开发更有效率;让自己的生活更加丰富多彩;让自己的代码,更少 Bug !