【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

刚刚,GitHub 重磅发布四大新功能

  • 2020-05-07
  • 本文字数:2366 字

    阅读完需:约 8 分钟

刚刚,GitHub重磅发布四大新功能


今天,GitHub 在线上举办了 Satellite 2020。每年的 Satellite 是 GitHub 年度最大型的国际产品和社区活动,由于受新型冠状病毒肺炎疫情的影响,GitHub 今年将 Satellite 搬到线上。在 Satellite 2020 上,GitHub 一口气发布了四款新品:CodespacesGitHub DiscussionsCode scanning 和 secret scanning 以及 GitHub Private Instances

新品介绍

Codespaces:一个云上的浏览器 IDE

向社区贡献代码一般都很困难,这个难不在于社区对代码的接纳度,而在于社区内的每个不同的项目、库都有自己各异的开发环境配置方法。因此,开发者在向社区贡献代码之前,通常需要经过一打步骤才能真正地开始写有用的代码。更悲剧的是,你时不时还会碰上两个项目之间的配置环境冲突问题。


基于这样的实际痛点,GitHub 在这次的会议上正式发布了 Codespaces,中文译名代码空间。GitHub 的官方介绍里表示:


Codespaces 为你提供了一个全功能、云托管的开发环境,可以在 GitHub 中秒开,这样开发者就可以很方便地为任意一个项目贡献代码。



依托于老大哥微软的 Visual Studio 的技术支持,Codespaces 内置了一个基于浏览器的完整 VS Code 编辑器版本,你可以很方便地在浏览器中实现代码构建、测试、调试和部署。如果你更偏好桌面 IDE,也可以在 GitHub 中启动 Codespaces 以连接桌面版本。


从该产品的命名上我们也能看出一些端倪,GitHub 没有将其命名为 CodeSpaces,而是直接写作了 Codespaces,这或许代表 GitHub 希望开发者将关注的重点放在 Code 上,而不是 Code 与 Spaces 的并列关系。简而言之,Codespaces 希望给开发者一种更好的 Coding 体验,spaces 只是一个位置概念。


目前发布的 Codespaces 版本是 Beta 版,少数 GitHub 用户有内测使用权限,随着时间推移将逐渐扩大给更多用户使用。Beta 版本的 Codespaces 是免费的,正式版上线后,GitHub 预计将使用简单的按需付费的计费方式。

GitHub Discussions

在 GitHub 看来,社区开发人员不仅仅一起写代码,他们还需要对话交流,集思广益,并以最佳的方式协作。一直以来,GitHub 仅仅提供 issues 和 PR 作为开发人员对话的地方,但是它们各有不足,比如 issues 一般仅用来反馈 bug,提出新特性。


GitHub 表示,“开发者间的交流和对话需要有专属场所,Discussions 正是为此而生。”



据悉,Disscussions 存在于开发人员的项目存储库中。它表现为线程形式,开发者可以很方便地提出问题、回复问题,并组织非结构化的对话。问题可以被标记为已回答,因此随着时间发展,社区的知识基础会不断壮大。并且,开发人员之间的讨论不会以 issues 的形式结束,因此它可以作为维护常见问题解答和其他协作文档的地方。

Code scanning 和 secret scanning

近年来,GitHub 不断致力于提高平台的安全能力。2019 年,GitHub 收购代码分析平台公司 Semmle,致力于查找零日漏洞及其变种。为进一步提高安全性,GitHub 如今推出 Code scanning 和 secret scanning。


开发者启用 Code scanning 后,将对每个“git push”进行扫描来查找新的潜在的安全漏洞,并且结果直接显示在你的 PR 里。根据 GitHub 介绍,Code scanning 使用了世界上最先进的语义分析引擎——CodeQL,后者在排查漏洞方面具有无可匹敌的优势。



Secret scanning 前身叫 token scanning,从 2018 年起,公共存储库可以使用该功能。现在,该功能对私有存储库开放。据 GitHub 介绍,它们和包括 AWS、Azure、谷歌云、npm、Stripe 和 Twilio 在内的合作伙伴一起,致力于扩大覆盖范围。


现在,Secret scanning 还能监视私有存储库中的已知 secret 格式,并在发现它们时立即通知开发人员。目前,GitHub 为所有公共存储库免费提供 Code scanning 和 Secret scanning 功能。

GitHub Private Instances

据 GitHub 介绍,GitHub Private Instances 是一项针对企业用户全新、全托管的选项。Private Instances 提供增强的安全性、合规性和(安全)策略功能,包括 BYOK 加密、备份归档以及对区域数据主权要求的合规性。(该功能目前还未提供 Beta 版。)

砸钱的微软,进击的 GitHub

2018 年 6 月 4 日,微软以 75 亿美元的报价收购了 GitHub,当时的技术圈反馈用“如丧考妣”形容甚至都不为过。彼时的 GitHub 有近 3000 万开发者,托管近 9000 万个开源项目库。不过却一直没有盈利,仅 2016 年前三季度就亏损 6600 万美元。


