2020 年的 GitHub 年度报告，我看出了这些不一样的点
作为一个开发者，我十分建议你下载一份官方的报告，细读其中的建议，让自己的开发更有效率；让自己的生活更加丰富多彩；让自己的代码，更少 Bug ！
GitHub
作为一个开发者，我十分建议你下载一份官方的报告，细读其中的建议，让自己的开发更有效率；让自己的生活更加丰富多彩；让自己的代码，更少 Bug ！
![](/data/attachment/album/202012/07/095516lnxag1t96n9zfd8c.png)


距离 2020 年结束只剩下区区 24 天，我们即将结束魔幻的 2020 ，迎来新的一年，新的一年或好或坏，但终将到来。


### Github 年度报告的两点变化


在上周，Github 发布了 [2020 年度报告](https://octoverse.github.com/)，相信各位都有所耳闻。在对比了从 2016 年至 2020 年共计五年的报告后，我观察到了以下两点变化：


#### 1、从关注数据，到关注人


2020 年和往年的报告一个很不同的点在于，不再单纯的以数据讲话。这样的表现“很不程序员”，反倒是和我们所熟悉的另外一个科技巨头 —— 苹果很像。不再强调数据的绝对差值，更多关注技术对于人、事、物引发的变化。


在 2020 年的报告中，内容被分为了三个不同的部分：**寻找平衡、赋能社区、保护软件安全**。


![](/data/attachment/album/202012/07/095618o5z7o275tfb85ss8.jpg)


这三者则分别对应在今年发生在每一个 GitHub 开发者身上的事件：


* Covid-19 新冠肺炎迫使开发者居家办公，以及由此引发的生活和工作平衡的思考；
* GitHub 为开源项目提供新的功能 Discussions 允许开源项目建立社区，让<ruby> 议题 <rt>  issue </rt></ruby>可以更加专业；
* GitHub 为所有项目开启安全检查项目，提醒开发者为项目更新出现安全问题的依赖和软件代码。


除了一个标准的概览之外，GitHub 还为这三个不同的大事件准备了详细的报告，如果你感兴趣，可以[下载](https://octoverse.github.com/static/2020-reports.zip)来看。


#### 2、从只给数据，到还给建议


和往年的报告只关注数据不同，今年的 GitHub 2020 年度报告给出了不少的建议，指导开发者们的下一步行动。而这些建议，无论你是否可以遵循，都可以给你一些新的思考维度，可以让你获得更全的信息。


比如，在生产力篇的第 6 页，GitHub 给出了一些建议，来帮助开发者获得工作和生活的平衡，谋求更好的开发体验。


![](/data/attachment/album/202012/07/095650fgkgoza26xl6kdx8.jpg)


类似的建议也出现在了安全篇的第 6 页，GitHub 为开发者提供了一些有效的保护软件安全的介绍，帮助开发者防御安全问题。


![](/data/attachment/album/202012/07/095715oqbngc3poo4uj4p4.jpg)


报告中的其他地方也出现了类似的建议，帮助更多的开发者避开问题。


![](/data/attachment/album/202012/07/095745nkgflfw9yyfyny0x.jpg)


### 值得关注的数据


除了 2020 年度报告的结构和行文变化，报告中的一些数据也值得我们关注：


#### GitHub 不仅仅是开源的代名词，更是工作的代名词


在 2020 年度报告中，GitHub 首次给出了按周计算的活跃度信息，可以看到，GitHub 的活跃用户信息和工作日、节日等节点高度重合，明显表现出了工作日和休息日的区别。


![](/data/attachment/album/202012/07/095818wk11gk1ukhczklgq.jpg)


和我们曾经设想的，工作时做公司的事，下班的时候做开源不同。如今，GitHub 已经成为一种工作方式，我们会在工作的时候，因为工作需要而打开 GitHub，在休息的时候，因为个人兴趣而打开 GitHub。


**Github 如今已经成为了一种必备品，我们每天都在“面向 GitHub 编程”～**


#### 变大的总量，新加入的学生和占比减少的开发者们


GitHub 公布的 2020 年开发者总数为 5600 万开发者，而在 2019 年这一数字是 4000 万开发者，过去的一年里新增了 1600 万开发者，而纵观近几年数据，今年新增的数据是历年来新增用户最多的一年。


![](/data/attachment/album/202012/07/095849ah1fzasbosx0e7sg.jpg)


而总量变化的同时，开发者的比重在所有用户的所占比重在下降，从 2016 年的 60% 逐年递减至 2020 年的 54%，相反，我们可以看到，教育相关的学生用户、教师用户的比重在不断的攀升，到 2020 年，教育相关用户的比例已达 23%，几乎达到了 Github 用户比重的四分之一。


![](/Users/xingyuwang/Desktop/github2020/media/16072639196024/16072655897089.jpg)![](/data/attachment/album/202012/07/095910mtf1btp1e889jeta.jpg)


学生成为 GitHub 用户中的主力，在未来，我们将会看到更多基于 GitHub 的学习、教育的方式，GitHub 也将成为软件开发、计算机科学等相关领域的必修课。


#### 自动生成的安全更新和更快的软件安全更新


对于绝大多数的软件来说，对于第三方库和代码的依赖是不可避免的，特别是使用 JavaScript、Ruby 和 .Net 的开发者，对于第三方库的依赖都在 90% 以上；这些第三方依赖除了引入了更便捷完成代码逻辑以外，还带入了更多的安全问题。对于开发者来说，如何尽可能不受依赖影响，保障软件安全就成为了一个值得关注的问题。


![](/data/attachment/album/202012/07/095941fgpd7n7778j4759d.jpg)![](/Users/xingyuwang/Desktop/github2020/media/16072639196024/16072680807233.jpg)


GitHub 为开发者提供了无痛的自动生成安全更新<ruby> 拉取请求 <rt>  Pull Request </rt></ruby>（PR）功能，系统在后台自动检测依赖代码是否有相应的安全更新，并创建相应的拉取请求，为开发者提供了一键解决依赖库所引发的安全问题的功能。降低开发者维护软件的成本，将一部分可以自动化完成的工作，交由系统自动完成。根据 GitHub 的测算，在接入了该功能以后，**开源代码的安全更新速度相比于之前提升了 4.4 周时间，让软件的迭代更加的快捷。**


不过目前该功能仅支持六种不同的包管理器和编程语言，具体包括：Composer（PHP）、Maven（Java）、npm（Javascript）、NuGet（.Net）、PyPI（Python）、RubyGems（Ruby），其他语言暂时无法享受到来自 GitHub 提交的安全更新。


### 总结


今年的 Github 报告中的一些表现，和往年的报告有所不同，表现出的人性，让我们有了更加暖心的建议。作为一个开发者，我十分建议你[下载](https://octoverse.github.com/static/2020-reports.zip)一份官方的报告，细读其中的建议，让自己的开发更有效率；让自己的生活更加丰富多彩；让自己的代码，更少 Bug ！


![](/data/attachment/album/202012/07/100021ooyyfyi9oyyxozxw.png)

