The Pragmatic Engineer - GitHub的现在、过去与未来 封面

GitHub的现在、过去与未来

The present, past and future of GitHub

本集简介

由我们的合作伙伴支持 • Statsig — 用于功能开关、分析、实验等的统一平台。 • Graphite — AI 开发者生产力平台。 • Augment Code — 受资深工程团队喜爱的 AI 编程助手。 — GitHub 最近迎来了 17 周年纪念——但它最初是如何起步的?如何演进的?当 AI 重塑开发者工作流时,它的未来又将如何? 在本期《务实工程师》节目中,我邀请到了 GitHub 的首席执行官托马斯·多姆克。托马斯已使用 GitHub 16 年,任职员工 7 年。我们讨论了 GitHub 早期的架构、其以远程优先为核心的运营模式,以及公司如何应对 AI 的浪潮——从 Copilot 到智能代理。我们还探讨了 GitHub 为何招聘初级工程师、早期如何实现产品市场契合,以及为何一款广受欢迎的工具有时反而会让产品发布变得更困难。 我们还讨论了以下话题: • GitHub 的架构如何超越了最初的 Rails 单体架构 • GitHub 如何作为一家远程优先的公司运营——为何极少使用电子邮件 • GitHub 对安全的严谨态度 • GitHub 为何招聘初级工程师 • GitHub 被微软收购 • Copilot 的发布及其对软件开发的重塑 • 为何 GitHub 将 AI 代理视为工具,而非取代工程师 • 以及更多内容! — 时间戳 (00:00) 引言 (02:25) GitHub 的现代技术栈 (08:11) 从云优先到混合架构:GitHub 如何处理基础设施 (13:08) GitHub 的远程优先文化如何塑造其运营 (18:00) 过去与现在的内部工具,包括 Haystack (21:12) GitHub 的安全策略 (24:30) GitHub 目前的规模,包括安全与工程团队 (25:03) GitHub 的实习生计划,以及为何招聘初级工程师 (28:27) 为何 AI 不能替代初级工程师 (34:40) GitHub 的简史 (39:10) 为何 GitHub 迅速实现了产品市场契合 (43:44) 拉取请求的诞生 (44:50) GitHub 如何支持离线工作 (46:21) 被收购后 GitHub 的变现模式变化 (48:00) 2014 年桌面应用发布 (52:10) 微软收购 (1:01:57) GitHub 安静期幕后 (1:06:42) Copilot 的发布及其影响 (1:14:14) 为何 GitHub 决定开源 Copilot 扩展 (1:20:01) AI 代理与“工程师岗位将消失”的迷思 (1:26:36) 结尾 — 本期节目相关的《务实工程师》深度文章: • 现实世界中的 AI 工程 • AI 工程栈 • 与 Greg Kroah-Hartman 一起了解 Linux 的构建方式 • 堆叠式差异(以及为何你应该了解它们) • 微软与开发者工具的 50 年 — 查看本期节目的文字稿及其他参考资料:https://newsletter.pragmaticengineer.com/podcast — 制作与营销由 https://penname.co/ 负责。如有关于赞助本播客的咨询,请发送邮件至 podcast@pragmaticengineer.com。 立即订阅《务实工程师》获取完整内容:newsletter.pragmaticengineer.com/subscribe

双语字幕

仅展示文本字幕,不包含中文音频;想边听边看,请使用 Bayt 播客 App。

Speaker 0

CVU是2021年推出的,对吧?

CVU came out '21, yeah?

Speaker 0

GPT-3是在2020年Build大会之后不久发布的。

GPT-three came out right after the Build conference in 2020.

Speaker 0

凯文·斯科特和萨姆·阿尔特曼做过一场关于Transformer和荷兰语模型的分享,之后GPT-3进入预览阶段,我们通过OpenAI和微软的合作拿到了访问权限。我们和OpenAI一起发现,这个模型能用多种编程语言写出不错的代码,而且完全不会把Python、Ruby和JavaScript的语法搞混。

Kevin Scott and Sam Altman did a session about transformers and Dutch language models, then after that GPT-three got into the preview, and we got access to that and through the OpenAI Microsoft partnership, And we realized together with OpenAI that it was able to write decent code in different programming languages and wouldn't not mix up the syntax between Python, Ruby, and JavaScript.

Speaker 0

后来OpenAI专门针对编程场景微调了一个模型,叫Codex。

Then OpenAI fine tuned a model that was called Codex that was specific for these coding scenarios.

Speaker 0

所以在2020年8月,我们写了一篇论文,提出了三个想法:文本转代码、代码转文本(也就是用语言描述代码),还有我们当时叫‘对话式编程’的东西,现在大家都知道那是聊天。

So in 2020 and in August, we wrote a paper with three ideas we had, text to code, code to text as in describing code, and conversational coding is what we called it, which then today is known as chat.

Speaker 0

但后两种场景效果不够好。

And those two latter scenarios didn't work well enough.

Speaker 0

文本转代码——也就是在编辑器里直接给模型下指令,最终实现自动补全——这个效果太好了,很快我们内部的员工就开始用,给的评分特别高,都说:这太棒了。

Text to code, as in prompting the model within the editor and ultimately building auto completion, that worked so well that very quickly we saw our internal hubbers adopting the tool, giving it really high scores, saying, This is great.

Speaker 0

我想继续用这个工具。

I wanna keep using this.

Speaker 0

这不是那种管理层硬逼着你非用不可、你还特反感的情况。

It's not the typical management says you have to use it and you don't want to.

Speaker 0

但在早期,这些文件里有25%的代码都是靠这个工具生成的。

But ultimately writing in the early days, 25% of the code in those files, it was enabled.

Speaker 0

没过多久,这个比例就升到了50%左右,我记得大概是2023年初的时候。

Then shortly thereafter, that number got into the 50% range or 46%, I think early twenty twenty three.

Speaker 0

那时候就是Copilot的起步阶段。

And so that was the early days of Copilot.

Speaker 0

到了2021年6月,我们正式开放公测。

And then June 2021, we went into the public preview.

Speaker 0

短短几个月内,用户就突破了一百万。

And within a few months, this had grown to a million users.

Speaker 0

我们越来越多地看到社交媒体上有人说:本来我怀疑这东西根本行不通,结果发现它真够用,现在我都离不开它了。

And we saw more and more folks on social media saying, well, I was skeptical that this could ever work, but it actually is good enough that I don't wanna work without it anymore.

Speaker 1

GitHub最近刚满17岁。

GitHub recently turned 17 years old.

Speaker 1

但它是怎么开始的呢?

But how did it start?

Speaker 1

这个平台又是怎么发展起来的?

And how did the platform evolve?

Speaker 1

我采访了GitHub的首席执行官托马斯·多姆克,他用了十六年的GitHub,为这家公司工作了七年,自2021年起担任CEO已经四年了。

I sat down with GitHub CEO Thomas Dohmke, who has been a GitHub user for sixteen years, has been working at GitHub for seven years, and has been the CEO of the company for the last four years since 2021.

Speaker 1

在本期节目中,我们聊了聊GitHub远程优先、异步优先的工程文化,为什么公司几乎不用邮件,为什么2015到2020年间看似停止了新功能开发,以及他们是怎么在2021年打造出GitHub Copilot的。

In today's episode, we discuss GitHub's remote first and async first engineering culture and why the company barely uses email, why GitHub seemingly stopped shipping features between 2015 and 2020, and how they created GitHub Copilot in 2021.

Speaker 1

GitHub早期有一些很有趣的内部工具,比如Haystack、GitHub TV和Help。

GitHub's interesting internal tools in the early days, like Haystack, GitHub TV, and Help.

Speaker 1

GitHub每天大约要处理一百亿次API请求,也就是每秒十二万次左右。

How GitHub sees about 10,000,000,000 API requests per day, that's about 120,000 per second.

Speaker 1

托马斯并不认为自主AI工具能解决复杂的工程难题,我们还聊了更多话题。

And why Thomas doesn't believe that autonomous AI tools would solve hard engineering challenges, and many more topics.

Speaker 1

如果你对GitHub这样的高速增长公司过去、现在和未来感兴趣,这期节目一定适合你。

If you're interested in the past, present or future of a high growth company like GitHub, this episode is for you.

Speaker 1

如果你喜欢这个节目,请在任意播客平台或YouTube上订阅我们的频道。

If you enjoy the show, please subscribe to the podcast on any podcast platform and on YouTube.

Speaker 2

托马斯,欢迎来到我们的播客。

So, Thomas, welcome to the podcast.

Speaker 2

非常感谢你邀请我来。

Thank you so much for having me.

Speaker 2

终于能面对面见面了,之前一直通过邮件联系,现在总算把名字和人对上号了。

It's great to meet in person after exchanging emails and putting a name to the face.

Speaker 0

还有每周都看你的通讯。

And reading your newsletter every week.

Speaker 2

是的。

Yeah.

Speaker 2

或者

Or

Speaker 0

我觉得是每周两次吧。

twice a week, I guess.

Speaker 2

我很感激。

I appreciate that.

Speaker 2

正是从这里开始有了互动。

That's where interaction started.

Speaker 2

在进入历史之前,我想先聊聊一些关于 GitHub 的有趣事实,有些人可能知道,有些人可能还不了解。

Before we jump into the history, I just wanted to go through a couple of like just interesting things that people might or might not know about GitHub.

Speaker 2

第一点是技术架构。

Number one is a tech stack.

Speaker 2

大家普遍知道,或者以前都知道,GitHub 最初是个用 Ruby on Rails 写的单体应用。

It is pretty commonly known or it used to be that this was a Ruby on Rails monolith.

Speaker 2

那时候它可能是世界上最大的一个。

At some point it might have been the biggest in the world.

Speaker 2

后来我想,Shopify 可能就赶上了。

And then I think, you know, Shopify might have come.

Speaker 2

那现在呢?它还是 Ruby on Rails 的单体架构吗?还是已经变了?

But today, is it still a Ruby on Rails monolith or have things changed?

Speaker 0

现在还是用 Ruby on Rails。

It's still Ruby on Rails.

Speaker 0

而且我觉得它依然是世界上最大的 Ruby on Rails 应用之一。

And I think it's still one of the largest Ruby on Rails applications.

Speaker 0

你没提到的另一个是 Twitter。

The other one you didn't mention was Twitter.

Speaker 0

早期的时候,Twitter 也是用 Ruby on Rails 的。

It was in the early days also Ruby on

Speaker 2

在早期阶段。

In the early days.

Speaker 2

对。

Yeah.

Speaker 2

我觉得。

I think

Speaker 0

这三家公司,不管以哪种形式,都已经不再完全依赖 Rails 作为唯一的技术栈了。

all three companies in one form or another have somewhat moved away from this being the only part of the Stacks.

Speaker 0

我们仍然保留着一个庞大的单体应用,公司里大约有700名工程师在不同时间段参与维护。

We still have a large monolith with about 700 engineers in the within the company contributing to it, you know, at different times of the year.

Speaker 0

并不是所有人都一直在处理这个单体系统。

Not all of them are working constantly in the monolith.

Speaker 0

我们刚刚累计向这个单体应用提交了两百万次Git提交,还有数以万计的合并请求。

We actually just passed 2,000,000 Git commits into the monolith and, you know, tens of thousands of pull requests.

Speaker 0

不过,我们也不再只依赖这一种架构了。

But we also have moved beyond just that one architecture.

Speaker 0

比如,前端现在越来越多地用上了React。

So for example, we're using more and more React on the front end.

Speaker 0

我们还搭建了不少独立于单体之外的服务。

We have a number of, you know, services that fit outside the monolith.

Speaker 0

举个例子,Copilot的API是用Go写的,因为它需要处理大量推理请求。

For example, the Copilot API is written in Go, given it needs, you know, lots of API calls for inference.

Speaker 0

对。

Yeah.

Speaker 0

GitHub Actions 用的是完全不同的技术栈。

The GitHub Actions sits on a completely different tech stack.

Speaker 0

GitHub Actions

GitHub Actions

Speaker 2

我猜Rails可能不太适合处理非常繁重的工作流。

I I would imagine Rails might not be the best for a very heavy workflow.

Speaker 0

而且它其实是有历史渊源的,因为ActionStack的很大一部分,都来自之前的Visual Studio Team Services,后来改名叫Azure DevOps。所以那个代码库里,有大量的.NET代码。

And it has a it has actually a history because a large part of the ActionStack came from what was back then Visual Studio Team Services and then became Azure DevOps and so Azure And so there was a lot of dot net code in that code base.

Speaker 0

随着时间推移,我们现在正朝着更现代的架构演进,目标之一是实现四个九甚至更高的可用性。

And over time, we are now evolving that into a more modern architecture with the goal of, you know, one of the other posts of getting to four nines and beyond.

Speaker 0

所以目前我们的技术栈非常多样化。

So our tech stack is very diverse today.

Speaker 0

显然,我们也在用 Swift 开发 iPhone 应用。

Obviously, we're doing also Swift for iPhone app.

Speaker 0

我们的安卓应用则用的是 Kotlin。

We have Kotlin for Android app.

Speaker 0

我们不仅用上了各大云平台,还在商用数据中心保留了自己的物理服务器。

We are using, you know, all the clouds beyond also having our own metal in commercial data centers.

Speaker 0

我们就像一家现代软件公司,面临着所有人都会遇到的复杂性和挑战。

And we are like a modern software company with all the complexity and all the challenges that everybody else has as well.

Speaker 2

而且,那些并不简单的权衡取舍也很多,比如大家总爱说 Rails 扩展不了,为什么要用它?

And I guess all the not simple trade offs, for example, it's easy to point, you know, the community loves to say Rails does not scale or why would you do it?

Speaker 2

但你就是个很好的反例。

But I mean, you are one example.

Speaker 2

显然,还有其他公司也一样,问题不在于技术本身,而在于你用它做了什么,以及你背后的历史。

Obviously, there's other companies we mentioned that it feels like it's less about the technology itself, but what you're building on it and, you know, your history of it.

Speaker 2

然后

Then

Speaker 0

我们光是讨论单体仓库加单体架构,跟成百上千个微服务相比的好处,就能聊上一整个小时。

I mean, we can spend a whole hour probably just talking about the benefits of having a mono repo with a monolith versus, you know, hundreds of microservices.

Speaker 0

你知道吗?GitHub 在 2007 年刚成立的时候,前一年多时间里,就只有三位创始人——克里斯、PJ 和汤姆,再加上斯科特,他现在是 Git Butler 的创始人,还有斯科特·夏科特,他是第一个员工,但大家常把他当成第四位创始人。

You know, when GitHub was, in 2007, was founded for, I think, more than a year, it was only the three original founders, Chris, PJ, and Tom, plus Scott, who's now the founder of Git Butler, and Scott Charcot, who's kind of like the first employee, but was often seen as the fourth founder.

Speaker 0

所以,四个人的团队可能更适合用同一个代码库来协作。

And so, you know, a team of four is maybe better off of working in a single code base.

Speaker 0

这样推进起来快得多。

You can move much faster.

Speaker 0

对GitHub来说,能快速迭代、不断推出新功能,这一点一直很重要。

I think that was always important for GitHub to be able to move really fast and then ship new features.

Speaker 0

公司和产品规模扩大后,统一的代码库也更容易让人上手,理解各个模块之间的依赖关系。

And it's much easier to, you know, get to learn the code base and then try to understand the dependencies as the company scales and the product scales.

Speaker 0

从这种架构转向别的方向,反而更合理。

It makes more sense to move away from that architecture.

Speaker 2

太好了,你正好说到点子上了。

I I I'm I'm so glad you're you're saying this.

Speaker 2

前几天我跟一位亚马逊早期员工聊,他也这么说,当初亚马逊早期这么搞确实很合适。

The other day, I was talking with an early Amazon employee, he was saying the same thing, how early Amazon, it made sense.

Speaker 2

没错。

Yeah.

Speaker 2

等团队壮大了,自然就能看清各种权衡了。

And then as you grow, you know, you figure out your trade offs.

Speaker 1

想做出出色的产品,就得快速上线。

If you wanna build a great product, you have to ship quickly.

Speaker 1

但你怎么知道哪些功能有效呢?

But how do you know what works?

Speaker 1

更重要的是,怎么避免推出没用的功能?

