机器之心编辑部报道

GitHub发布代码运行平台Actions及2018年度报告

今年 6 月份,微软官方宣布以 75 亿美元高价收购 Github。今天,据外媒 The Verge 报道,欧盟已经批准了这项交易。在此之前,GitHub 有两项新动作:一是发布 GitHub Actions 平台,开发者不仅能够在该平台上托管代码,还可以运行代码;二是发布了 2018 年度报告,从存储库、语言、项目、热门话题等多个维度对用户数据和平台发展趋势进行了分析。

欧洲反垄断局表示,他们确定「二者合并后将继续面临来自其他同行的持续、激烈竞争。」当局也不担心微软会「破坏 GitHub 的开放性」,他们指出,如果微软对该平台的管理不合开发者的口味,开发者还有其他选择。

微软曾经敌视开源软件,前首席执行官 Steve Ballmer 更是将其称之为「癌症」。「这一历史让依赖 GitHub 的开发者担忧。但是,即将上任的 GitHub 首席执行官 Nat Friedman 表示,微软已经接受了开源软件,开发者不必担心。他表示,「微软就像一个正在康复的酒鬼:它反对开源,但是现在正在采取措施来改变自己的行为,而且现在真的已经改变了」。

传出收购至今已经四个多月,GitHub 与微软的联姻也已尘埃落定。GitHub 的未来走向尚不确定,但在欧盟批准这项交易之前,GitHub 发布了一个对开发者颇为友好的平台 Actions 及 2018 年度报告,从中我们可以看出 GitHub 过去一年的发展状况。

GitHub Actions 平台

Actions 是 GitHub 的重大更新。GitHub 的平台主管 Sam Lambert 将其描述为「GitHub 历史上的最大转变」。他将 Actions 与 iOS 中的快捷键(shortcut)联系起来,但是比后者更加灵活。Sam Lambert 说到,「想象一个更加灵活的快捷键,托管在 GitHub 上,且允许所有人在容器内创建 Actions 来增强和连接工作流。」

GitHub 用户可以使用 Actions 构建自己的连续输送通道。该公司在发布的公告中写道:「易创建、易发布、易更新,在 GitHub 或其他任何外部系统上使用任何语言轻松部署你的项目——无需自己运行代码。」

Lambert 强调说,「我认为 CI/CD 只是 Actions 一个小小的用例。它还有很多很多用途。它将改变 DevOps。」

这意味着,每当有人在你的存储库中使用「紧急问题」标签时,你可以用它通过 Twilio 来发送信息。或者你可以写一个单行命令,用一个基本的 grep 命令搜索你的存储库。亦或是真的运行任何其它你想运行的代码,因为当你要把存储库中的任何代码转换成一个 Actions 时,只需为它编写一个 Docker 文件,GitHub 就可以运行它。Lambert 解释说,「只要有一个 Docker 文件,我们就可以构建它并运行,将其连接到你的工作线程中。」但是,如果你不想写 Docker 文件,还有一个可视化编辑器可以用来构建你的工作线程。

正如 GitHub 的产品工程主管 Corey Wilkerson 所说,这些 Actions 中有很多已经存在于 GitHub 的存储库中。GitHub 上已经有超过 9600 万个了,这使得很多潜在的 Actions 从一开始就可以利用。

现在,Actions 在有限的公共测试版中,开发人员可以设置工作线程来构建、打包、发布、更新和部署他们的代码,而不必自己运行代码。

现在开发者可以自己托管这些 Actions,它们仅仅只是 Docker 容器,只不过 GitHub 会托管和运行代码。虽然 GitHub 为开发者提供了 Actions,但是这是一个开放平台,GitHub 社区中的其他人也可以贡献他们的 Actions。

beta 测试版注册入口:https://github.com/features/actions

GitHub 2018 年年度报告

除 Actions 外,GitHub 还发布了 2018 年年度报告。以下是报告的主要内容:

报告显示,GitHub 上的开发者已超过 3100 万,其中,2018 年增加的新用户比以往 6 年的总数都要多。超过 210 万个组织使用 GitHub,比去年增加 40%。管理代码仓库超过 9600 万个,比去年增加 40%。过去一年增加的代码数量几乎相当于平台上代码总数的 1/3。

目前,GitHub 平台共有超过 2 亿的 pull request,超过三分之一是过去 12 个月创建的。

截至 2018 年 9 月 30 日,GitHub 上的开发者超过 3100 万,其中新开发者超过 800 万,7 月份注册人数达到 3000 万。

贡献者最多的开源项目

VS Code 再次占据开源项目列表榜首。Facebook、TensorFlow 分别占据榜单第二、三位,贡献者数量分别为 10000 和 9300。新增的项目有管理集装箱化应用程序、共享 Azure 文档和整合 TypeScript 类型定义的 Kubernetes、Azure Docs 和 DefinitelyTyped。

增长最快的开源项目

