写点什么

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

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

关注

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

Higress & Kruise Rollout: 渐进式交付为应用发布保驾护航

阿里巴巴云原生

阿里云 云原生 Higress

新同事卷的要死 , 天天加班,动不动就手写spring , 直呼崩溃

程序知音

Java java面试 后端技术 春招 Java面试八股文

自动驾驶技术平台分享:百度Apollo开放平台8.0再升级,更简单,更便捷,更高效

石臻臻的杂货铺

自动驾驶

程序员为什么下班后只关显示器从不关电脑

风铃架构日知录

Java 程序员 后端 码农 IT

ImageView(图像视图)

攻城狮Wayne

imageView android布局 图像视图

流量路由技术解析

阿里巴巴云原生

阿里云 云原生 流量路由

SpringBoot 框架中的 Tomcat 为什么一定要替换掉?

风铃架构日知录

Java spring 程序员 后端 springboot

应用级容灾

agnostic

DR

模块四作业

Ryan

架构

流光绘影开年大秀顶级艺术团队×中科极光“真激光”精彩呈现

硬科技星球

作为QA,我们要如何思考?

QE_LAB

测试思维

airserver2023最新版免费使用教程

茶色酒

AirServer2023

Github限时开放!阿里巴巴内部亿级Java高并发系统设计手册

架构师之道

Java 架构 面试

13 个前端可能用得上的 CSS技巧

devpoint

CSS ios 前端开发 scss

Spring 响应式编程,真香!!!

老周聊架构

响应式编程

2023年玩兔年小游戏《兔兔保卫萝卜战》赢新年祝福「钱兔无量」

非喵鱼

Java swing 小游戏 新年祝福

年终盘点一 | 云原生的 2022 年:降本提效、全面 Serverless 化

阿里巴巴云原生

阿里云 Serverless 云原生

替换目标中覆盖的文件如何恢复?EasyRecovery软件2023特色

茶色酒

EasyRecovery EasyRecovery15

单体的 TienChin 和微服务的 TienChin 有何异同?

江南一点雨

微服务

架构实战营模块 4 作业

刘博

接口限流算法:漏桶算法&令牌桶算法&redis限流

懒时小窝

《零基础学 Python(2023 版)》学习笔记 Day1

IT蜗壳-Tango

对话开发者:Serverless 落地的困境与破局

阿里巴巴云原生

阿里云 Serverless 云原生

一文读懂什么是 Web3 架构

风铃架构日知录

编程 程序员 后端 码农 web3

微博评论的高性能高可用计算架构

闲人Eric

#架构实战营

MSE ZooKeeper 数据导入导出功能上线

阿里巴巴云原生

zookeeper 阿里云 云原生

RocketMQ 多语言 SDK 开源贡献召集令

阿里巴巴云原生

阿里云 RocketMQ 云原生

Ikigai: 享受生命的意义

俞凡

思维模型 Ikigai

模块一作业(架构实战训练营)

Justin

架构实战营

2023-01-08:小红定义一个仅有r、e、d三种字符的字符串中, 如果仅有一个长度不小于2的回文子串,那么这个字符串定义为“好串“。 给定一个正整数n,输出长度为n的好串有多少个。 结果对10^9

福大大架构师每日一题

算法 rust Solidity 福大大

让 Java Agent 在 Dragonwell 上更好用

阿里巴巴云原生

Java 阿里云 云原生

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