More importantly, how do you avoid shipping things that don't work?

Speaker 1

答案就是 Statsig。

The answer, Statsig.

Speaker 1

Statsig 是一个整合了功能开关、数据分析、实验等五大功能的统一平台,所有数据都打通了。

Statsig is a unified platform for flags, analytics, experiments and more, combining five plus products into a single platform with a unified set of data.

Speaker 1

它是怎么运作的呢?

Here's how it works.

Speaker 1

首先,Statsig 帮你通过功能开关或配置来上线新功能。

First, Statsig helps you ship a feature via feature flag or config.

Speaker 1

接着,它会通过告警、错误记录、用户使用该功能的回放,以及核心指标的变化来衡量效果。

Then, it measures how it's working from alerts and errors to replays of people using that feature to measurement of top line impact.

Speaker 1

然后你会看到分析数据、用户账户指标和仪表盘,跟踪你每次发布后的长期进展,所有数据都和你上线的功能直接关联。

Then you get your analytics, user account metrics, and dashboards to track your progress over time, all linked to the stuff you ship.

Speaker 1

更棒的是,Statsig 价格非常亲民,提供慷慨的免费套餐,新手计划还送五万美元的免费额度,还有定制方案,帮你整合现有的标志、分析或 A/B 测试工具的开支。

Even better, Statsig is incredibly affordable with the super generous free tier, a starter program with $50,000 of free credits, and custom plans to help you consolidate your existing spend on flags, analytics, or AB testing tools.

Speaker 1

想开始使用?请访问 statsig.com/pragmatic。

To get started, go to statsig.com/pragmatic.

Speaker 1

就是 statsig.com/pragmatic。

That is statsig.com/pragmatic.

Speaker 1

祝你开发顺利。

Happy building.

Speaker 1

本集由 Graphite 赞助播出,这是一款开发者效率平台,帮助开发者创建、审查和合并更小的代码变更,保持顺畅,更快交付。

This episode is brought to you by Graphite, the developer productivity platform that helps developers create, review, and merge smaller code changes, stay unblocked, and ship faster.

Speaker 1

代码审查是工程团队耗时最多的事情之一。

Code review is a huge time sink for engineering teams.

Speaker 1

大多数开发者每周要花一天甚至更多时间来审查代码,或者等着别人审他们的代码。

Most developers spend about a day per week or more reviewing code or blocked waiting for a review.

Speaker 1

其实没必要这样。

It doesn't have to be this way.

Speaker 1

Graphite 把像 Meta 和 Google 这类顶尖公司内部使用的代码审查流程——堆叠式拉取请求,带到了每一个使用 GitHub 的软件团队。

Graphite brings stack pull requests, the workflow at the heart of the best in class internal code review tools at companies like Meta and Google to every software company on GitHub.

Speaker 1

Graphite 还利用了基于代码的智能 AI,能给开发者即时、具体的反馈,帮团队大幅减少反复修改的次数。

Graphite also leverages high signal, code based aware AI to give developers immediate actionable feedback on their pull requests, allowing teams to cut down on review cycles.

Speaker 1

Asana、Ramp、Tecton 和 Vercel 等顶尖公司的数万名开发者每天都依赖 Graphite。

Tens of thousands of developers at top companies like Asana, Ramp, Tecton, and Vercel rely on Graphite every day.

Speaker 1

现在就免费开始用 Graphite,把合并代码的时间从几天缩短到几小时。

Start stacking with Graphite today for free and reduce your time to merge from days to hours.

Speaker 1

马上开始:gt.

Get started at gt.

Speaker 1

Devpragmatic.

Devpragmatic.

Speaker 1

G代表Graphite,T代表技术。

That is G for Graphite, T for technology.

Speaker 1

Devpragmatic。

Devpragmatic.

Speaker 2

你刚才提到一个很有意思的事,我也听说你们过去自己运营数据中心。

Now you mentioned something really interesting, which I also heard that you run your own data centers or historically have run your own data centers.

Speaker 2

但我跟一些现任GitHub的人聊过,他们说你们现在某些地方仍然在这么做。

But I talked with some current GitHub folks and they said that you in some parts still do so.

Speaker 2

你们当初为什么这么做?

Why did you do this?

Speaker 2

现在情况有什么变化?

How is it changing?

Speaker 2

既然你们现在已经是微软的一部分了,那有没有考虑用一些Azure的服务?

Are you obviously, since you're now part of Microsoft as well, does it make sense to use some parts of Azure?

Speaker 2

如果有,你们具体在用哪些部分?

And if so, what parts are you using?

Speaker 2

你还提到了其他的云服务。

And you also mentioned other clouds.

Speaker 2

所以关于自建数据中心,以前我们总说,那不就是搬到了云上吗?

So like, how are thinking of own data center, which again, we used to say, oh, it's just moved to the cloud.

Speaker 2

但现在,想法正好反过来。

Now there's now an opposite of thinking as well.

Speaker 2

你怎么看这个变化?

What's your take on this?

Speaker 0

GitHub 一开始就是在云上搭建的。

GitHub started on the cloud.

Speaker 0

真的吗?

Really?

Speaker 0

据我印象,早期它就是当 PaaS 来设计的,背后用的是 AWS。

Early days, was, to my memory, it was engineered as a platform as a service provider and then AWS behind the scenes.

Speaker 2

哦,原来如此。

Oh, okay.

Speaker 0

现在这个世界,很多初创公司一出来就宣布巨额融资,甚至把融资当成常态,好像公司成立五年内都离不开这事儿。

You know, it's easy to forget in today's world where lots of startups announce huge funding rounds, get a patent on funding until, I think, five years into its journey.

Speaker 0

可那时候,居然有1亿美元的融资,还是由安德森·霍洛维茨领投,简直闻所未闻。

When back then unheard of 100,000,000 came from a round led by Andreessen Horowitz.

Speaker 0

但在那之前,GitHub 一直都是自己养活自己。

But until that point in time, GitHub was bootstrapped.

Speaker 0

而且用户增长特别快,2008年4月刚上线,公有和私有仓库的数量就一路飙升。

And it had very fast adoption, you know, launched in April 2008, very quickly the number of users, the number of both public and private repositories kept going.

Speaker 0

到现在你还能看到有人说,他们当时都快求着创始人赶紧推出付费服务,好让他们放心公司能撑下去。

You can still find, you know, people talking about that they are begging the founders to introduce a paid tier so they have the confidence that the company can survive.

Speaker 2

会一直存在,没错。

Will be around, yes.

Speaker 0

会一直存在。

Will be around.

Speaker 0

所以创始人很自然地想,既然我们靠自己收入撑着,又没拿风投的钱,那怎么才能把成本压得更低、运营更高效?

And so it was a natural business decision for the founders to say, how can we host this more optimized cost given that we are bootstrapping this and we're having to pay for the service from our own revenue stream, couldn't be burning money because they had, you know, they had no money from venture capitalists.

Speaker 0

所以我觉得这也是做出这个决定的一部分原因。

And so I think that was part of starting the decision.

Speaker 0

另一个原因是,把 Git 数据——也就是我们现在说的 Git 系统团队负责的文件存储——放在云服务上,其实并不是最合适的用例。

The other one is, you know, storing Git data, what we call today our Git systems team in file storage in itself is probably not like the best use case for the cloud services.

Speaker 0

在 2008 年、2009 年那会儿,能接触到的云基础设施很有限,尤其是多台服务器之间网络通信的复杂程度,远比现在高得多。

You know, in 2008, 2009, where you had limited access to that layer and where, you know, especially the networking part of having multiple nodes communicating with each other was much more complex than it is today.

Speaker 0

因此,最终决定把服务器迁移到商用数据中心。

And so the decision was made to move to servers in commercial data centers.

Speaker 0

我们自己拥有这些服务器,包括机架、存储设备等等,全都是我们的。

So we own the servers and we still own, you know, the servers and the racks and the storage and all that.

Speaker 0

但数据中心本身是租的,我们并不拥有那个物理空间。

But the data center is a commercial data center, so we don't own the data center.

Speaker 0

这里的‘拥有’,我得打个引号,跟听众说明一下。

So it's own in the sense of I'm making air quotes for listeners.

Speaker 0

我们说的‘拥有’,是指我们自己管理这些数据中心里的服务器。

It's own in the sense of we manage, you know, the servers in those data centers.

Speaker 0

不过,如今的 GitHub 依然保留了大量这种架构。

Now, today's GitHub still is a lot of that.

Speaker 0

核心部分还是运行在我们自有的数据中心,但像 GitHub Actions、GitHub Codespaces、GitHub Copilot 这些功能,都是跑在 Azure 上的,毕竟要按需扩展——无论是 CPU 资源处理动作,还是 Copilot 所需的 GPU。

The core is in these own data centers, but things like GitHub Actions, GitHub Port spaces, GitHub Copilot run on Azure, you know, cloud and level it to scale that you naturally need, whether it's, you know, CPUs and actions or GPUs in Copilot.

Speaker 0

当然,Copilot 因为支持多种模型,用到了 Anthropic、OpenAI 和 Gemini 的模型,并不是所有这些模型都部署在 Azure 上。

Of course, Copilot, given its multimodal choice and has Ethropic models and OpenAI models and Gemini models, not all of these models are on Azure.

Speaker 0

所以我们自然也要和其他云服务商合作。

So naturally, we also work with Yeah.

Speaker 0

我们通常同时对接第一方 API,也就是 OpenAI 或 Anthropic 提供的接口,还有像 Vertex AI 这类其他云平台的服务。

Other often with both, you know, the first party API, aka the API that OpenAI or Anthropic provide, and, you know, other clouds that that have Vertex, bad luck, and so on.

Speaker 0

事实上,我们现在已将 GitHub 完全托管在 Azure 上,以满足数据驻留需求。

And we, in fact, now have GitHub fully hosted on Azure for data residencies.

Speaker 0

如果你是欧洲的企业客户,希望所有数据都留在欧洲,那你用的就是

If you Uh-huh.

Speaker 0

那种情况

As an enterprise customer in Europe, want your data all stored in Europe, you're getting That's kind

Speaker 2

这可是个大事。

of a big deal.

Speaker 0

你会获得一个完全运行在荷兰和瑞典Azure上的GitHub组织。

You're getting a GitHub organization on a stamp that fully runs on Azure in Netherlands and in Sweden.

Speaker 0

澳大利亚也有同样的部署。

And we have the same for Australia.

Speaker 0

我们刚刚宣布了符合FedRAMP标准的美国区域,未来几年还会扩展到更多地区。

We've just announced a US stamp that will be FedLAMP compliant, and we're going to expand into into more regions in in the years to come.

Speaker 2

是的。

Yeah.

Speaker 2

我觉得这些事听起来挺枯燥的,但当你所在的公司开始重视这些时,它们就变得至关重要了。

I feel these are the, like, really kind of boring things, but they're they they start to become really important when you are at a company that, you know, is now starting to care about these things.

Speaker 0

从工程角度看,可一点都不枯燥。

Well, not boring from an engineering perspective.

Speaker 2

倒也不是枯燥,只是从外部看,这些不是那种亮眼的功能,但我同意。

Well, not not boring, but, like, it's it's the thing that I think as a from outside, you know, it's it's not the shiny features, but I agree.

Speaker 2

从工程角度来看,这其实挺有挑战性的。

An engineering perspective, that actually sounds pretty challenging.

Speaker 0

如果你回过头看 Ruby on Rails 的讨论,你知道,我们不仅用 Rails,还用 MySQL。

The the the challenge, you know, if you go back to the Ruby on Rails conversation is and if you know a bit about Rails and how and we not only run on Rails, we also run on MySQL.

Speaker 0

所以每次你修改数据库表的结构——也就是所谓的迁移——就会触发一次操作。

And so whenever you change, you know, the schema of a database table, a so called migration is run.

Speaker 0

没错。

Yep.

Speaker 0

如果你不止在一个地区有一个部署点,而是有五到十个,每天还要部署几百次,那该怎么处理?

How do you do that if you not only have one stamp in one region, but you actually have, you know, five or 10 stamps and you deploy, you know, hundreds of times per day.

Speaker 0

事实上,今年我们预计全公司大约一千名工程师将完成总共一千两百万次部署。

In fact, I think this year we're forecasting 12,000,000 deploys across about a thousand or so IC engineers that we have in the company.

Speaker 0

那问题来了,该怎么操作?

And so how do you do that?

Speaker 0

我们到底怎么部署?

How do we deploy?

Speaker 0

你怎么从只有一个中心部署点——比如我们美国数据中心的云环境——过渡到同时向这么多不同区域、各种随机迁移进行部署呢?

How do you go from one, you know, central stamp on our US data center cloud, if you will, to having, you know, deployment that goes to all these different stamps and random migrations.

Speaker 0

而且还得能随时回滚。

Then if you need to able to roll back.

Speaker 0

所以,这方面投入了大量的工程工作。

So that was a lot of the engineering work that went into that.

Speaker 0

相比之下,把系统迁移到Azure本身反而没那么复杂,真正花力气的是调整整个开发体验,让它跟我们现在多区域运行的架构匹配起来。

Less so I'd say the actual work of moving this to Azure was less work than getting the engineering system to DX the developer experience actually aligned with this now we are running in multiple regions.

Speaker 2

是的。

Yeah.

Speaker 2

有一件事我一直觉得挺让人意外的,很多不太了解GitHub的人以为,现在被微软收购了,肯定就跟微软其他产品一样了。

One interesting thing that I always surprise people who don't know GitHub all that well is people think, it's now Microsoft, right?

Speaker 2

所以他们觉得,GitHub的运作方式肯定跟微软一模一样。

So it must work the same way as Microsoft.

Speaker 2

但其实有个事实就能说明,根本不是这么回事。

Then, you know, one like fact that shows this is not the case.

Speaker 2

GitHub依然坚持远程优先的工作模式。

GitHub is still remote first.

Speaker 2

它从一开始就是远程优先的,实际上,在新冠疫情之前,它是少数几家真正实行远程优先的公司之一。

It started as remote first initially, it was actually one of the few companies that even before COVID truly remote first.

Speaker 2

据我所知,即使现在也还是远程优先的。

As I understand, even today, it's remote first.

Speaker 2

请跟我详细说说,你们是怎么保持这一点的?在一个大公司里——微软本身并非远程优先——这种模式具体是如何运作的?

Tell me about this on, A, how you managed to keep this, how is working inside a larger company, which, you know, Microsoft is not remote first.

Speaker 2

据我了解,虽然有些部分确实更支持这种模式,但总的来说,大家通常还是会在办公室办公。

There are, I understand, parts of it that are more supportive of it, but generally, you know, people are often in the office.

Speaker 0

这三位创始人,他们其实是在旧金山认识的。

So the three founders, they actually met in San Francisco.

Speaker 0

可以说,最早的时候,基本上就是三个人在同一个地方工作。

You could argue that very, very early place was was kind of three people in a in a same place.

Speaker 0

通常是这样。

That's often

Speaker 2

这确实有帮助。

I guess that helps.

Speaker 0

具体是怎么运作的呢。

How that how that goes.

Speaker 0

但很快,GitHub就开始招聘那些超级粉丝,就是真正喜欢GitHub、积极推广GitHub、热心参与社区的人。

But, yeah, very quickly, GitHub started hiring super fans, you know, people that were interested in GitHub, promoting GitHub, you know, help to thrive in the communities.

Speaker 0

这些人被招进GitHub后,自然遍布世界各地。

Those people got hired into GitHub and they were naturally everywhere in the world.

Speaker 0

所以GitHub很快就从以总部为中心的文化,转变成了远程优先的文化。

And so very quickly, GitHub moved from a culture that was headquarter centric to a remote first culture.

Speaker 0

当新冠疫情来临时,这给我们带来了优势,

And that, you know, gave us an advantage when corona pandemic came, COVID,

Speaker 2

因为

because

Speaker 0

我们早就习惯了开视频会议、用Slack了。

we were already used on being on video calls, on using Slack.

Speaker 0

实际上,你知道吗,在公司的沟通方式上,GitHub和微软可以说是天差地别。

In fact, you know, think GitHub is very different than Microsoft when it comes to how the company communicates.

Speaker 0

