NVIDIA 初创加速计划,免费加速您的创业启动 了解详情
写点什么

刚刚,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:019913
用户头像
万佳 前InfoQ编辑

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

关注

评论 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
回复
没有更多了
发现更多内容

技术架构+应用场景揭秘,为什么高斯Redis比开源香?

华为云开发者联盟

数据库 redis 开源 云原生 高斯Redis

模块三

[ CloudWeGo 微服务实践 - 08 ] Nacos 服务发现扩展 (1)

baiyutang

golang 微服务 11月日更

模块三作业 外包学生管理系统详细架构设计

小朱

架构实战营

题目二:架构设计题

arctec

用vscode创建第一个flutter项目

坚果

flutter 11月日更

【Flutter 专题】08 图解页面小跳转 (一)

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 11月日更

题目三、简述HDFS的读写流程

arctec

懒人畅听网,有声小说类目数据采集,多线程速采案例,Python爬虫120例之23例

梦想橡皮擦

11月日更

毫米波 5G 比公共 Wifi 快近 30 倍,但覆盖范围相似

DisonTangor

网络

作业三总结

Geek_1d37ea

架构训练营

Go语言,测试功能详解-上

微客鸟窝

Go 语言 11月日更

敏捷开发专家一席谈:云原生技术下的华为云DevOps实践之路

华为云开发者联盟

DevOps 敏捷开发 华为云 devcloud

CodeGuide 300+文档、100+代码库,一个指导程序员写代码的,Github 仓库开源啦!

小傅哥

Java GitHub 小傅哥 开源社区 代码库

TDSQL首次登上腾讯财报!金融机构核心系统落地实现规模化复制

腾讯云数据库

数据库 tdsql

详细剖析Kafka架构及组件

五分钟学大数据

11月日更

微信小程序开发:使用字体图标的方法

三掌柜

11月日更

2021 年 Node.js 的发展趋势

CRMEB

设计消息队列存储消息数据的MySQL表格

毛先生

大数据训练营学习总结

arctec

openLooKeng v1.4.1 上线,OmniData Connector 来了

openLooKeng

大数据 openLooKeng

CSS布局之display:flex

Augus

CSS 11月日更

如何在 JavaScript 中操作二维数组

devpoint

JavaScript array 数组操作 11月日更

Flink CDC 2.0 数据处理流程全面解析

大数据技术指南

11月日更

MySQL打印死锁日志

Simon

MySQL 死锁

用明道云集成多平台多部门数据,发挥数据分析的力量

明道云

模块三作业-外包学生管理系统

二手攻城师

「架构实战营」

创业自研技术团队筹建需要注意什么?

boshi

创业 团队管理

体验内容更新,MindSpore轻松掌握

Geek_6cdeb6

DevOps为何在中国发展滞后?

SoFlu软件机器人

如何“拼”出一个页面-游戏中心模块化实践

vivo互联网技术

开发 组件化 产品方法论

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