鲍尔默时代的微软,视开源为洪水猛兽。纳德拉时代的微软,却待开源为蜜糖。



用纳德拉的话讲,微软 +GitHub= 赋能开发者。


有了微软财力支撑的 GitHub 在发展道路上越发没有负担,这两年间不断推出了普惠开发者的各类新功能:


  • GitHub Actions:内置 CI/CD,对所有开源项目免费使用;

  • GitHub Sponsors:用户可以用每月付费的方式赞助开源项目;

  • GitHub Free:无限私有仓库免费使用;

  • GitHub Mobile:移动版 GitHub App 正式上线;

  • GitHub Archive Program:保存代码至少一千年;

  • 集成 npm:支持世界上最大的开发人员生态系统;

  • ……


GitHub 在开源世界攻城拔寨,对微软有何意义?


我们可能需要厘清一个概念,这个世界上或许并不存在纯粹的技术驱动型公司。纳德拉时代的微软,战略目标是以云为先,以 AI 为先。收购 GitHub 首先是符合微软的战略意图,GitHub+Azure,带给开发者的是一套完整的工具链,从代码托管、开源协作到环境部署一应俱全。


从这个角度出发看,微软从收购 GitHub 再到收购 npm,都是为了其战略意图先行。有人或许会担心,微软现在砸钱把用户都聚拢了,后面是不是就要开始割韭菜了?这个问题可能略显狭隘,对微软而言,一个开放的生态、良性的社区才是最符合它的利益的。


开源与商业的冲突问题,这么多年的发展过后已经形成了一个公理,单纯的开源真的不赚钱。保持独立运营的前提是,开源项目或企业有足够的资金支持,当马斯洛需求理论的面包还没满足时,又如何去追求开源的美好与意义?


所以,微软收购后的 GitHub,真香!


2020-05-07 15:019908
用户头像
万佳 前InfoQ编辑

发布了 677 篇内容, 共 335.2 次阅读, 收获喜欢 1794 次。

关注

评论 2 条评论

发布
用户头像
Mark
2020-05-14 12:55
回复
用户头像
“Codespaces in GitHub include a browser-based version of the full VS Code editor” Is VS Code Not VS
2020-05-07 16:23
回复
没有更多了
发现更多内容

java的时间利器:joda

毛佳伟🐳

Java

啪啪,打脸了!领导说:try-catch必须放在循环体外!

王磊

Java 性能优化 性能 java编程

深入理解JVM类加载机制

SkyeDance

类加载 深入理解JVM

匆忙的一周 ARTS第二周

困到清醒

深度解读 Flink 1.11:流批一体 Hive 数仓

Apache Flink

大数据 flink 流计算 实时计算

万字长文,助你吃透Eureka服务发现机制!

周果

分布式 微服务 Eureka

深入理解ClassLoader

SkyeDance

类加载 深入理解JVM ClassLoader

iOS 动画 - 窗景篇(一)

柯烂

ios objective-c swift 移动应用 动画

【大厂面试01期】高并发场景下,如何保证缓存与数据库一致性?

NotFound9

Java MySQL 数据库 redis 后端

我的 Windows 利器

玄兴梦影

工具 Win

Linux 自动化运维工具 ansible

杨仪军

Linux 运维自动化

赢的境界 - 双赢思维

石云升

创业 创业心态 双赢思维

不想被下载限速,教你自建属于自己的云盘!

小傅哥

小傅哥 云服务 云盘 在线网盘

除了直接看余额,谁更有钱还能怎么比(三)

石君

零知识证明 多方计算 同态加密

架构学习历程

从技术到管理,我在极客时间的成长历程

邓建春

是公司养活了你,还是你养活了公司?

四猿外

生涯规划 程序员 个人成长

搞定 HTTP 协议(一):HTTP 与网络基础

零和幺

技术 大前端 HTTP

关于区块链的“去中心化”,90% 的人都搞错了

CECBC

CECBC 区块链技术 去中心化 专制

[Redis] 你了解 Redis 的三种集群模式吗?

猴哥一一 cium

redis redis高可用 redis哨兵模式 群集安装

信息的表示与存储-整数的表示

引花眠

深入理解ContextClassLoader

SkyeDance

深入理解JVM ContextClassLoader

机器学习算法评估指标——2D目标检测

做技术BP的文案Gou

【求锤得锤的故事】Redis锁从面试连环炮聊到神仙打架。

why技术

redis 分布式锁 分布式系统

产品经理的商业能力

punkboy

程序人生 产品经理 商业 商业模式 商业价值

游戏夜读 | 2020周记(5.24-5.31)

game1night

MySQL实战笔记-事务隔离和MVCC

shiziwen

MySQL 学习 事务隔离级别

坏的开始是成功的一半

escray

这些Java8官方挖的坑,你踩过几个?

牧码哥

Java 踩坑 加密 「Java 25周年」

ARTS打卡 第2周

引花眠

ARTS 打卡计划

CPU的性能,编译器是这样压榨的!

GPU

算法 cpu 编译器 程序语言

刚刚,GitHub重磅发布四大新功能_开源_万佳_InfoQ精选文章