我常开玩笑说,因为我身兼两职,既是微软的高管,又是GitHub的员工,所以我早上醒来时……

My joke always is when I wake up in the morning, because I'm obviously both, I'm a Microsoft executive and I'm a GitHub employee.

Speaker 0

在GitHub这边,我早上醒来时,会看到一大堆Slack消息、私信和各种频道需要处理,可能还有几封客户邮件,或者是你发来的邮件,因为你在Slack上联系不到我。

When I wake up in the morning on the GitHub side, I have lots of Slack messages, DMs, channels to to look at into and maybe, you know, a handful of of customer emails or or emails from you that cannot communicate with me in Slack.

Speaker 0

而在微软这边,情况就反过来了,我每天要处理几十封邮件。

On the Microsoft side, it's other way now and I have, like, dozens of of emails

Speaker 2

这一点我倒是

that I to

Speaker 0

需要留意一下,可能还有几条Teams消息。

pay attention to and maybe, you know, a few a few Teams messages.

Speaker 0

所以我觉得,这体现了我们文化中异步协作的那一面,这种文化在过去十七年里逐渐发展成熟。

And so I think that shows the async part of our culture that has grown over the last seventeen years.

Speaker 0

这一点真的非常重要。

And that is so important.

Speaker 0

在 GitHub,我们所有事情都用 GitHub 来做。

At GitHub, we are using GitHub for everything.

Speaker 0

所以全公司各个部门的员工,不只是工程和产品团队,连人力资源、公关和财务这些部门,也都用 GitHub 工作。

And so all employees across all the functions, not just engineering and product, but HR and comms and finance, all the functions work on GitHub.

Speaker 0

他们每个团队都有自己的代码库,用来记录团队的信息。

And so they have repositories to describe the team.

Speaker 0

他们会用拉取请求来修改内容,比如我们的服务条款。

You know, they're using pull requests to to make changes, for example, to our terms of service.

Speaker 0

公司所有的公告都会以拉取请求的形式提交到我们叫作 'Hub' 的代码库,然后发布成 GitHub Pages 页面,不仅内部能访问,还会同步到我们的身份认证系统。

You know, every company wide announcement is a pull request against the repository that we call the hub that gets published as a GitHub pages page that is not only internally accessible and that goes throughout identity provider.

Speaker 0

所以我们几乎从不发公司邮件。

And so even there, we don't do company wide emails, almost never.

Speaker 0

我们只在 Hub 上发公告。

We do an announcement on the hub.

Speaker 0

真厉害。

Wow.

Speaker 0

我们会在Slack频道里发个链接,然后大家都能看到,讨论也就转到那边去了。

There's a link that is posted in the Slack channel, but then we can everybody can see, then we take the conversation there.

Speaker 0

所以,没错,我们现在完全是一家远程优先的公司,员工遍布全球,时区也各不相同。

So, yeah, today we are very much a remote first company, but people all around the world in different time zones.

Speaker 0

几乎所有事情都是异步进行的。

Almost everything is async.

Speaker 0

当然,我们也有会议,比如我们的全员大会就叫'Git 聚会'。

Obviously, there's, you know, meetings and our town hall meeting is called the Git together.

Speaker 0

所以这必须得在某个时区进行。

And so that has to be in some time zone.

Speaker 0

这里的挑战在于,如果你这么做,你知道,要为在美国的同事们调整时间。

Challenge there is that if you do it, you know, adjusting it for the folks in The U.

Speaker 0

比如北美和欧洲的会议,我们确实没法让澳大利亚和印度的同事参加,因为时间上实在凑不到一起。

S, North America and Europe, you know, we are missing out those in Australia and India because that's just impossible to meet.

Speaker 0

所以我们会在一年里安排不同时段,比如专门为亚太地区设一个方便的时间,再安排几个适合欧洲同事的时段。

So we try, you know, different times of the year to have one that is in the APAC friendly time zone and, you a few that are European friendly.

Speaker 0

你知道吗,很多时候,如果你选在西海岸时间星期一一大早开会,这对欧洲同事来说其实很不方便。因为那个时间点,他们差不多正好要去接孩子放学,然后回家吃晚饭。

Often, you know, it's not the way when you do, like, Monday early in the morning on the West Coast, that's actually bad time for the Europeans because that's kind of like when you pick up your kids from school and go and have family dinner.

Speaker 0

所以,他们很多人其实更希望西海岸这边把会议安排得晚一点。

So many of them actually prefer a later point on the day on the West Coast.

Speaker 0

这个时间点比较晚,可能大家都在看电视,或者孩子们已经上床睡觉了。

It is later in the evening when maybe everybody's watching TV or the kids are already in bed.

Speaker 0

所以我们在努力保持这种精神,这样就能在全球不同地方、不同人生阶段招聘到优秀人才。

So, yeah, we're trying to really keep that spirit and it enables us to hire talent, you know, in different places, in different phases of their life.

Speaker 0

我认为这有助于我们公司尽可能保持敏捷。

And I think that helps us as a company, you know, to be as agile as possible.

Speaker 2

丹,听起来真的很棒。GitHub嘛,虽然用法很多,但像这种异步协作的方式确实很流行,对吧?

Dan, it is pretty cool to hear because GitHub, I mean, you can use GitHub in many ways, but like one popular way is to use it at this async way, right?

Speaker 2

所以你们这种用法和很多初创公司挺像的,挺有意思的。

So it's kind of cool that you're using it the same way as a lot of the startups are.

Speaker 2

我觉得有

I think one of

Speaker 0

核心部分不仅像初创公司那样用,也跟开源社区的使用方式一致,对吧?

the core pieces there is not only as the startups are, but as the open source ecosystem is using it, right?

Speaker 0

开源社区从设计上就是异步的。

But the open source ecosystem by design is async.

Speaker 2

确实是异步的。

Is async, yes.

Speaker 0

而且他们也不都在同一个地方。

And they're not all in the same place.

Speaker 0

如果一个开源项目非得要求贡献者必须在同一地点、同一时区才能参与,那根本行不通。

That would never work if an open source project could only, you know, you could only be a contributor if you're in the same place and all at the same time zone.

Speaker 0

所以我们既要服务商业客户、初创公司、大企业——那些为GitHub Enterprise和Copilot付费的用户,也要服务开源生态,服务整个开源社区。正因如此,尽管GitHub的核心代码本身从未开源,我们却几乎是以开源项目的方式在运作。

And so given that we're catering to both, you know, commercial customers, startups, enterprises, those that are paying us money for GitHub Enterprise and Copilot business, but we're also catering serving the open source economy, the open source ecosystem, and as such as a company, even though, you know, the GitHub Core itself was never open source, and we're operating pretty much like an open source project.

Speaker 2

我听说你们有一些挺有意思、挺特别的内部工具。

One fun fact I've heard is you have some really kind of fun and interesting internal tools.

Speaker 2

有些还在用,有些已经不用了。

Some are still here, some are not.

Speaker 2

我听说有一个叫 Haystack 的工具,现在已经没有了,那是他们内部用来跟踪异常的应用。

One tool that I understand is no longer there was called Haystack, which was an internal exception tracking app.

Speaker 2

有人告诉我,那是他们见过的最棒的软件之一。

And someone told me it was the best piece of software they've seen.

Speaker 2

你能聊聊过去那些有趣的内部工具吗?现在还有哪些在用?特别是工程师们平时用的那些?

Can you share a little bit about what past fun internal tools you have and what kind of internal tools do you still have today, especially what engineers use?

Speaker 0

如果你回看 GitHub 的发展历程,今天时间不够,没法全讲,但如果允许的话,我推荐你听一期《Acquired》播客。

If you look back into GitHub's history, and we don't have the time to cover it all today, I can I can recommend if I if I'm allowed to another podcast, the Acquired podcast?

Speaker 0

他们在 2018 年 6 月 5 日,也就是收购公告发布的第二天,做过一期关于 GitHub 的节目。

They had an episode on 06/05/2018, so the day after the acquisition announcement that

Speaker 1

哦,等等。

Oh, wait.

Speaker 0

那期节目讲了很多 GitHub 早期的故事,整体来说非常精彩。

Covers a lot of the history of GitHub in the early days and in general, a really good podcast.

Speaker 0

他们还提到,GitHub 刚起步的时候,运作方式特别不走寻常路。

And and they actually mentioned this that GitHub, you know, when it started, had a very, you know, nontraditional way of operating.

Speaker 0

那时候根本没有经理。

There were no managers.

Speaker 0

每个人都被鼓励去搞自己感兴趣的项目。

Everybody was encouraged to work on their passion projects.

Speaker 0

所以多年来,GitHub 根本没有传统意义上的IT基础设施。

And as such, GitHub, know, for many years, didn't have a traditional IT infrastructure in the company.

Speaker 2

明白了。

Okay.

Speaker 0

所有工具都是自己开发的,因为大家相信,GitHub 自己做的,肯定比买现成的工具更好。

Everybody was built in house because there was the belief, you know, we can build we as GitHub can do it better than a tool that we can buy off the shelf.

Speaker 0

我们待会儿聊到人工智能的时候,可能还会再提到这一点。

We maybe become back to this later when we talk about AI.

Speaker 0

未来说不定还会回到一些初创公司那种模式。

Future might actually come back to to some startups.

Speaker 0

是的。

So Yeah.

Speaker 0

我们自己开发了一个内部视频直播平台。

We had a tool with our own internal video streaming platform.

Speaker 0

叫 github.tv。

It was called github.tv.

Speaker 0

所有公司全员大会之类的活动,都是通过它直播的。

And so all the, you know, town halls and and so on.

Speaker 0

真厉害。

Wow.

Speaker 0

我们确实一直在自己的平台上做直播。

We have, you know, streamed on our own platform.

Speaker 0

当然,现在这个平台已经停用了,我们改用 Loom 了。

And, of course, that no longer exists, and we're using Loom using Loom for that.

Speaker 0

Haystack,你之前提过,那是用来做异常追踪的。

Haystack, you already mentioned, that was exception tracking.

Speaker 0

你要知道,十五年前,这个领域还没有成熟的解决方案,尤其是在 Ruby on Rails 的圈子里。

And now keep in mind, fifteen years ago, there wasn't, like, established players in that market that you could use, especially not in the in the Ruby Rails work.

Speaker 0

所以Haystack第一个就是这样的一个工具。

So Haystack one was one such tool.

Speaker 0

现在我们用的是Sentry来做这件事。

Today, it's Sentry that we're using for that.

Speaker 0

还有一个叫HALP,H-A-L-P,是我们内部的客服系统,用来分派工单,让同事处理并进行内部沟通。

Another one was HALP, H A L P, which was our internal support system where tickets got routed for folks to work on the ticket and have internal communications.

Speaker 2

而且

And

Speaker 0

是的。

Yeah.

Speaker 0

现在这些全都转到Zendesk了,HALP已经停用。

Now this is all on Zendesk and help has been retired.

Speaker 0

不过,这些想法确实催生了一些新创公司,对吧?

But, you know, some of these ideas have led to new startups, right?

Speaker 0

Hubbers是我们对GitHub员工的叫法。

Hubbers have Hubbers is what we call GitHub employees.

Speaker 0

员工们把这个想法接了过来,也许他们对我们关闭内部的热情项目有点失望,但还是借此创办了公司。从文化上讲,我们依然鼓励大家去尝试、孵化新点子,只是现在更倾向于把它们做成面向外部的产品。

Hubbers have taken the idea and maybe they were a bit frustrated that we're shutting down their internal passion project, have taken that and created I the business out of think, you know, culturally, we are still encouraging folks pretty much to experiment and to incubate new ideas, but we're trying to make those external facing products.

Speaker 0

GitHub 的历史上也有不少类似的例子。

And there's a number of examples from GitHub's history as well there.

Speaker 0

比如 Electron,它就是从我们之前的编辑器 Adam 发展出来的。

Electron comes to mind, came out of Adam, which was was our editor.

Speaker 2

对,没错。

Oh, yes.

Speaker 0

我们的桌面应用和命令行工具,都是开源项目。

You know, our desktop app or command line interfaces, all open source projects.

Speaker 0

所以大家都能看到我们在做什么,也能从中获得灵感。

And so everybody can see what we're doing there and can take the ideas.

Speaker 0

我们之前提到过技术栈 Stack。

You know, we mentioned Stacked Tech Stack earlier.

Speaker 0

比如持续集成,用的就是 MongoDB。

The CI, for example, is with Mongo.

Speaker 0

所以,任何想学习如何搭建持续集成的人,都可以把 GitHub CLI 当作参考范例。

And so it also gives a, you know, whoever wants to learn how to build a CI can use the GitHub CLI as an example.

Speaker 2

让我一直感到惊讶的是,GitHub 偶尔会爆出一些上了新闻的重大安全事件。

One thing that keeps surprising me out of GitHub is every now and then there's a security incident that is in the press that is like a big deal.

Speaker 2

不总是这样,但有时候事情是这样的:某公司出了安全问题,结果发现是 GitHub 提前发出了警报。

Not always, but sometimes it starts with like company X had a security issue and it starts like, oh, they detected it because GitHub alerted it for them.

Speaker 2

最著名的一次是 2022 年 Heroku 的安全事件,不是 Heroku 自己发现数据泄露,而是 GitHub 先注意到一些异常行为。

A very famous one was in 2022, Heroku had a security incident and it started by not Heroku noticing that something leaked, but GitHub itself noticed some strange patterns.

Speaker 2

他们随后联系了 Heroku 的安全团队,对方这才确认了问题。

They contacted the Heroku security team who then confirmed it.

Speaker 2

这让我有点意外——GitHub 怎么会比别人更早发现安全问题?

And this just struck me a little bit striking, like, hold on, like, how is GitHub having better or very strong security?

Speaker 2

我不会说他们更厉害,但至少在这个案例里,他们确实反应更快。

I'm not going to say better, but in some ways, in this case, clearly they got earlier.

Speaker 2

你们的安全策略是怎样的?

What is your approach to security?

Speaker 2

而且这事儿也不是最近发生的。

And this was again, this was not even right now.

Speaker 2

那是好几年前的事了。

This was years back.

Speaker 2

这让我觉得,你们在安全问题上的思维方式,可能跟其他公司不太一样。

Just suggests to me like you probably think about security a little bit differently than maybe some other companies.

Speaker 0

安全是我们文化的一部分。

Security is part of our culture.

Speaker 0

我们一直说,安全对每个人来说都是零号优先级。

We have the saying that security is priority zero for everybody.

Speaker 0

明白了。

Okay.

Speaker 0

事实上,我们之前的首席信息安全官迈克·汉利提出了这个理念。

And in fact, our previous CISO, Mike Hanley, introduced this concept.

Speaker 0

他之前来自双因素认证公司Duo。

He came from Duo, the two factor authentication company.

Speaker 0

他提出了一个理念:当有人问‘谁是安全团队的’,每个员工都会举手表示自己是。

He introduced this concept that when the question is asked who here is on the security team, every hubber pays us their hand.

Speaker 0

所以我们把安全融入了日常工作的方方面面。

And so we institutionalized that security is part of what we do.

Speaker 0

当然,我们希望推动创新,让客户满意,但如果我们失去了信任,就不可能在市场上立足。

Of course, we want to drive innovation and want to make customers happy, but we cannot win in the market if we lose the trust.

Speaker 0

对我来说,最糟糕的一天,就是接到电话说:你们的私有代码库被泄露了。

And of course, the worst day, you know, in my life would be that I get a call and say, I lost, you know, the private repositories.

Speaker 0

作为平台,我们要是丢了代码,那后果不堪设想。

We lost, you know, as a platform.

Speaker 0

所以必须尽快把问题解决回来。

So important to come back

Speaker 2

你的代码。

your code.

Speaker 0

一旦被攻击者拿到,就得花大力气去控制损失。

To an attacker and now have to do the damage control.

Speaker 0

所以对我们来说,首席安全官直接向我汇报,我们有一个大约150人的团队,从多个角度负责安全工作。

So it's really important for us, the CSO and the chief security officer reports directly to me, and we have a team of about 150 or so employees that take care of security from multiple angles.

Speaker 0

一方面,我们和微软的安全团队、所谓的网络防御运营中心紧密合作,这些人专门负责发现安全漏洞,不仅针对我们开发的传统软件,也包括AI相关的部分。