总体来说,与机器学习、游戏、3D 打印、家庭自动化、科学规划、数据分析、全栈 JavaScript 开发有关的项目增势明显。其中,Pytorch 是增长最快的开源项目之一,增加了 1.8 倍。

好玩的新开源项目

今年开源了很多有趣的项目,从机器学习框架到游戏,包括谷歌的快速原型强化学习算法框架 dopamine 以及 Facebook 的最新目标检测算法实现 Detection 等。这些项目不是增长最快或总收入最高的项目,但是我们认为它们是最具明星价值的——社区也这样认为。

标记的热门话题

今年的数百万个项目跨越了数千个主题。JavaScript(前端和后端)、机器学习、移动应用开发和集装箱化是贡献次数最多的主题。

增长最快的话题

机器学习和 React 是 GitHub 社区的热门话题:机器学习库 PyTorch 及 Gatsby 等基于 React 的网页开发工具都是今年热度增长最快的话题。有关区块链发展不同领域的主题也呈趋势。当然,Hacktoberfest 名列榜首。

近年流行语言排行榜

GitHub 上的编程语言五花八门,但在各种公、私库,各种规模的组织及全球各个地区中,JavaScript 的使用人数始终占据最高位。

TypeScript 在去年首次挤进前十,今年更是跃升到第七位。在贡献者所在的各个地区以及各种公共、私人、开源库中,TypeScript 现在是十大最常用的语言之一。

增长最快的语言

从报告中可以看到专注于线程安全性和互用性的静态类型的语言越来越受欢迎:Kotlin、TypeScript 和 Rust 今年发展迅速。此外,写 HCL(一种用于 DevOps 的人类可读性语言)的贡献者的数量在过去一年翻了一番还要多。机器学习热门语言 Python 位居第八。今年使用 Go 语言的人数是去年的 1.5 倍。

参考链接:

https://www.theinformation.com/articles/microsoft-wont-mess-up-github-executive-says

https://octoverse.github.com/

https://www.theverge.com/2018/10/19/17999562/microsoft-github-acquisition-approved-eu-antitrust

https://techcrunch.com/2018/10/16/github-launches-actions-its-workflow-automation-tool/ 

产业开源编程语言报告微软GitHub
1
相关数据
区块链技术

区块链是用分布式数据库识别、传播和记载信息的智能化对等网络, 也称为价值互联网。 中本聪在2008年,于《比特币白皮书》中提出“区块链”概念,并在2009年创立了比特币社会网络,开发出第一个区块,即“创世区块”。

机器学习技术

机器学习是人工智能的一个分支,是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、计算复杂性理论等多门学科。机器学习理论主要是设计和分析一些让计算机可以自动“学习”的算法。因为学习算法中涉及了大量的统计学理论,机器学习与推断统计学联系尤为密切,也被称为统计学习理论。算法设计方面,机器学习理论关注可以实现的,行之有效的学习算法。

规划技术

人工智能领域的「规划」通常是指智能体执行的任务/动作的自动规划和调度,其目的是进行资源的优化。常见的规划方法包括经典规划(Classical Planning)、分层任务网络(HTN)和 logistics 规划。

TensorFlow技术

TensorFlow是一个开源软件库,用于各种感知和语言理解任务的机器学习。目前被50个团队用于研究和生产许多Google商业产品,如语音识别、Gmail、Google 相册和搜索,其中许多产品曾使用过其前任软件DistBelief。

张量技术

张量是一个可用来表示在一些矢量、标量和其他张量之间的线性关系的多线性函数,这些线性关系的基本例子有内积、外积、线性映射以及笛卡儿积。其坐标在 维空间内,有 个分量的一种量,其中每个分量都是坐标的函数,而在坐标变换时,这些分量也依照某些规则作线性变换。称为该张量的秩或阶(与矩阵的秩和阶均无关系)。 在数学里,张量是一种几何实体,或者说广义上的“数量”。张量概念包括标量、矢量和线性算子。张量可以用坐标系统来表达,记作标量的数组,但它是定义为“不依赖于参照系的选择的”。张量在物理和工程学中很重要。例如在扩散张量成像中,表达器官对于水的在各个方向的微分透性的张量可以用来产生大脑的扫描图。工程上最重要的例子可能就是应力张量和应变张量了,它们都是二阶张量,对于一般线性材料他们之间的关系由一个四阶弹性张量来决定。

强化学习技术

强化学习是一种试错方法,其目标是让软件智能体在特定环境中能够采取回报最大化的行为。强化学习在马尔可夫决策过程环境中主要使用的技术是动态规划(Dynamic Programming)。流行的强化学习方法包括自适应动态规划(ADP)、时间差分(TD)学习、状态-动作-回报-状态-动作(SARSA)算法、Q 学习、深度强化学习(DQN);其应用包括下棋类游戏、机器人控制和工作调度等。

推荐文章
暂无评论
暂无评论~