预约 DBTalk 技术公开课,了解 HTAP 数据库的最佳实践! 了解详情
写点什么

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

发布了 676 篇内容, 共 291.7 次阅读, 收获喜欢 1749 次。

关注

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

Druid 连接池源码阅读 03

石小天

什么是 out-of-distribution data | OOD data

infoQ-LolitaAnn

人工智能 深度学习 5月月更

如何让你的 WordPress 网站更安全

海拥(haiyong.site)

WordPress 5月月更

使用 OData 实施 SAP 系统与第三方系统集成的步骤概述

Jerry Wang

系统集成 SAP OData 5月月更 第三方系统

自开发 Web 应用如何使用 SAP Customer Data Cloud 实现自定义登入功能

Jerry Wang

用户权限 第三方登录 SAP 登录验证 5月月更

【刷题第七天】15 三数之和

白日梦

5月月更

pycharm的安装

秋名山码民

5月月更

druid 源码阅读 3——DataSource的结构(变量)

张大彪

云原生小课堂 | 如何打造一款软硬兼施、多功能、零损耗的云原生网络方案

York

云原生 性能 智能网卡vpc 容器网络方案

增强现实(AR)技术在企业管理软件中的一个实际创新案例

Jerry Wang

AR SAP 虚拟现实 增强现实 5月月更

从服务端生成Excel电子表格(GcExcel + SpreadJS)

葡萄城技术团队

服务器端开发 前端表格控件 测试比较

Go Web编程入门:路由

宇宙之一粟

Go Go web 5月月更

druid源码学习三-继续探究DruidDataSource类init方法

Nick

Apache Druid

前端生成PDF,让后端刮目相看

葡萄城技术团队

PDF pdf.js

数据库连接池 -Druid 源码学习(三)

wjchenge

Druid 数据库连接池

【大数据培训】面试中数据仓库重要概念

@零度

数据仓库 大数据开发

从服务端生成Excel电子表格(Node.js+SpreadJS)

葡萄城技术团队

SpreadJS 前端表格

CMMI研究院刚刚推出两门新认证课程

高山

培训 CMMI 确保安全 确保安防

Docker下的OpenResty三部曲之二:细说开发

程序员欣宸

Docker 5月月更

浅析微服务全链路灰度解决方案

阿里巴巴云原生

阿里云 微服务 云原生 灰度

你肯定听说过requests,但你知道2022年有一个比 requests 还牛的爬虫库吗?

梦想橡皮擦

5月月更

专访朱雷:昔日的游戏少年,如今的Python工匠

图灵教育

Python 程序员 图灵访谈

答题交互功能深入研究

CRMEB

Autograd解析|OneFlow学习笔记

OneFlow

人工智能 深度学习 数学原理 Autograd模块

618大促100用户级秒杀系统架构设计

IT屠狗辈

架构实战营

C语言_结构体总结

DS小龙哥

5月月更

网站开发进阶(六十一)详解js中Number()、parseInt()和parseFloat()的区别

No Silver Bullet

5月月更 Number() parseInt() parseFloat()

【高并发】高并发环境下诡异的加锁问题(你加的锁未必安全)

冰河

并发编程 多线程 高并发 协程 异步编程

FlyFish2.0版本后端源码学习笔记

云智慧AIOps社区

前端 大前端 数据可视化 大屏可视化

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