One is, of course, intelligence, working closely with the Microsoft security team, the so called cyber defense operations center, and those folks that look into, you know, finding security vulnerabilities, tech teaming, not only for, you know, the traditional software that we're building, but also for the AI pieces.

Speaker 0

你可以想象,像GitHub这样的规模已经不小了,但微软的规模更大,威胁情报的数量更是惊人。

And you can imagine, you know, at the scale of GitHub, but even more so at the scale of Microsoft, there's a lot of threat intelligence.

Speaker 0

当你把所有这些情报整合起来,就会得到大量有价值的线索。

When you combine all that intelligence, you get a lot of signal.

Speaker 0

举个很简单的例子:如果一个人的账号不仅能访问普通工程师的代码库,还能访问宝马或奔驰的代码库,这种人几乎不可能在业内存在。

One such example is, a very trivial example, is that if you have a person, if you, for example, you know, your user ID access is not only the pragmatic engineer repositories, but also those of, let's say BMW or Mercedes, that person is very unlikely to exist in the industry.

Speaker 0

就算你是系统集成商,通常也不会同时参与宝马和奔驰的项目。

Like, even if you're working for like a systems integrator, then you typically don't work on a BMW and a Mercedes project together.

Speaker 0

所以我们能通过全局视角收集大量信息,尤其是把这些和微软其他系统结合起来的时候,效果更明显。

So there's a lot of intelligence that we can collect by having the holistic view even more so when you combine it with all the other Microsoft systems.

Speaker 0

我们还有一个安全实验室,有一支研究人员团队,专门用我们自己的安全工具,比如CodeQL——一种用来发现代码缺陷变体的查询语言——来主动寻找安全漏洞。

And we also have a security lab where we have a team of researchers that are hunting for security vulnerabilities using our own security products like CodeQL, which is query language that you can use to find variances, like variations of existing code flaws, know, code vulnerabilities.

Speaker 0

是的。

Yep.

Speaker 0

他们会去开源项目里寻找这类问题,然后负责任地报告给维护者,帮助他们在公开之前修复漏洞。

Tries to find those in open source projects and then reports them to the open source maintainer in a responsible way, helping them to fix those in the meantime of the disclosure.

Speaker 0

希望等我们发现的时候,漏洞已经被修复了。

Hopefully, you know, the bug is already fixed in there.

Speaker 0

所以我们在这方面做了很多工作。

So we are doing a lot of that.

Speaker 0

我们也在这上面投入了大量资源。

We are investing into a lot of that.

Speaker 0

但当然,没人是完美的。

But of course, you know, nobody is perfect.

Speaker 0

所以对我们公司来说,把透明文化深植于心至关重要——绝不隐瞒任何秘密或源代码。

And so it's really crucial for us as a company to have this ingrained into our culture, to not have secrets and source code.

Speaker 0

实际上,我们已经全面封锁了所有可疑的推送行为。

In fact, you're blocking all the pushes and everything.

Speaker 2

没错。

Exactly.

Speaker 2

开源确实能帮上忙,你们特别重视开源,不过你提到有大约150人在做安全工作。

I open source might help here, your big focus on open But you mentioned about 150 people working on security.

Speaker 2

顺带问一下,现在GitHub大概有多少工程师?

As context, how many people or engineers are in GitHub roughly these days?

Speaker 0

是的。

Yeah.

Speaker 0

GitHub整个公司大约有三千名员工,其中一半左右属于我所说的工程、产品和设计团队,也就是EPD。

So GitHub all up is about 3,000 employees, about half or so are in what I would call engineering product design or EPD.

Speaker 2

那大概占了百分之十。

So that's about 10%.

Speaker 2

如果单看安全团队的话

If I just look at the security of

Speaker 1

这差不多是百分之百的工程团队。

It's roughly a 100% engineering.

Speaker 0

工程团队。

Engineering function.

Speaker 0

如果单看工程师,大概不到一千人,他们负责开发软件。

Then if you look at just engineers, I see engineers, it's a little bit under a thousand that work and build software.

Speaker 0

当然,还有经理、产品经理、技术项目经理、设计师等等。

Then there's, of course, managers and product managers and technical program managers and designers and all.

Speaker 2

我听说有个现任GitHub员工提到,你们开始考虑招聘初级开发者了,就是经验少一点的,这在业内其实挺少见的。

One interesting thing I've heard from a current GitHub employee is you are starting to look into hiring junior developers, developers with less experience, which is a little bit different because most of the industry, we don't hear this.

Speaker 2

你们为什么做出这个决定?

Why are you deciding on this?

Speaker 2

我觉得听到这个消息真的特别好。

And I'm like, you know, this is just a really positive thing to hear.

Speaker 2

我很想听听你们是怎么想的。

I'd love to hear more about your thinking.

Speaker 0

我们非常期待和年轻人一起工作。

We're really excited about working with young people.

展开剩余字幕(还有 480 条)
Speaker 0

昨天第二天的主旨演讲里,你也看到过一些这样的例子。

You saw some of those in the second day keynote yesterday as well.

Speaker 0

事实上,就在周一,我们今年夏天的实习生团队正式入职了。

And and in fact, you know, just on Monday, our intern class for this for the summer started.

Speaker 0

我们分了三批人,分别在不同时间开始,轮流参与实习项目。

We have three groups that start on different days and go through the internships.

Speaker 0

这些是刚进入职场、经验还很浅的年轻人。

So those are the very early in career folks that often oh, no.

Speaker 0

并不是经常这样。

Not often.

Speaker 0

他们大多还在上大学或研究生。

That still go to college or university.

Speaker 0

这个项目是我们疫情结束后,恢复线下办公时正式建立起来的——不管是全线下、还是线上线下混合,至少能让他们有机会来我们的旧金山总部,或者太平洋西北区,以及其他全球办公室,跟大家面对面交流。

And this is a program that we institutionalized after the pandemic was over, you could bring people back in person, because obviously, or half in person, where they at least have, you know, a way to meet with folks at our San Francisco headquarters or here in the Pacific Northwest or elsewhere in the world.

Speaker 0

所以我们有完整的实习生计划,很多实习生实习结束时都会收到全职录用通知,也有人会回来再干一年。

And so we have an intern program, and often, you know, these interns get a full time offer at the end of the internship, or maybe they come back for a second year.

Speaker 0

所以能看到这些年轻人带来新鲜的想法、充沛的精力,还有从大学里学到的最新知识,以及多元的背景,真的特别棒。

And so it's, A, lovely to see that, you know, those folks that bring fresh ideas, a great amount of energy, you know, the latest learnings from College University, and often, you know, a different, you know, diverse background into the company.

Speaker 0

而且,像韩国这样年轻一代的员工,常常会给团队带来全新的视角,直接说:‘咱们为什么不试试这个?’

And, you know, come in and often, you know, the folks, you know, that are younger in Korea, bring a new perspective to the team and say, here, this is, you know, why don't we try this?

Speaker 0

或者:‘我想孵化一下这个点子。’

Or I want to incubate this idea.

Speaker 0

所以我们特别高兴公司里既有经验丰富的老员工,也有充满活力的新人。

And so we are excited about having this kind of like both junior and senior population in the company.

Speaker 0

这不光是工程团队如此,你看销售和市场部门也是一样。

And it's not only twin engineering, you know, it's the same if you look into sales or into marketing.

Speaker 0

现在的市场营销方式,跟五年前、十年前早就大不一样了,那时候传统媒体还占主导地位。

Obviously, the way, you know, marketing works today is very different than it was, you know, five, ten years ago when the press, you know, traditional media played a much bigger role.

Speaker 0

现在你得上播客、做YouTube、玩TikTok,得跟上当下的节奏。

Today, you gotta be, you know, in a podcast and you have to be on YouTube and TikTok and play like today.

Speaker 0

就得跟上现在的发展。

Just like today.

Speaker 0

但你越来越常看到这种情况发生。

But you see more and more of that happening.

Speaker 0

当然了,招刚入行的年轻人,他们总会带来新点子和宝贵的意见。

And of course, you know, when hire people earlier in career, they give you those ideas, they give you that input.

Speaker 0

你懂的,跟很多公司的人聊过,总免不了有争论。

You know how it is, you talk to a lot of people in companies, there's always a debate.

Speaker 0

一方坚持老办法,毕竟像微软这样五十多年的老公司,一直这么干过来的;另一方则提出新想法。

There's always a debate between those that are defending how we've always done it in a fifty year old company like Microsoft that obviously exists.

Speaker 0

他们说:我同龄人里,根本没人看电视了,更别说CNBC,全都在刷三分钟的TikTok视频。

And those that come in and say, hey, you know, nobody in my peer group, you know, watches TV anymore or CNBC or whatever, and they're all watching just, you know, three minute videos on TikTok.

Speaker 0

我觉得这特别重要。

And so I think that's really important.

Speaker 0

我们正努力在初级工程师和资深工程师之间保持一个良好的平衡。

And we're trying to have, you know, a nice balance between early career engineers, senior engineers.

Speaker 0

我们有不少资深专家,他们都在为我们的平台贡献力量。

We have, you know, a number of distinguished engineers and they all contribute back to our platform.

Speaker 2

不,我特别喜欢,因为我以前当项目经理和工程师的时候,有实习生真的特别提士气。

No, love it because like when I worked both as an injury manager or as an engineer, having an intern, it's just like boosted morale.

Speaker 2

我们整个人都更有干劲了。

Like we were so much more enthusiastic.

Speaker 2

我可不是说我们因此多做了多少活儿。

I'm not going to say that we necessarily did more work.

Speaker 2

可能确实多做了,但关键是他们带来了新想法,回头看那些实习生,真的特别有成就感。

I think we might have, but we got fresh ideas and it's just so rewarding looking back at those interns.

Speaker 2

现在,好多年过去了,我还能见到他们。

You know, I now see them many, many years later.

Speaker 2

有些人已经成了首席工程师,有些人当上了CTO。

Some are now principal engineers, some are CTOs.

Speaker 2

但很多不太懂技术、没体会过实习价值的人,他们会想:现在不是都说AI多高效吗?连微软都在大会上讲AI同事了。

But the one question that a lot of people who are maybe less technical than you and who have not seen the benefit of internships, they're thinking like, Oh, I'm hearing all these AI things, including Microsoft is saying it's so efficient.

Speaker 2

他们现在都在会上谈什么AI同事了。

Know, they're now talking about AI colleagues on the keynote.

Speaker 2

为什么呢?

Why?

Speaker 2

现在不只是微软的人这么说,谷歌那边也有人讲,说AI现在已经能达到初级工程师的水平了。

And now this is not Microsoft people, but we're hearing people at Google say like, oh, it's now at the level of a junior engineer.

Speaker 2

他们就开始想,也许可以先别招应届生了,因为有人告诉他们,这些所谓的专家都说,AI现在本事已经跟初级工程师差不多了。

And they're thinking, maybe let's hold off on hiring new grads because they're telling us, you know, some of these so called experts that it's now at the level of a junior engineer.

Speaker 2

所以也许我们真不需要初级工程师了。

So maybe we don't need junior engineers.

Speaker 2

那你对那些还在这么想、信息还不够全面的人,有什么建议?

What would you suggest to people who are in this thinking and maybe not as informed?

Speaker 2

因为你明显是觉得这事儿值得做。

Because clearly you've decided it makes sense.

Speaker 2

而且我知道,这情况不适用于所有人,但他们的顾虑确实是真实的。

And, you know, this thing doesn't apply, but their thinking is real.

Speaker 0

我觉得这种想法在很多方面是颠倒的。

I think that's backwards in many ways.

Speaker 0

我觉得,实际上现在上高中、大学,甚至更早开始接受教育的孩子们,他们能更快地接触到AI。

I think actually folks that go to high school now or to college or even kids earlier in their education, they get to use AI much faster.

Speaker 0

而且他们能理解并接受它,因为他们是以一种开放的心态来对待这项技术的。

And they get it because they are, you know, taking this with an open mind.

Speaker 0

没必要非得按老办法来,千万别动核心系统。

Don't have to this is how we always done it, don't touch never touch the cutting system.

Speaker 0

他们没经历过那种情况,就是管理层或者工程师自己做了些改动,结果导致大规模服务中断之类的问题。

They haven't been in an experience where some change that was applied, you know, from upper management or from the engineers themselves has led to, you know, a big outage and things like that.

Speaker 0

所以他们的思想更开放。

So they're more open minded.

Speaker 0

就像我们之前讨论过的,你看现在的媒体就能发现这一点。比如孩子们更愿意快速浏览各种内容,只看他们想看的。而像我们小时候,电视节目都是线性的,只能在客厅看爸妈决定今晚播什么。

You know, you kind of see that when you look at media, as we already talked about, like kids are much more open to just scoring through shots and consuming the content they'd like to consume while, you know, when you and I were a child, we had linear TV and you got to watch on the living room TV, what your mom and dad decided is on tonight.

Speaker 0

对吧?

Right?

Speaker 0

所以他们拥有更大的自由度。

And so they have much more freedom.

Speaker 0

我觉得这最终会让刚入行的工程师或者实习生一进来就带着提示工程的思维,熟悉各种模型的使用。

And I think this will lead to ultimately junior engineers coming or interns coming into the companies and thinking in like prompting skills, you know, like experience with different models.

Speaker 0

你知道,实习生并不意味着我之前没在别的公司干过。

Like, you know, intern doesn't mean I haven't worked for another company before.

Speaker 0

这可能是我第三次、第四次实习,或者我早就和一群同学自己搞项目、开发应用了。

It might be my third my second or third internship, or I might have already been coding with, you know, a group of students on on my own project, on my own app.

Speaker 0

所以他们会带来很多新鲜的想法和外部视角,这对市场竞争至关重要。

So you get a lot of good new ideas and outside perspective that is ultimately crucial to compete in the market.

Speaker 0

反过来,这些实习生回到学校后,已经有实际项目的经验了。

And I think vice versa, you know, these interns then go back into college and they have worked on something real.

Speaker 0

我上大学的时候就总感觉,得早点进业界,看看真实的工作是怎么做的——毕竟学校里虽然教编程,但根本谈不上工程体系。

I remember my time at university, I always had the feeling I gotta get out in the industry and learn how it's actually done because while, you know, there's, you learn coding in university, but you don't really have an engineering system.

Speaker 0

你不会遇到技术债。

You're not having tech debt.

Speaker 0

也不会去维护遗留代码。

You're not working on a legacy code base.

Speaker 0

进了公司当工程师,就意味着你要接手别人的代码,现在经常是 GitHub 上十几年前的代码,你还得去理解别人当年做的那些决定。

Becoming an engineer in a company means you're working on somebody else's code, often now, you know, GitHub seventeen years old code, and you have to follow-up on decisions other people made.

Speaker 0

但这可不是大学里学编程的方式。

And that's not how you learn coding in university.

Speaker 0

所以对我们来说,既需要公司里有这些新鲜的想法,也需要回馈给那些将来可能成为 GitHub 用户的年轻人。

And so I think it's both for us important to have those fresh ideas within the company, but also for us important to give back to those that in the future become GitHub customers.

Speaker 2

我特别认同。

I love it.

Speaker 2

我觉得这其实也是最省钱的做法,毕竟新人的薪资也不会高到哪儿去。

I feel it's also just a very, it's the cheapest way to do it, just like it, you know, you're not going to have the highest salary for the new people.

Speaker 2

这么想确实有点傻。

This is a silly way to think about it.

Speaker 2

我最近刚和产品经理聊过,你刚说完,我就有种似曾相识的感觉。

I talked with the product manager recently and I just like had a deja vu when you said it.

Speaker 2

那位产品经理当时也在做关于 Z 世代的研究,她说的就是这个事儿。

This product manager was saying, she was saying, this is while we were doing the Gen Z research about the latest generation.

Speaker 2

她说,我特别喜欢Z世代。

She said, I love Gen Z.

Speaker 2

她常说,这么多年当产品经理,我总坐在工程师面前说:要有好的产品思维,要站在用户角度想。

She's like, she's like for years as a product manager, I'm sitting in front of engineers telling them, oh, you know, good product thinking, think about the customer.

Speaker 2

可他们总是说:你直接告诉我们该做什么就行。

And they're like, just tell us, you know, what we need to do.

Speaker 2

但这一代新人进来后,他们有自己的想法。

And she's like, the new generation comes in and they have opinions.

Speaker 2

他们会说:我觉得我们的用户会喜欢这个。

They're like, I think our customers would like this.

Speaker 2

我亲自试过竞争对手的产品。

I have tested a competitor.

Speaker 2

他们现在是这么做的。

Here's what they're doing.

Speaker 2

她就说:这太棒了。

Here's, and she's like, I love it.

Speaker 2

如果雇用这些人,同时像你说的那样,抛开那些过时的思维,说不定就能培养出下一代软件工程师。

Like they, so I I I I if, like, by hiring these people and actually just ignoring, as you say, the backward thinking, you might get the next generation of of software engineers.

Speaker 0

我觉得,从某种程度上说,Z世代已经有点老了。

Gen z is already too old, I think, to some degree.

Speaker 0

有道理。

Fair.

Speaker 0

因为Z世代,我记得是从1980年左右开始的吧。

Because Gen z, I think, starts 1980 or something like that.

Speaker 0

应该是千禧一代和Alpha世代吧?

The millennials, Gen Alpha, right?

Speaker 0

现在都六十岁的人还在写代码呢。

Like the 60 years old are coding today.

Speaker 0

所以那应该是Alpha世代,再往后,说不定就是什么B世代了。

And so that's Gen Alpha or, you know, soon the whatever the Gen B, guess is the next one.

Speaker 0

不过你说得对,你接触到的这批人,没在Commodore 64或者早期PC上学编程,没有那种底层思维,他们成长的环境也不一样,是智能手机和随时在线的一代人。

And so, but you're right, you know, you're getting folks that didn't learn to code on a on a on a Commodore 64 on a PC that, you know, have a lot of low level thinking, but also, you know, learned in different environment than those, you know, that grew up with smartphones, that grew up with being always connected.

Speaker 0

他们只是,从期望的角度来看,他们看待这些系统性问题的方式不同,视角也不一样。

They just have, just from an expectation perspective, they're looking at this often systems problem they're trying to solve, but the different, with a different perspective.

Speaker 2

对,我在想一个有点傻的问题,你是更愿意雇一个有传统编码背景、大学科班出身、经验丰富的工程师,还是找一个年龄相仿但经验相当的?

Yeah, I wonder just like a silly thing, would you rather hire an engineer with the same years of experience of like someone who has, you know, like has traditional coding and learned in university or same years old.

Speaker 2

你是在大学里学的,做过一些大学项目;而这位工程师或应届毕业生,虽然也上过大学,但在此之前,他们已经有五年实际构建程序和解决障碍的经验,甚至搭建过上百人规模的东西。

You learned in university and did some university projects or this engineer or this fresh grad who did the university, but they actually have before that five years of building programs and roadblocks, and they actually built this, like, 100 person thing.

Speaker 2

关键是这个人带来的技能和思维方式,他们看待问题的方式完全不同。

It's like the skills that that person brings and the the mindset, you know, the way they think about things.

Speaker 0

还有第三类人,而且有很多人,比如在微软和GitHub,他们并没有接受过正规教育,要么是中途辍学,要么是其他情况。

And there's a third group, and and there's lots of folks, you know, at Microsoft and GitHub that don't have a formal education and either dropped out another event.

Speaker 0

对吧?

Right?

Speaker 0

这又回到了我们之前讨论的远程优先公司的话题。

That's that goes back to the earlier discussion about being a a remote first company.

Speaker 0

你招聘员工,是因为他们对产品充满热情。

You hire people because they're passionate about the product.

Speaker 0

我们招人,是因为他们在 GitHub 上的贡献图很漂亮,因为他们确实为 Ruby on Rails、Git 这些开源项目做过实际贡献。在 GitHub,我们一直倾向于聘用那些长期参与维护 Git 并和开源社区紧密合作的人。

You hire people because they have a great contribution graph on their GitHub profile, because they have shown they contributed back to the Ruby on Rails code base, to the Git, you know, open source code base where, you know, at GitHub, we traditionally have employed folks that are spending a lot of time on maintaining Git together with the open source community.

Speaker 0

所以我觉得,真正对我们重要的,是候选人是否具备真正适合 GitHub 的思维方式。

So I think a lot, you know, what actually plays a role to us is that folks have shown the right mindset to join GitHub.

Speaker 0

如果你的 GitHub 贡献图没有绿色,这比你有没有在两家公司各干了五年重要得多。

If you don't have a green contribution graph on your GitHub profile, that I think matters more to us than whether you have five years at one company and five years at another company.

Speaker 0

当然,我们还是会安排候选人走完整的面试流程。

Of course, we, you know, take people to an interview loop.

Speaker 0

而且我们越来越在思考,怎么把 AI 用在面试流程里。

I think increasingly we are thinking about how do we leverage AI within the interview loop.

Speaker 0

从我角度看,这没什么不对。

There's nothing wrong about that from my perspective.

Speaker 0

事实上,如果你最近想进一家科技公司,很可能会被要求展示你的提示词技巧、Copilot 使用能力,比如怎么用我们这周推出的编码助手模式或智能代理来完成任务——因为未来工程师的目标,已经不再是事事从零开始写了。

In fact, I would say if you want to, you know, get a job in a tech company very soon, you're going to be asked to show your prompting skills, Copilot skills, if you will, and how you use something like agent mode or the coding agent that we introduced this week to get the exercise done, you know, to basically Because the goal of the future engineer is no longer to run it all from scratch.

Speaker 0

现在的目标是,把你的提示技巧和开源代理库结合起来,比两三年前的人更快地解决问题。

And the goal is to combine their prompting skills and agent open source libraries into getting that problem solved much faster than they could have done two, three years ago.

Speaker 2

所以,以上就是一些有趣的事实。

So with that, these were some of the, like a bunch of interesting facts.

Speaker 2

我想先聊聊GitHub的过去,然后再谈现在和未来。

I wanted to talk about the past and then later the present and the future of GitHub starting with the past.

Speaker 2

说到Git,我之前和Linux内核维护者Greg做过一期播客,他讲了Git在2005年是怎么诞生的故事。

So Git, I did a podcast episode with Linux kernel maintainer, Greg and he told a story about how Git was created in 2005.

Speaker 2

其实最近还有一期播客,是GitHub的一位资深工程师采访了Linux的创始人林纳斯。

In fact, recently there's a podcast with a GitHub, a staff engineer at GitHub, interviewed Linux Store Worlds.

Speaker 2

是的。

Yeah.

Speaker 2

2005年的时候,Linux内核项目的开发者们对当时的版本控制系统感到非常不满。

In 2005, Linux Store Worlds got frustrated with source control for the Linux project specifically.

Speaker 2

我们可以从历史中看到一些商业层面的东西。

There were some commercial things we can see history.

Speaker 2

他十天就搞定了。

He sat down in ten days.

Speaker 2

他写了Git,当然是开源的。

He wrote Git, which was obviously open source.

Speaker 2

本来是专门为Linux开发的,但发布后发现特别好用。

It was meant for Linux only, but they released it and turned out it's pretty good.

Speaker 2

GitHub是2008年左右成立的,我记得是这样。

GitHub was founded in, I believe, 2008.

Speaker 2

你能跟我讲讲那些早期的日子吗?

Can you tell me about these early days?

Speaker 2

后来发生了什么?

What what what happened then?

Speaker 2

你从和早期创始人们的交谈中了解到什么?

What do you understand from talking with the early founders?

Speaker 0

第一次提交是在2007年10月。

The first commit was October 2007.

Speaker 0

那时候,距离Linux推出Git已经过去了大约两年。

So it was about two years after Linux had done Git.

Speaker 0

对吧?

Right?

Speaker 0

从2007年10月到2008年2月左右,他们开始在Ruby on Rails社区里进行内测。

And then October 2007 to, I believe, February 2008 is when they started beta testing it with with folks in the Ruby Rails community.

Speaker 0

对。

Mhmm.

Speaker 0

到了4月,GitHub的公开版本正式上线了。

And then April is when the public version of of GitHub launched.

Speaker 0

所以发展速度真的很快。

So it was really fast as well.

Speaker 0

你看,从10月到4月,大概也就六个月。

You know, October to to April, roughly six months.

Speaker 0

如果你回溯那段历史,我记得是克里斯、汤姆·普雷斯顿-沃纳和克里斯·冯斯特鲁特在酒吧碰面,看到Git之后意识到,当时根本没人提供一个能同时托管开源和私有代码仓库的地方。

You know, if you go back, you know, to to the history books, it's Chris and Tom Tom Preston Werner and Chris Vonstrutt meeting in a bar, as as I remembered, and and having seen Git and and and figuring out that there isn't a place where you can host your open source repositories and your private repositories together.

Speaker 0

当然,那时候已经有SourceForge这样的平台了。

There was obviously things like SourceForge.

Speaker 2

是的,我当时

Yeah, was I

Speaker 0

那时候最流行的开源平台,但用起来特别麻烦。

the most popular open source platform back then, but also, you know, painful to use.

Speaker 0

我觉得这么说没错,我自己也把几个项目放在SourceForge上。

I think that's fair to say, like those that I had a couple of projects on source as well.

Speaker 0

它其实是为早期的网页环境设计的。

It was kind of designed for different era of the web.

Speaker 0

没错。

Yep.

Speaker 0

没跟上时代的转变,后来所谓的Web 2.0

And and didn't and didn't make the jump and then what ultimately, you know, became known as as web two

Speaker 2

或者云原生时代。

point zero

Speaker 0

就出现了。

or cloud native.

Speaker 0

所以我觉得当时的想法是,好吧,Git已经出现了,Git很棒,但我想托管它,又不想自己去架设服务器、安装后端、管理SSH访问这些麻烦事。

And so I think the idea was, okay, Git is here, Git is amazing, but I wanna host it without, you know, setting up a server and installing, you know, the backend and managing, you know, SSH access.

Speaker 0

于是他们就围绕这个想法开始构建。

And so they started building around that idea.

Speaker 0

GitHub之所以一直是GitHub,就是因为他们始终把开发者放在第一位。

What always made GitHub GitHub is that they put the developers first.

Speaker 0

就像你去看早期的Wavyack机器,看看最初的GitHub主页,它其实并不花哨。

Like if you go on the Wavyack machine and look at the first, you know, GitHub homepage, it isn't very fancy.

Speaker 0

它看起来就像一个提交日志。

It looks like a commit log.

Speaker 0

就是很简短地宣布一下,嘿,我们发布了这个新功能。

It's very short announcement of, hey, you know, we shipped this new feature.

Speaker 0

欢迎试用,然后告诉我们你的想法。

Try it out and let us know what you think.

Speaker 0

对吧?

Right?

Speaker 0

对。

Mhmm.

Speaker 0

关于我们的标志,就是现在大家熟知的 Octocat,这背后有个挺有意思的故事。

The story about, you know, our logo, what is now known as the Octocad, you know, is a funny one.

Speaker 0

我是从《Acquired》播客里听说的,他们了解到推特的创始人是怎么搞到他们标志的——从一个英国设计师的图库网站上买了一张图。

And I learned that actually from the Acquired podcast because they learned from the Twitter founders how they got their logo when they bought it on some stock graphic page from a British designer, I believe.

Speaker 0

于是他们就去找这位设计师的其他作品,挑了张章鱼和猫的混合图,把它做成了标志。

And so they looked, you know, for other graphics that the same designer had done and bought, you know, this hybrid of an octopus and a cat and made that the logo.

Speaker 0

作为一个资源有限、非常拼的初创公司,他们手上有项很酷的技术,可能将成为版本控制的未来。

So there was a lot of, you know, as a bootstraf startup that's scrappy, that has a cool technology that might become the future of version control.

Speaker 0

然后他们打造了如今被称为云原生公司的模式。

And then they built what is now known as cloud native company.

Speaker 0

发展得特别快。

And it grew fast.

Speaker 0

那时候,这个产品可能是市场上最快实现产品契合度的。

And back in the day, probably the product was the fastest product market fit.

Speaker 0

现在有不少公司也做了类似的东西,

Nowadays, there are other companies that have built similar,

Speaker 2

但时代已经不一样了。

but It's a different time.

Speaker 0

现在的环境跟以前完全不一样了。

It's a different time now.

Speaker 0

当时它发展得这么快,简直让人难以想象。

And I think it was unheard of how quickly it spread like wildfire.

Speaker 0

2008年的时候,我还在汽车行业的公司上班。

I was in 2008 still working in the automotive industry.

Speaker 0

那时我在博世,头一年根本没用过GitHub。

I was at Bosch, so I didn't use GitHub in the first year.

Speaker 0

我后来离开博世,不是因为GitHub,而是因为iPhone的SDK出来了。

And then I quit Bosch at the 2008, not because of GitHub, but because of the iPhone SDK.

Speaker 0

之后我就成了一个为德国公司开发App的独立软件供应商。

And it became, you know, an ISV building apps for German companies.

Speaker 0

所以我记得我是在2009年初创建的GitHub账号。

And so I created, I think my GitHub account in early two thousand and nine.

Speaker 0

我们可以查一下,大概是2009年3月或4月。

We can look it up, I think March or April 2009.

Speaker 0

后来我参加了2009年在拉斯维加斯举办的Ruby和Rails大会,看到克里斯·冯·斯特雷奇正在介绍GitHub以及他们正在做的事情。

And then I was at RailsConf, the Ruby and RailsConf in Las Vegas in 2009 and saw Chris Von Stretch giving a talk about GitHub and then what they were up to.

Speaker 0

可以说从那时起,我就成了GitHub的粉丝,也开始在自己的项目中使用GitHub了。

And that's, I would say, when I became a GitHub fan and and when I started using GitHub in in my projects.

Speaker 0

但在此之前,你得用一些自托管的工具,还得把它装到某个根服务器上,或者可能你已经有云服务了,然后所有东西都得自己维护。

But until that point, you would use some some help self hosted tool, you know, and install it on some root server or maybe you already had the cloud and and and may maintain all that yourself.

Speaker 0

从那以后,大家就直接用GitHub登录,然后创建代码仓库就行了。

And ever since, people just, know, log in with GitHub and then create repo.

Speaker 2

对。

Yeah.

Speaker 2

我查了一下能找到的历史资料,最让我惊讶的是,这家公司最早是在2007年成立的,而服务是在2008年上线的。

When I looked through the history of just the things that I could find, what struck me as like so like as the first company was in 2007 and 2008, the service was launched.

Speaker 2

我记得你好像说是三月,或者差不多是四月。

I think you said March or something like April.

Speaker 2

不好意思。

Sorry.

Speaker 2

到了2008年,Reddit、雅虎、推特和脸书都已经用上GitHub了。

And already in 2008, Reddit, Yahoo, Twitter and Facebook already onboarded.

Speaker 2

脸书让我挺意外的,因为我知道他们用Mercurial,结果发现他们只是拿它来管开源项目。

Facebook was surprising to me because I knew they used Mercurial, but apparently they use it for their open source things.

Speaker 2

那时候,这些公司可都是最时髦、最前沿的。

And these are, these were very hip and very trendy companies at the time.

Speaker 2

当然了,就像你刚才说的,到了2009年,GitHub就成了大家的首选。

And obviously from there on, as you said in 2009, this was the obvious place to find.

Speaker 2

你觉得它当时为啥这么火?

Why do you think it was so popular?

Speaker 2

到底是什么原因让它这么受欢迎?

Like what was the reason?

Speaker 2

它是开源的吗?

Was it open source?

Speaker 2

那时候Git还没流行,2009年之前根本没人当回事,现在我们知道Git有多好用。

Was it, Because Git wasn't even like back by talking 02/2009, like now we know Git is great and it works.

Speaker 2

但那时候谁都不确定它能不能行。

But back then this was not clear.

Speaker 2

当时用的是SVN。

There was SVS.

Speaker 2

大家都用SVN。

Everyone was using SVN.

Speaker 2

我记得那时候微软还大力投入了自己的Team Foundation Server。

I remember at the time and Microsoft had their own really heavily invested TFS, Team Foundation Server.

Speaker 2

为什么这个产品正好踩中了开发者的需求,大家一下子都觉得GitHub才是正经选择?

Why do you think this product market fit just hit so so bad and devs were like, yeah, GitHub is the place to be?

Speaker 0

Git解决了我们用其他版本控制系统时遇到的所有痛点。

Git solved the pain point that we had with all these other version control systems.

Speaker 0

像Subversion和TFS,它们原本都有自己的一套版本控制系统,直到后来才加上了对Git的支持。

You know, subversion TFS, you know, had its own version control until much data when they added git support

Speaker 2

没错。

Yes.

Speaker 0

用起来特别麻烦。

Were painful to use.

Speaker 0

尤其是当多个团队在同一个代码库上协作的时候,那真是又慢又折腾。

And they were painful to use, especially when you had multiple teams working together within the same code base.

Speaker 0

Git引入了一个全新的理念:你本地就拥有完整的代码仓库。

Git bought this concept of you have the full repository on your machine.

Speaker 0

即使没有网络,你也能自由地在不同分支间切换。

You can switch from one branch to another, even without having an internet connection.

Speaker 0

所有操作都直接在你的电脑上完成。

And you did always everything on your computer.

Speaker 0

你可以同时在多个分支上做修改,等准备好了再推送到远程,或者跟同事分享。

So, you know, you could make changes to multiple branches and then pushed upstream or shared with your coworkers.

Speaker 0

某种程度上,GitHub 其实是软件开发工具的一个讽刺——你有 Git 这种去中心化的系统,结果全世界现在却都依赖一个中心化的平台,所有人都往这儿推代码。

And in some ways, you know, GitHub, I think, is the irony of software development tools because you have a decentralized system like Git, then you have a central hub that the world depends on today and where everybody pushes to.

Speaker 0

所以,去中心化这个概念,听上去在开发者聊天时特别酷,特别有吸引力。

So this notion of decentralized systems is still something that sounds great when developers are chatting about technology.

Speaker 0

但我觉得,人本质上还是想有个家。

But I think humans are longing for home.

Speaker 0

现在 GitHub 的口号就是:我们是软件开发者的家,大家在这里人与人协作,以后还会有人和智能代理协作。

And, you know, today at GitHub, have the saying, we're the home of software developers, where they collaborate human to human and soon human to agent.

Speaker 0

我觉得这一点起了很大作用。

So I think that played a big role.

Speaker 0

当时出现了一个新的版本控制系统,大家之所以愿意主动去试,是因为他们对用 WordPress 那些老工具早就烦透了。

You had a new virtual control system that people were intrinsically motivated to try out because they were frustrated with using some version WordPress.

Speaker 2

或者连 CPS 都算上。

Or even in

Speaker 0

还有类似的东西。

CPS, you know, and something like that.

Speaker 0

就是想找个新的办法来解决这个问题。

And just wanted something new to solve that problem.

Speaker 0

然后注册个账号试一下,特别简单。

And then it was just easy to shoot an account and try it out.

Speaker 0

比如浏览代码库、点开文件树这些界面操作,GitHub 在这方面比以前的工具进步太多了,用 Ajax 加载,速度飞快,不用等整页刷新。

You know, even user interfaces like browsing the repo, clicking the file tree, GitHub, you know, innovated a lot in that compared to what was there before and making that Ajax request so they would load really fast and you wouldn't wait to follow full page reload.

Speaker 0

GitHub 还首创了拉取请求这个功能,你可以 fork 别人的项目,自己改一改。

GitHub invented the pull request, you know, this notion of that you can fork people, make your modifications.

Speaker 0

如果你想保留自己的分支,随时都可以。

If you'd like to keep your fork, you can just do that.

Speaker 0

这简直太棒了。

That's totally cool.

Speaker 0

或者你也可以把修改发回去,提个拉取请求。

Or you can send a pull request back.

Speaker 0

我们其实是请其他维护者在合并之前,先看看你做的改动。

So we're asking the other maintainer to merge in your changes before that diff files were exchanged.

Speaker 1

本集由 Augment Code 赞助播出。

This episode is brought to you by Augment Code.

Speaker 1

你是个专业的软件工程师,靠感觉可不行。

You're a professional software engineer, vibes will not cut it.

Speaker 1

Augment Code 是专为真实开发团队打造的 AI 助手。

Augment Code is the AI assistant built for real engineering teams.

Speaker 1

它能读取你整个代码库,数百万行、上万文件,所有建议都精准贴合上下文,让你专注不被打断。

It ingests your entire repo, millions of lines, tens of thousands of files, so every suggestion lands in context and keeps you in flow.

Speaker 1

借助 Augment 新推出的远程代理,你可以一次性安排多个任务——修复 bug、开发新功能、重构代码,然后合上笔记本,回来时已经收到待审的拉取请求。

With Augment's new remote agent, queue up parallel tasks like bug fixes, features and refractors, close your laptop, and return to ready for review pull requests.

Speaker 1

别的工具卡壳的时候,Augment Code 却在飞速前进。

Where other tools stall, Augment Code sprints.

Speaker 1

Augment Code 从不训练或出售你的代码,你的团队知识产权始终属于你。

Augment Code never trains or sells your code, so your team's intellectual property stays yours.

Speaker 1

而且你根本不用换工具。

And you don't have to switch tooling.

Speaker 1

继续用 VS Code、JetBrains、Android Studio,甚至 Vim 都行。

Keep using Versus Code, JetBrains, Android Studio or even Vim.

Speaker 1

别靠感觉去雇一个 AI。

Don't hire an AI for vibes.

Speaker 1

选一个最懂你和你代码库的助手。

Get the agent that knows you and your code base best.

Speaker 1

前往 augmentcode.com/pragmatic,免费试用十四天。

Start your fourteen day free trial at augmentcode.com/pragmatic.

Speaker 2

我觉得,很多人忽略了一点,就是真正理解这一点。

Well, think this is one of the biggest thing that people miss as I understood, like understanding.

Speaker 2

Linux 内核的开发用的是 Git,GitHub 上很多 Git 功能其实都源自那里。

So like Linux Toro is designed Git and a lot of GitHub or the Git functionality comes from there.

Speaker 2

但 Linux 的工作流程是靠邮件来推进的。

But the Linux workflow was email based.

Speaker 2

其实 Git 里有一个专门的命令。

So actually in git there is a command.

Speaker 2

我不记得具体那个命令了,但好像是用邮件发送包含你修改内容的补丁包。

I don't remember the exact command where I think it's something email where you send an email with your changes bundled, with your git changes bundled.

Speaker 2

Linux 就是这么运作的。

And that's how Linux works.

Speaker 2

他们纯粹靠邮件来协作。

They just use email.

Speaker 2

但 GitHub 完全不是这么做的。

And GitHub does not do this.

Speaker 2

事实上,GitHub 推出了拉取请求这个功能,这至今仍是 Linux 和 GitHub 使用 Git 的核心区别。

Indeed, GitHub invented the pull request, which is a big difference between even today how Linux uses Git and GitHub does.

Speaker 2

这确实是一次巨大的突破。

And yeah, it was a smash.

Speaker 2

拉取请求是什么时候发明的?

When was the pull request invented?

Speaker 2

你知道吗?

Do you know?

Speaker 2

是那时候吗?

Was it

Speaker 0

早期就出现了?

early on?

Speaker 0

我查了一下时间点。

I'm getting the date from it.

Speaker 0

我觉得是在GitHub成立一年左右的时候。

I think it was a year or so in into GitHub.

Speaker 2

确实挺早的。

It's pretty early.

Speaker 0

肯定不是刚上线就有了。

It wasn't definitely, it wasn't there on day one.

Speaker 0

是后来才推出的。

It it came sometime later.

Speaker 0

我们可以查一下,然后加到节目笔记里。

We can, you know, look it up and add add to the show notes.

Speaker 0

但那时候这还是个新鲜事。

But it was a new thing at the time.

Speaker 0

我觉得这对软件开发者来说最终是一种解放——你提交一个合并请求,如果维护者不喜欢,直接关闭就行,或者就搁在那里不管。

And I think it's ultimately liberating for for software developers where you send a pull request and, you know, if the maintainer doesn't like it, they can just close the pull request or just leave it open.

Speaker 0

是的。

Yeah.

Speaker 0

其他人也能看到,如果他们想用,可以直接去你的分支里拿过去继续用。

Others can see it, you know, and and if they wanna pick it up, they can just jump over to your fork and and keep using it there.

Speaker 0

所以你会看到,很多人干脆就让自己的分支独立运行,因为他们不想承担参与主项目的责任。

And so you see, you know, see a lot of that also happening that people just keep their forks independent because they wanna they don't wanna have the obligation to to engage with the main project.

Speaker 0

比如我有几个分支,都是为了我自己的兴趣项目做了一些小修改。

Like, I have a bunch of forks where I made some small modification for my own, you know, hobby project.

Speaker 0

我觉得这些改动没必要非得合并回主分支。

I don't see, you know, I don't see a big reason that that needs to go back into the main branch

Speaker 2

因为有些

because some

Speaker 0

这部分可能也靠一些临时凑合的办法。

of that might be just with hackery as well.

Speaker 0

对吧?

Right?

Speaker 0

这样一来,想要协作的开发者之间就更容易合作了。

And so it makes it much easier for developers that want to collaborate to collaborate with each other.

Speaker 0

对其他人来说,这也让参与开源、学习开源、自由组合使用变得更为平等开放。

And for the others, it democratizes how they engage with open source, how they learn from it, how they mix and match and so on.

Speaker 0

那关于这种聚集现象,

So what about kind

Speaker 2

如果我这么理解的话,开源显然是其中一部分,这种新的协作方式,尤其是在开源领域,但还有一件事你没提到,我想知道你是否也觉得,哪怕你用 GitHub,也随时可以迁移到自己的 Git 服务器。

of a gathering, if I'm putting it together, like open source was clearly one thing, this new collaborative workflow, especially with open source, but also, and I think one thing you didn't mention, but I wonder if you're, if it is a part is how even if you use GitHub, you can always move to your own Git server.

Speaker 2

迁移起来非常简单。

It's very easy to migrate.

Speaker 2

而且它还支持离线使用。

It also works offline.

Speaker 2

所以,即便GitHub宕机了,没错,它是个中心枢纽。

So even if GitHub is offline, like, yes, it's a central hub.

Speaker 2

但如果GitHub出故障了,说真的,我们肯定都不乐意。

But if there's a GitHub outage, I mean, we're not happy about it.

Speaker 2

现在抱怨的人其实不多,老实说。

People complain these days and there's not many of them to be fair.

Speaker 2

但就算真发生了,我是说,哦,我想我还能在本地继续工作。

But even when that happens, I mean, oh, I guess I can keep working locally.

Speaker 2

我可以继续推送代码。

Like I can keep pushing.

Speaker 2

所以你可能根本不会察觉到,因为你在本地操作。如果只是三十秒或一分钟的中断,当然不是鼓励这种情况,但你很可能注意不到。

So you might not, it's just, again, if it's just like a thirty second outage or a one minute one, not advocating for it, but you might not even notice because you're just like doing your local thing.

Speaker 2

所以作为一名开发者,我觉得我们很看重这一点:知道自己不会被锁定,而且它还是免费的。

So think as a developer, like, I think we appreciate when we know we are not locked into by the way, it's free.

Speaker 2

很多这类工具确实如此。

Like a lot of the Yeah.

Speaker 2

抱歉,不是说GitHub本身,而是开源项目一直以来都是免费的。

Sorry, not not GitHub per se, but for open source, was always free.

Speaker 0

对吧?

Right?

Speaker 0

开源项目从来都是免费的。

It was always free for open source.

Speaker 0

你可能会说,GitHub开创了一种非广告驱动的免费增值模式,而传统意义上的免费增值通常是靠广告的。

And you you might say GitHub invented a version of the freemium model that is not ad based, where traditionally freemium is ad based.

Speaker 0

没错。

Yes.

Speaker 0

免费用户能免费使用一些功能,但会看到广告;付费用户则能去掉广告,获得更多功能。

The free users get it get something for free with advertisement, and then the paid users get get rid of the advertisement and get more features.

Speaker 0

GitHub最初把所有公开操作都设为免费,因为这有助于社区发展,显然也促进了它的社交网络属性,对吧?

GitHub originally had the separation between everything you do in public as free because it helps the community, obviously helps the social network, quote, unquote Yes.

Speaker 0

或者说是GitHub的成长。

Or a GitHub growing.

Speaker 0

当你需要私有仓库时,就得付费了。

And then when you wanted private repositories, you you had to pay for them.

Speaker 0

微软收购后不久,2019年初,我们就改了这个政策。

Shortly after the acquisition, early twenty nineteen, we changed that.

Speaker 0

不再让用户为私有仓库付费,而是直接免费开放了私有仓库。

And instead of paying for private repositories, we actually made private repositories free as well.

Speaker 2

是的,我们确实这么做了。

We did, yeah.

Speaker 0

因为很多独立开发者给了我们反馈,尤其是你走遍世界各地的时候。

Because we had a lot of individual developers giving us feedback, especially, you know, when you travel around the world.

Speaker 0

对美国人来说,每月四美元可能不算什么,但对其他国家的人来说,这相对于他们的收入可是一笔不小的数目。

For an American, four a month might not be a lot, but for somebody in a different country, that is much more money relative to their income.

Speaker 0

所以我们把私有仓库免费了,现在收费的是那些企业级功能,比如单点登录、分支保护之类的,学生或者爱好者一般用不上这些。

Hence, we were private depositors free, and today we charge for what you could call enterprise features, like single sign on or branch protection, things that a student or hobbyist, you know, probably doesn't need.

Speaker 0

说实话,我自己搞个人项目的时候,根本懒得写测试。

If I'm honest, when I work on my hobby projects, I barely write any tests.

Speaker 0

我肯定不会给自己发拉取请求。

I certainly don't send myself a pull request.

Speaker 0

然后我就得自己审查自己的代码。

Then I have to review my own code.

Speaker 0

直接合并到主分支就完事了。

Just merge, into main branch and that's cool.

Speaker 0

不过话说回来,GitHub 在商业模式上也做了不少创新。

And so, but yeah, GitHub innovated in this, in the business model space as well.

Speaker 0

你刚才提到,在某些情况下用 GitHub 或者本地 Git 会很有帮助。

And, you know, you mentioned that the scenarios where it's helpful to use GitHub or Git on on your local machine.

Speaker 0

2007、2008 年的时候,飞机上基本都没有 Wi-Fi。

In 2007, 2008, flights didn't have Wi Fi, at least normally.

Speaker 0

没有。

No.

Speaker 0

根本连不上。

Couldn't.

Speaker 0

当时还没有Wi-Fi。

Wi Fi wasn't.

Speaker 0

而且,我记得那时候飞机上基本都没有Wi-Fi。

That's And, like, the guys very have Wi Fi as far as I remember.

Speaker 0

我不确定星巴克是不是已经有了。

I don't know if Starbucks, maybe Starbucks already had it.

Speaker 0

但在很多地方,你都得在本地机器上工作好一阵子,然后才能提交到代码仓库里。

But, like, there was much more places where you would work just local on your machine for for quite a while and and and being able to commit into the repository.

Speaker 0

要知道,那时候Subversion还没有推送功能。

There wasn't, you know, subversion didn't have a push.

Speaker 0

所有操作,比如提交到上游、切换分支、回滚等等,现在用Git都很自然,但当时可不是这样。

Would always commit into the into the upstream, change branches, you know, roll back all these operations that are now natural with Git.

Speaker 0

在2007、2008年那会儿,这还很不常见。

They weren't natural in 2007, 2008.

Speaker 2

所以GitHub起步后,真正开始获得巨大关注是在2008年,到2010年2月左右。

So GitHub started off, it starts to get real big traction, 2008, 02/2010.

Speaker 2

从开发者角度来看,下一个重要的里程碑是,那时候用 GitHub 只能靠网页版或者本地命令行。

The next big kind of milestone I remember from a developer's perspective is until then to use GitHub, you you could use the web version and use the local command line interface.

Speaker 2

你得把所有命令都记下来。

You just learned all the commands.

Speaker 2

那时候出过不少书,说哪些命令简单,哪些像挑拣提交啊之类的就比较复杂。

You know, there's books about like the easy ones are easy and then like cherry picking and all that.

Speaker 2

我老是搞不清楚那些东西。

Was always confused by that.

Speaker 2

大概到 2014 年,GitHub 首次推出了桌面应用,而且不只推出了桌面端,还推出了 Atom 编辑器,我特别喜欢。

And then in around 2014 was the first time that GitHub actually released desktop applications, but not only did it release desktop applications, it actually released the Atom text editor, which I loved.

Speaker 2

我用了好多年。

Used it for so long.

Speaker 2

它是个轻量级的编辑器。

It was a lightweight editor.

Speaker 2

它还发布了 Electron 框架,Atom 就是靠这个跑的,之后 GitHub Desktop 也在 2014 到 2015 年陆续上线了。

It released the Electron framework, which powered Atom, and then GitHub Desktop in twenty fourteen, twenty fifteen.

Speaker 2

你觉得 GitHub 为什么等了这么久才推出桌面应用?

Why do you think GitHub waited that long to have these desktop applications?

Speaker 2

Atom 的目标是什么?它到底带来了什么帮助?

What what what was the goal with AppTom, and and how how did this help?

Speaker 2

它有没有真正吸引到那些喜欢界面友好、不喜欢用命令行的用户?

Did it actually help, like, get more people who just liked a nice user interface and were not the command types?

Speaker 0

我对这些软件的发展历史不太清楚。

I don't know the history of of all these apps.

Speaker 0

我的猜测是,你说‘等了这么久’,但对一家初创公司来说,先做出核心产品,再慢慢扩展其他功能,其实已经不算慢了,多线发展反而可能分散精力。

My my suspicion is that, you when know, you say waited this long, I'd make the counterargument in how long is long for a startup to form a core product, to having multiple other products that may or may not become a distraction.

Speaker 0

我觉得每一款产品都是为了解决团队当时遇到的具体问题。

I think each of those solved the specific problems that the team saw.

Speaker 0

Atom 是在 VS Code 发布前一年左右推出的。

Adam came out, you know, I think a year or so before Versus Code launched.

Speaker 0

很明显,那时候正是新一代 IDE 火起来的时机。

So clearly, the time was hype, you know, for a new generation of IDEs.

Speaker 0

这两个项目都是开源的。

Both of them were open source.

Speaker 0

被收购后,它们都并入了同一家公司。

For the acquisition, they both ended in the same company.

Speaker 0

后来,Oddi决定继续专注于VS Code,并且招聘新人——这其实回归到了开发者优先的文化。

And then Oddi made the decision to continue our journey on Versus Code and hire But it goes back to this developer first culture.

Speaker 0

这跟GitHub早期的风格一脉相承,那时候你加入公司,没有直属经理,也不用

It goes back to GitHub's origins where you would join as an employee, and you wouldn't have a manager, and you wouldn't

Speaker 2

没有任务清单。

have a backlog.

Speaker 2

所以那时候,真的完全没有经理吗?

You would have the So so back then, really, there were no managers?

Speaker 0

倒也不是完全没有,毕竟有CEO,还有少量管理层,但整体结构非常扁平。

There were no Well, there was obviously a CEO and like a little bit, but that was very flat.

Speaker 0

而且新员工入职,一直都是在总部进行的。

And people, they onboarding was always at headquarters.

Speaker 0

所以,尽管我说我们是远程优先的公司,但你还是得在旧金山的总部待上一周左右,学习怎么制作意式浓缩咖啡。

So even though I said remote first company, you would spend a week or so in our headquarters in San Francisco and to learn how to make an espresso.

Speaker 0

这还真是入职培训视频里的内容之一。

And that was literally one of the onboarding videos.

Speaker 0

要知道,他们总得有点

You know, they got to have some

Speaker 2

某种

kind of

Speaker 0

那种天马行空的未来,那种随心所欲的文化。

whimsical future, whimsical culture.

Speaker 0

然后你会被告知,你知道吗,就选一个你感兴趣的事情去做。

And you got told, you know, pick pick something that you're interested in.

Speaker 0

这样一来,自然就导致开发者们会去选择解决那些他们自己关心、想要处理的问题。

And and that naturally leads, you know, to developers picking things that they wanna solve for themselves, that they care about.

Speaker 0

所以亚当,也就是当时的CEO克里斯·冯斯特拉特,在GitHub被收购之前的大部分时间里,其实都是艾伦项目的核心维护者之一。

And so Adam was actually, you know, Chris Vonstrat, the CEO at the time, and then for most of GitHub's journey until the acquisition, was one of the, you know, core maintainers of the Allen project.

Speaker 0

所以,我

And and so I

Speaker 2

我认为你问的关于CEO是核心维护者那部分。

think part of your question about the CEO being a core maintainer.

Speaker 0

这很大程度上源于在那里工作的人们的热情。

A lot of that is was about the passion of of the people working there.

Speaker 0

我对桌面版的历史了解得不是特别清楚,但我推测,他们当时是看到了一个需求,那就是让更多人能够使用GitHub,而不必精通Git的所有复杂细节。

Don't I know exactly the history of desktop, but my assumption there would be that they saw a need to expand the people that can use GitHub without knowing all the intricacies of Git.

Speaker 0

从很多方面来说,GitHub官网的用户界面其实也起到了这个作用。

In many ways, you know, the GitHub user interface on github.com also served that purpose.

Speaker 0

举个例子,比如那个‘追责’视图,在GitHub官网上,你只需要点一下按钮,就能看到是谁改了哪个文件、文件的哪一行。

If you think, for example, about blame views, blame on github.com is just clicking a button and see who modified which file, which line in the file.

Speaker 0

但如果你在评论行里被指责,要搞清楚怎么回事就难多了,特别是如果你对软件开发不太了解的话。

But if you do get blame on the comment line, it's much, much harder to to figure out what's what, especially if you don't know a lot about software development.

Speaker 0

所以这一切都是为了扩大用户群,让更多人能从中获得实际用处。

So it's all about growing the user base and expanding the people that get get, you know, utility out of it.

Speaker 2

我经常用 GitHub Desktop。

I'll I'll say that I I use GitHub Desktop a lot.

Speaker 2

我的意思是,虽然情况不一样,我也懂命令行,但就是喜欢不用再操心这些事。

Mean, never is different, and I know how to use command line, but I just like that I don't have to think about it again.

Speaker 2

当初它上线的时候,我真的很欣赏。

So, like, I I I appreciate it when it when it came out.

Speaker 0

我几乎不用它,但我经常用 VS Code 里的 GitHub 集成功能,也是为了同样的目的。

I barely even use it, but I use, you know, the GitHub integration in Versus Code a lot for the same purpose.

Speaker 0

我觉得,像 Git 这种协议,支持 SSH 和 HTTP 访问,其实当年 GitHub 刚起步时并不常见,现在却用得越来越多,因为 HTTP 比 SSH 更容易接入。

So there's I think even that, you know, Git as a protocol with SSH access and HTTP access, which were also, by the way, wasn't something that was very prevalent in the early days of GitHub and is now much more used because it's easier to access through HTTP than than through SSH.

Speaker 0

我觉得这些功能加在一起,慢慢造就了我们现在觉得理所当然的开发者体验,但二十年前,这根本不是常态。

I think all of these pieces, you know, ultimately helping, you know, to create the developer experience that we now consider normal, but by no means was normal twenty years ago.

Speaker 2

那我们现在就说到微软收购的事了。

So then we're getting to the Microsoft acquisition.

Speaker 2

时间已经过了 2015 年,现在是 2016 年左右了。

So we've now passed 2015, it's now 2016 or so.

Speaker 2

你当时就在微软内部。

You were in the inside of Microsoft.

Speaker 2

你那时候已经在那儿工作了。

You were already working there.

Speaker 2

这事儿是怎么发生的?

How did this come about?

Speaker 2

微软当时是怎么想的?

What was Microsoft thinking?

Speaker 2

微软为什么会对GitHub感兴趣?

Why was even Microsoft interested in GitHub?

Speaker 2

从你的角度看,这笔收购是怎么推进的?

And then, you know, how did the purchase go from your perspective?

Speaker 0

那是2018年初,当时我老板内德·弗里德曼在微软CDP部门负责移动开发工具,他原本来自Xamarin,是通过收购加入微软的。

It was 2018, early twenty eighteen, that back then, Ned Friedman, my boss within Microsoft CDP in the developer division doing mobile developer tools, Nat came from from Xamarin, so had joined Microsoft himself for an acquisition.

Speaker 0

我是通过Hockey App的收购加入微软的。

I had joined for the Hockey App acquisition.

Speaker 0

所以我们当时在微软内部就像一个外来团队,来了很多人

So we were like a bit of a, you know, outside in team within Microsoft with lots of people coming

Speaker 2

来自其他公司

from other

Speaker 0

都是有云原生经验的,跟微软传统的技术栈很不一样。

companies, lots of, you know, cloud native experience, a non traditional stack for Microsoft.

Speaker 0

同时,微软自己也变了。

At the same time, also Microsoft had changed.

Speaker 0

那时候,萨提亚·纳德拉当CEO已经快四年了。

It was now about four years since Satya Nadella had become the CEO.

Speaker 0

萨提亚很早就拥抱了开源,比如VS Code上线了,.NET也开源了。

Satya had very early on embraced open source, you know, then Versus Code was launched, .net became open source.

Speaker 0

微软在开源态度、技术栈选择和未来方向上,已经接连做了好几项重大调整。

So a number of steps had happened where Microsoft changed its fundamental position on how to use open source, how to use, you know, the stack and where the future is going.

Speaker 0

你可能还记得,那时候他们的战略是‘云优先,移动优先’。

You may remember this part of the strategy back then was cloud first, mobile first.

Speaker 0

而且在很多方面,这个说法放到今天依然成立。

And in many ways, that is still true today.

Speaker 0

我们现在已经不这么提这两点了。

We are no longer saying those two things.

Speaker 0

现在想想看,你每天怎么用微软的产品,它们无处不在——不管是什么设备,谁家造的,跑什么操作系统。

If you think about how you interact with Microsoft products today, they are on every device, regardless of who makes the device, what operating system that I'm This

Speaker 2

这在当时可没那么明显,因为那时候还是Windows优先。

was not obvious then because it was still Windows first.

Speaker 2

当时还是有不少人觉得微软只会做Windows。

There was still a feeling that Microsoft is only Windows.

Speaker 2

对,而且我在哪都能听到这种说法。说实话,哪怕是微软内部的人,其实心里也打问号。

And, yeah, and I heard this was said everywhere, I think outside of Microsoft, we were skeptical, honestly.

Speaker 0

但你看,现在微软提供的云技术栈、算力技术栈,不光支持自己的产品,更是能给行业里任何一家企业用,这是实打实的变化。

But, you know, and obviously the cloud stack, the compute stack that Microsoft offers today, not only to its own products, but to any company in the industry, really.

Speaker 0

我刚进微软的时候学到一件事:在小创业公司工作的时候,我们会把同赛道的其他公司当成竞争对手,也就是所谓的“敌人”。

One thing I learned early in my journey at Microsoft is that when you're a small startup, you consider other companies in the space competitors and say, quote unquote, the enemy.

Speaker 0

在微软,竞争对手同时也是我们的客户,很多时候还是合作伙伴。

At Microsoft, competitors are at the same time also customers and often partners.

Speaker 0

比如我们提供的Azure AI Foundry,也就是大型语言模型的推理平台,不仅服务于我们自己的Copilot,也提供给许多其他公司,它们可能直接或间接地与GitHub或其他微软产品形成竞争。

We are providing, you know, if you take, for example, Azure AI Foundry, our inference stack for large language models, are providing those not only to our own Copilot, are providing those to many other companies that may directly or indirectly compete with GitHub or with other Microsoft products.

Speaker 0

到了2018年,微软内部的世界观已经发生了变化。

And so 2018, the worldview in Microsoft had changed.

Speaker 0

我觉得外界对我们的看法也开始转变了。

I think that reputation started to change.

Speaker 0

我们开始相信,像收购GitHub这样的事是能做到的——让GitHub成为微软的一部分,同时不会让所有的开源维护者流失,因为他们原本担心微软会搞砸GitHub。

We at Microsoft started to believe that we could pull off an acquisition like GitHub, you make GitHub part of Microsoft and not lose all the open source maintainers because they feel like Microsoft is not going to be a good steward of GitHub.

Speaker 0

我们很早就明确了这一原则的具体内容。

And we said very early on clear principles of what that looks like.

Speaker 0

2018年距离收购LinkedIn大约两年,距离收购Minecraft则更久一些。

And 2018 was about two years after the LinkedIn acquisition, a bit longer since the Minecraft acquisition.

Speaker 0

所以我们已经有了两个成功的收购案例,都是保留了品牌和平台的独立性,直到今天依然如此。

So we had kind of like two examples of acquisitions where we kept the brand and the platform independent even today.

Speaker 0

你去LinkedIn的主页看看,基本上看不到什么微软的影子。

When you go to the LinkedIn homepage, you don't see a lot of Microsoft there.

Speaker 0

GitHub被收购七年了,它的主页上也没有微软的痕迹,除非你用的是Entra ID作为单点登录提供商。

Seven years after the GitHub acquisition, there's no Microsoft on the GitHub homepage unless you're using Entra ID as a single sign on provider.

Speaker 0

当然,我们也会发布博客文章,聊聊微软的Copilot以及Fi这类产品。

Or, of course, we have blog posts where we talk about Copilot the Microsoft and Fi things like that.

Speaker 0

至于《我的世界》,很多孩子可能是在童年后期才意识到,他们最爱的游戏之一,其实和开发操作系统、职业社交平台以及GitHub的是同一家公司。

And Minecraft, many kids, I think, realize much later, you know, in their childhood that one of their favorite games is actually the same company that also produces the operating system and the professional network and GitHub.

Speaker 0

不过,当你审视这两次收购,再看GitHub时,就会觉得这似乎是顺理成章的结果,是微软沿着这条路走下去的必然下一步。

But part of when, you know, when you look at those two acquisitions and then you see GitHub, it feels like a natural consequence, the natural next step for Microsoft to go down that path.

Speaker 0

微软始终是一家以开发者为先的公司。

Microsoft always has been a developer first company.

Speaker 0

要知道,第一款产品BASIC,就是为那个——你看,就像这个会议中心里,我不知道你有没有体验过1975年的那种感觉,就是在一台模拟的Altair电脑上工作,通过一些编程测试。

Know, the first product And, was based for the you know, here at the conference center, I don't know if you had the 1975 experience where you work on a fake Altair and pass some coding tests.

Speaker 0

后来,BASIC又为Apple II开发,再后来,到了90年代,显然就演变成了Visual Studio。

Then that was basic for the Apple II and obviously Visual Studio in 1990s.

Speaker 0

我最早用的 Visual Studio 应该是 Visual C++ 1.0,还附带一本手册,后来又出了 Visual J,算是微软版的 Java 克隆。

I think my first version of Visual Studio was Visual C one point zero, came with a book and then had Visual J, which was like Microsoft's Java clone.

Speaker 0

那时候我花了不少钱,买了一整套 Visual Studio 7,现在想想真贵。

And then I bought like a full scale Visual Studio seven for way too much money back then.

Speaker 0

至少对我一个高中生来说,那笔钱可真不是小数目。

At least, you know, for where I was as a high school student, right?

Speaker 0

如今要是还靠一次性卖 IE,根本没人买账了。

Obviously in today's world, selling an IE at a one time price would be something that has no market fit anymore.

Speaker 0

微软那时候根本接触不到开源生态。

You know, Microsoft lacked access to the open source ecosystem.

Speaker 0

对云原生开发者也没什么吸引力。

Didn't have, you know, the same attraction to cloud native developers.

Speaker 2

完全不流行。

It was just not trending at all.

Speaker 0

是啊。

Yeah.

Speaker 0

从商业角度看,拥有这个生态系统非常重要。

And that was important from a business perspective to have that ecosystem.

Speaker 0

我们必须再次把开发者放在首位。

It was important for us to put developers first again.

Speaker 0

这实际上是三大原则中的第一条。

And so that was actually the first principle of three principles.

Speaker 0

我们相信,我们能重新推动GitHub的发展,因为2018年的GitHub已经有点被认为不再具备创新能力了,原因有很多。

And we believe we can reaccelerate GitHub because GitHub in 2018 had a bit of the reputation of not being able to innovate anymore for various reasons.

Speaker 0

关于这一点,我们后面可以更详细地聊。

And we can talk about that as more in detail.

Speaker 0

但关键在于,收购这件事不能只看微软能从GitHub捞到多少好处,而要看微软是否愿意为GitHub投入资源。

But it was really important to think about the acquisition, not a Microsoft gets a lot out of GitHub, but Microsoft is willing to invest into GitHub.

Speaker 0

2018年我们刚开始和他们谈的时候,GitHub总共大约有700名员工。

GitHub in 2018, the time we started the conversation with them was about 700 employees all up.

Speaker 0

我们前面提到过,现在员工已经超过3000人了。

And we mentioned earlier, it's now over 3,000 employees.

Speaker 0

所以这笔投资确实已经实现了。

So that investment surely has happened.

Speaker 0

我们充分利用了微软的整个技术栈,比如Copilot,就是基于Azure AI Foundry和与OpenAI的合作,打造了AI代码生成产品。

And we have leveraged a lot of the Microsoft stack and Copilot comes to mind where we're using Azure AI Foundry and the relationship with Open you know, to build AI code generation product.

Speaker 0

当然,微软也希望从中获得回报。

And then the last one was, of course, also Microsoft wanted something back.

Speaker 0

GitHub的崛起反过来也推动了微软的发展。

And so GitHub accelerated Microsoft.

Speaker 0

那具体是怎么做到的呢?

And the easy answer there is how did we achieve that?

Speaker 0

靠的是收入增长。

By growing revenue.

Speaker 0

去年七月,也就是大约一年前,我们宣布收入已经突破了每年20亿美元的年经常性收入。

And we announced last July, so about a year ago now, that revenue has grown to over 2,000,000,000 annual recurring revenue run rate.

Speaker 0

这个数字还在持续增长,我们对这些业务成果能反哺微软的盈利感到非常满意。

And that keeps growing, and we are very happy with these business results contributing back to Microsoft's earnings.

Speaker 0

但顺序是这样的,对吧?

But in that order, right?

Speaker 0

先是开发者把产品做好,推动GitHub发展,然后GitHub反过来推动微软,无论是在产品上比如Copilot,还是在收入上,用我们自己的业绩回馈微软。

Like developers first making good to develop a product, accelerate GitHub, and then eventually GitHub accelerating Microsoft and giving back both on the product side, Copilot or on the revenue side with our own results.

Speaker 2

但我觉得最后这一点特别值得强调,作为开发者,我真的很喜欢用那些我知道会长期存在的产品。

But I think this this last thing is just worth emphasizing in the sense that I think as a developer, really like that I like using products where I know they'll be around.

Speaker 2

所以你的意思是,GitHub的收入一直在稳步增长,越来越多的企业、公司和团队愿意为专业用途付费,帮助他们的工作,对吧?

So you're saying that, you know, GitHub's revenue has been consistently going up more enterprises, more, more companies, more teams paying for professional use cases, right, to help their work.

Speaker 0

我记得清楚,GitHub在被收购前最后一次公开收入数据是在2017年,当时年经常性收入大约是两亿美元。

If I remember correctly, 2017 was the last official revenue announcement that GitHub made before the acquisition and they were at about $200,000,000 run rate.

Speaker 0

他们当时宣布正在寻找新的首席执行官。

They announced at that time that they were looking for new CEOs.

Speaker 0

克里斯准备卸任了。

Chris ready to step down.

Speaker 0

最终在2018年6月,微软完成了收购,并任命了新的CEO内德·弗里德曼。

Then that ultimately resulted in the acquisition then in June 2018 through an acquisition and a new CEO, Ned Friedman.

Speaker 0

但看看吧,2017年两亿美元,到2024年,七年时间,收入翻了十倍。

But like 2017, dollars 200,000,000 to 2024, in seven years, revenue went up factor 10.

Speaker 2

是的。

Yeah.

Speaker 2

听到这些其实挺让人安心的,毕竟我们知道微软是个营利性公司。

Well, is also, it's kind of reassuring to hear that because there's always a risk, we know Microsoft is a for profit company.

Speaker 2

毕竟他们得向股东交代,看到这些指标表现不错,确实让人放心。

You know, like, such an adult reports to shareholders, good to know that those things are going well as well.

Speaker 0

而且我觉得,长期以来,开发者工具在业界一直不被认为是能赚钱的业务。

Well, and I think, you know, for a long time, developer tools were not seen as a revenue driver in industry.

Speaker 0

以前确实有少数几个例子,比如JetBrains或者JFrog这样的公司。

I think, you know, there were a few examples like companies and JetBrains comes to mind or JFrog.

Speaker 0

有不少公司专注做开发者工具,但你要回溯五年前,甚至七年前,你跟我聊起一个开发者工具创业点子的时候,

There's a bunch of companies that, you know, were focusing on developer tools, but I think, you know, you you try time to go back five years or before that, let's say seven and a half years, and we talked with venture capitalists about an idea that we have, you and I, about a developer tools startup.

Speaker 0

风险投资人会说,光靠开发者工具不够,你得有别的东西,因为真正的钱不在那儿。

They're going to tell you, you need something else beyond just developer tools because that's where the big money is.

Speaker 0

如今,这个世界显然已经发生了翻天覆地的变化。

Today, this world obviously has dramatically changed.

Speaker 2

没错。

Absolutely.

Speaker 2

我跟斯科特·古特里聊天时发现,上一家能让开发者为开发工具花大钱的公司,还是2000年代的微软——那时候互联网还没现在这么发达,开发者不光买开发工具,还得花钱买MSDN和文档才能用上最新的软件。

But as I was talking with Scott Guthrie, the interesting thing was that the last company that was able to make developers pay for developer tools a lot of money, we're talking thousands of dollars, was Microsoft in the 2000s, where this was pre when Internet was small and developers didn't just pay for developer tools, but they paid for MSD and documentation for access to the latest software.

Speaker 2

那种时代早就过去了。

And that time has passed.

Speaker 2

我们聊到斯科特的一些经验,挺有意思的是,微软是怎么想通这一点的。

And we were talking about Scott on some of the learnings, but it's interesting how Microsoft figured that out.

Speaker 2

微软特别擅长找到一个绝佳的平衡点,就像以前那样——我当年在一家匈牙利公司工作时,

Feel Microsoft is very good at figuring out this great mix where again, back then, and I worked at a Hungarian company.

Speaker 2

每个开发者每年得花一千美元,但那笔钱花得值,效率提升太多了。

We paid about $1,000 per developer in Hungary because it made us so much more productive.

Speaker 2

所以咱们还是回到现在来说。

So we'll go with today.

Speaker 2

这部分也值得一提。

Part on this one.

Speaker 2

不过你提到一件事,我也注意到了。

But you mentioned something interesting, which I also noticed.

Speaker 2

我回想起GitHub Desktop刚推出的时候,确实很棒。

So I was looking back and I remember back when GitHub Desktop came out, it was great.

Speaker 2

那时候我开始更多地用GitHub,但从2015年起,就没什么新动静了。

I think I started to use GitHub more, but then from like 2015, nothing really happened.

Speaker 2

微软收购GitHub,这事儿没错。

Microsoft bought GitHub great.

Speaker 2

当时网上论坛里也有人在说,GitHub没什么进展。

And I remember on online forums as well, people were saying like GitHub is not doing anything.

Speaker 2

后来我翻了下更新日志,发现真正值得关注的功能,是从2021年才开始出现的。

And then the next thing I looked at the change log and the only notable thing I've seen shipped, it started in 2021.

Speaker 2

之后才推出了GitHub Sponsors、包注册表、Copilot和Codespaces。

Then GitHub sponsors came out, the package registry, Copilot, Codespaces.

Speaker 2

但从2015年到2020年,这段时间到底发生了什么?

But what happened there from 2015 to 2020?

Speaker 2

给人的感觉几乎是……我确信员工们都在工作,但从外部看,就像什么都没发生一样,原地踏步,只是招了更多人。

It almost felt like from, I'm sure people were working, but from the outside, it just looked like nothing, like bare on land and more people being hired.

Speaker 2

你刚才也提到了这一点。

You alluded to this.

Speaker 2

当时背后到底发生了什么情况?

What was going on behind the scenes?

Speaker 0

确实,在微软收购之前,也就是2015到2018年那段时间,我们基本只能听到一些传闻和零星的内部消息。

I mean, obviously, the time before Microsoft, you know, 2015 to 2018, only have hearsay and a little bit of insight.

Speaker 0

对。

Yeah.

Speaker 0

我觉得GitHub当时面临的一个大问题,尤其是在被微软收购之前以及之后的一段时间里,就是平台发展得太大了,太多人都依赖它保持可用且不出问题。

Think a big problem that GitHub had, especially before the Microsoft acquisition and for some time after that, was that the platform had grown so much and so many people were relying on it being available and not broken.

Speaker 0

而且你也知道,很多开发者都对它情有独钟,现在依然非常喜爱这个品牌。

Plus, you know, many developers did the Big Ben and still are very much in love with the brand.

Speaker 0

那个Octocat,我们内部都叫它Mona。

The Octocad, you know, internally we call it Mona.

Speaker 0

Mona。

Mona.

Speaker 0

Mona Lisa,就是Mona。

Mona Lisa, know, Mona.

Speaker 0

这形象大家都知道。

It's something that is recognized.

Speaker 0

你在街上、咖啡馆,甚至乐高店里都会被人认出来,毕竟那里的员工很多是大学生,碰巧也用GitHub。

You get asked about it on the street or in a coffee shop or in the LEGO store, because obviously the employees there are often also college students and happen.

Speaker 0

说实话,我坐飞机的时候,空乘人员都问我关于GitHub的事。

Mean, I've been, you know, on an airplane, the crew member asking me about GitHub.

Speaker 0

我就会问,你怎么会知道GitHub?

I'm like, how do you know GitHub?

Speaker 0

她说,以前上计算机课的时候用过。

She was like, well, used that in college for some computer science course that I took.

Speaker 0

如果你的东西在圈子里这么受欢迎,那大家的期待自然也会非常高。

And I think if you have something that is so beloved by space, that also means that expectations are really high.

Speaker 0

你越在乎一样东西,一旦失望,那种失落感反而越强烈。

Like, it's often that the disappointment is even bigger if you actually care about something.

Speaker 0

但如果你根本不在乎,那它好也好、坏也罢,你压根不关心,反正你也不喜欢。

But if you don't give a damn about this thing, then whether it's up or down or whether it's broken doesn't really matter to you because you hate it anyway.

Speaker 0

所以我觉得,正是这两点叠加,让大家对发布新功能特别紧张——你改一点东西,开发者们的反应往往就是网上一群人大吵大闹。

And so I think those two things combined led to people really being worried about shipping stuff because you would change something and the reaction from developers when you change something, whether it's from the user interface or things work or hate limits and things like that, is often there's a loud minority yelling on the internet.

Speaker 0

但实际上,大多数用户是默默接受的,根本不会发声。

And there's a silent majority that are actually fine with the change, but don't say anything.

Speaker 0

哪怕只是个小改动,也可能引发系统宕机。

And a small change might lead to an outage.

Speaker 0

结果你第一周才改了三行代码,就让整个 GitHub 崩了。

And then you're the one that made three lines of change in your first week and you brought GitHub down.

Speaker 0

这种经历,对新人来说确实挺打击信心的。

That's obviously not encouraging in your journey.

Speaker 0

所以这造就了一个虽然内部持续发布很多功能,但被称为‘员工专属发布’的组织,微软那边叫‘库存共享’。

So I think that created an organisation that actually still shipped a lot of things and what we call staff ship, what Microsoft called stock pooling.

Speaker 0

那些只在 GitHub 内部团队使用的功能,Hubbers 看到的时候,有个挺有意思的现象:直到今天,我们每天都在用 GitHub,但我常常不知道某个功能你能不能看到,因为我看到的全是 Hubber 版本的界面。

So features that landed within the GitHub organization that Hubbers would see when they use, you know, one funny thing is we have, even today, we're using GitHub every day, I often actually don't know if that feature is available to you because I only see GitHub how a Hubber would see it.

Speaker 0

其实有个办法可以关掉这些功能,不过,等等,我其实可以隐藏员工工具栏,这样就自动屏蔽了你看不到的功能。

And there's a way to disable all these features, but how Well, no, I can hide the staff bar and then disables the features that you don't see.

Speaker 0

但你真会经常去这么做吗?

But how often do you really do that?

Speaker 0

然后你还能记得住,Gurgenge 那边没有这个功能,但我这边有?

And do you then remember that in the conversation that Gurgenge doesn't have the feature, but I have it.

Speaker 0

我还以为这功能已经上线了,结果才发现它其实排在下周才发布。

And I thought it already shipped, but it is actually slated for next week.

Speaker 0

所以我觉得,这种做法形成了一种文化:功能内部早就发布了,但就是 never 能推到公网上,因为每个人都在担心:这东西够不够好,能发布吗?

So I think that created a culture where things were internally shipped, but but never made it, you know, to to public because everybody was worried, is that is that good enough to to ship it?

Speaker 0

你知道吗,那时候 CEO 的变动也正在进行中。

You know, CEO change was in flight.

Speaker 0

当时存在不少文化上的问题。

There were a number of cultural issues.

Speaker 0

等交易完成、我们接手后,很快就将私有仓库公开了。

And then as as we closed the deal and we came in, we made private repos public relatively fast.

Speaker 2

这个动作挺快的。

That was a fast one.

Speaker 2

对。

Yes,

Speaker 0

确实如此。

That's true.

Speaker 0

在2018年那个阶段,GitHub Actions的第一个版本发布了。

At that universe in 2018, the first version of GitHub Actions was announced.

Speaker 0

甚至是在交易正式完成之前。

Was even before the deal closed.

Speaker 0

当时开发这个功能的团队,希望他们别介意,其实这玩意儿是基于Google Cloud的容器临时搭出来的,有点像打补丁。

It was, you know, hopefully the folks building it, forgive me, it was a bit of a hack built on top of containers in Google Cloud.

Speaker 0

我们很快从数据中发现,这个产品其实没满足开发者的实际需求。

We quickly saw from the data that product wasn't actually meeting the requirements from developers.

Speaker 0

很多开发者想要完整的CI/CD,而GitHub Actions最初设计的其实是工作流自动化。

Many developers wanted full CICD, while GitHub actions, obviously, was designed was workflow automation.

Speaker 0

我们保留了工作流自动化的核心,但把它逐步演变成了今天的样子。

And we kept that workflow automation part, but evolved it into what it is now.

Speaker 0

2019年,也就是2019年年中,在柏林举办的最后一届卫星大会上,GitHub Actions正式发布了。

Over the course of 2019, twenty twenty sponsors was announced in mid twenty nineteen at the last ever satellite conference in Berlin.

Speaker 0

紧接着疫情来了,打乱了我们原本的计划。

And then COVID came in that wound to kind of like the plans that we had as we came back from it.

Speaker 0

考虑到当时还有很多旅行限制,我们非常谨慎地以较小规模重启了Universe大会。

You know, we were very careful with bringing back Universe in a smaller scale, given that there was still lots of travel restrictions.

Speaker 0

但要让整个团队重新恢复到既能快速创新、又能稳住基础——比如安全、可用性、可访问性这些你平时注意不到却至关重要的东西——花了我们不少时间。毕竟,系统运行顺畅时,没人会察觉它的存在,但背后其实投入了大量工作。

But it took us a while to get the organisation back into a state where we could both innovate really fast and keep the fundamentals in place, keep security, availability, you know, other things like accessibility, things that you might not actually see have changed because, you know, if everything is working, you don't notice it, but that, you know, created a lot of investment behind the scenes.

Speaker 0

所以我们现在对创新的节奏挺有信心的,不过说实话,让这艘大船掉头可真花了不少功夫。

So we we are feeling good about the pace of innovation that we have today, but yeah, it took us a while to turn the ship around.

关于 Bayt 播客

Bayt 提供中文+原文双语音频和字幕,帮助你打破语言障碍,轻松听懂全球优质播客。

继续浏览更多播客