blob: a7398ef70b38a7b9b72cf5cb5f053ea6747f4cac [file] [log] [blame] [view]
Nigel Tao187a4792023-09-28 22:30:441# What’s Up With Open Source
2
3This is a transcript of [What's Up With
4That](https://www.youtube.com/playlist?list=PL9ioqAuyl6ULIdZQys3fwRxi3G3ns39Hq)
5Episode 6, a 2023 video discussion between [Sharon ([email protected])
6and Elly
7([email protected])](https://www.youtube.com/watch?v=zOr64ee7FV4).
8
9The transcript was automatically generated by speech-to-text software. It may
10contain minor errors.
11
12---
13
14What does it mean for Chrome to be open source? What exactly is Chromium? Can
15anyone contribute to the browser? Answering all that is today's special guest,
16Elly. She worked all over Chrome and ChromeOS, and is passionate about
17accessibility, the open web, and free and open-source software.
18
19Notes:
20- https://docs.google.com/document/d/1a6sdrspJgAHDdQMMNGV0t7zo8QWgqq0hgsyV55tc_dk/edit
21
22Links:
23- [What's Up With BUILD.gn](https://www.youtube.com/watch?v=NcvJG3MqquQ)
24- [What's Up With //content](https://www.youtube.com/watch?v=SD3cjzZl25I)
25- [What are Blink Intents?](https://www.youtube.com/watch?v=9cvzZ5J_DTg)
26
27---
28
2900:00 SHARON: Hello, and welcome to "What's Up With That?" the series that
30demystifies all things Chrome. I'm your host, Sharon. And today, we're talking
31about open source. What does it mean to be open source? I've heard of Chrome,
32but what's Chromium? What are all the ways you can get involved? Answering
33those questions and more is today's special guest, Elly. Elly currently works
34on the Chrome content team, which is focused on making the web more fun and
35interesting to use. Previously, she's worked all over Chrome and Chrome OS.
36She's passionate about accessibility, the open web, and free and open-source
37software. Welcome, Elly.
38
3900:34 ELLY: Thank you, Sharon.
40
4100:34 SHARON: All right. First question I think is pretty obvious. What is open
42source? What does that mean?
43
4400:40 ELLY: Yeah, so open source is a pretty old idea. And it basically just
45means, in the purist sense, that the source code for a program is open to be
46read by others.
47
4800:51 SHARON: OK. And Chrome, the source code is available to be read by
49anyone. What else is it? Open source - I've heard of open-source community. It
50seems like there's a lot to it. So why don't you just tell us more about open
51source, generally?
52
5301:03 ELLY: Yeah, for sure. There's quite a bit of nuance here. And there's
54been differing historical interpretations of some of these terms, so I'll -
55there's two big camps that are important to talk about. One is open source,
56which means what I said - the source is available to be viewed. There's also
57the idea of free software, which is software that actually has license terms
58that allow for people to modify it, to make their own derivative versions of
59it, and that kind of thing. And so historically, there was a pretty big
60difference between those things. These days, the two concepts are often talked
61about pretty interchangeably because a lot of open-source projects are free
62software, and all free software projects basically are open source. But the
63distinction used to be very important and is still pretty important, I guess.
64Chromium is both open source and free software. So we ship under a license that
65allows for - not only for everyone to read and look at our code, but also for
66other folks to make their own versions of Chromium. So, yeah, Chromium, both
67open source and free software.
68
6901:56 SHARON: OK, very cool. And you mentioned Chromium in there. But I think
70for most people, when they think of the browser, they call it Chrome. So what
71is the difference between Chrome and Chromium? Are they the same thing? I think
72people, myself included, sometimes use those interchangeably, especially when
73you work on it. So what is the difference there?
74
7502:16 ELLY: Yeah, fantastic question. So Chromium is an open-source and free
76software web browser that is made by the Chromium Foundation, which is like an
77actual .org that exists somewhere on the internet. Chrome is a Google-branded
78web browser that is basically made by taking Chromium, which is an open-source
79and free software web browser, adding some kind of Google magic to it, like
80integrations with some Google services, some kind of media codecs that maybe
81aren't themselves free software, that kind of thing, bundling that up into a
82more polished product which we call Google Chrome, and then shipping that as a
83web browser. So Chromium is an open-source project. Google Chrome is a Google
84product that is built on top of Chromium.
85
8603:03 SHARON: OK. So Google Chrome is a Chromium-based browser, which is a term
87I think that people who work in any browser stuff - it's a term that they've
88all [INAUDIBLE] before.
89
9003:08 ELLY: Yeah, exactly. And in fact, you alluded to the fact that we
91sometimes use those terms interchangeably. And especially at Google, we
92sometimes get a little confused about what we're talking about sometimes
93because we're - the Google Chrome team are the biggest contributors to
94Chromium, the open-source project. And so we tend to sometimes talk about the
95two things as though they're the same. But there's a really important
96difference for folks who are working on other Chromium-derived browsers. So if
97you're working on a Chromium derivative that a Linux distribution ships, for
98example, your browser is based on Chromium, and it's really not Chrome. It's
99Chromium, right? It is the open-source browser that Chrome is based on. But
100it's not the same thing at all.
101
10203:52 SHARON: Yeah, if you want to learn a bit more about basing things on
103Chromium, the content episode is a good one to check out. We talk a bit about
104that and embedding Chrome in Chromium and what that means. So -
105
10604:03 ELLY: Yeah, absolutely.
107
10804:03 SHARON: check it out if you [INAUDIBLE]...
109
11004:03 ELLY: And there's also, in the Chromium source tree, there's actually a
111thing called Content Shell, which is a minimal demonstration browser. It's like
112the rendering engine from Chromium wrapped in the least amount of browser
113possible to make it work. And we use it for testing, but it's also a really
114good starting point if you're trying to learn how to build a Chromium
115derivative browser.
116
11704:22 SHARON: OK, very neat. So I think a next very natural question to come
118out of this is, why is Chrome or Chromium - Chromium rather - going to try to
119be good about using those correctly here - but why is Chromium open source?
120
12104:40 ELLY: Yeah, so this is the decision that we made right when we were
122starting the project actually. And it's based on this really fundamental idea
123that the web benefits when users have better browsers. So if we, like the
124Chromium project, come up with some super clever way of doing something, or we
125come up with some really ingenious optimization to our JavaScript Engine or
126something like that, it's better for the web, better for everyone, and
127ultimately even better for Google as a business if those improvements are
128actually adopted by other people and taken by other people and used by them. So
129it is better for us if other people make use of anything clever that we do. And
130separately from that, there's this idea that's really prevalent in open-source
131communities of, if people can read the code, they're more likely to find bugs
132in it. And that's something that Chromium constantly benefits from, is folks
133who are outside the project, just kind of looking through our code base,
134reading and understanding it, spotting maybe security flaws that are in there.
135That kind of research is so much easier to do when the source code is just
136there, and you're not trying to reverse-engineer something you can't see the
137source to. So we get a lot of benefit from being open-source like that. And
138those are the reasons we had originally, and those still all hold totally true
139today, I think.
140
14105:51 SHARON: That makes sense. Yeah, it seems, at first, a bit odd for a big
142company like Google to make something like this open source. But there are
143other massive open-source things at Google - Android, I think, being the other
144canonical example, which we don't know too much about, but we won't be getting
145too into that. But there are other big open-source projects around.
146
14706:08 ELLY: Yeah, absolutely. And there's also, like - there's Go. That's an
148open-source programming environment, like a language and a compiler and a bunch
149of tools around it that is open source built by Google. There are plenty of
150other open-source and free software projects built by large corporations, often
151for really the same reasons. We benefit because the entire web benefits from
152better technology.
153
15406:32 SHARON: Yeah, I think some of the Build stuff we do is open source. Check
155out the previous episode for that. And that's, yeah, exactly - not strictly
156only used by -
157
15806:37 ELLY: Yeah, and by the way, partly because we're open source - like, for
159example, the Chromium base library, which is part of our C++ software
160environment - our base library is regularly used in other projects, even things
161that are totally unrelated to browsers, because it provides a high-quality
162implementation of a lot of basic things that you need to do. And so that code
163is being used in so many places we would never have anticipated and has done
164honestly more good in the world than it would do if it was just part of a
165really excellent browser.
166
16707:13 SHARON: Something that someone on my first team told me was, if you've
168changed anything in base, that probably is going to get run any time the
169internet gets run, somewhere in that stack, which, if you think about it, is so
170crazy.
171
17207:26 ELLY: Oh, Yeah. Absolutely. Early in my career, I added a particular
173error message to part of the Chrome network stack. And that network stack, too,
174is one of those components that gets reused in a lot of places. And so
175occasionally, I'll be running some completely other program. Like, I'll be
176running a video game or something, and I'll see that error message that I added
177being emitted from this program. And I'm like, oh, my code is living on in a
178place I would never have really thought of.
179
18007:51 SHARON: Oh, that's very cool.
181
18207:51 ELLY: Yeah.
183
18407:51 SHARON: Yeah.
185
18607:51 ELLY: It's one of those unique open-source experiences in my book, of
187seeing your own work being used like that by other folks you wouldn't have
188anticipated.
189
19007:57 SHARON: Yeah, that's very cool. So something I think I've heard you say
191before that I thought sounded very cool was the open-source dream. So can you
192tell us a bit more about what that is. What is that vision? It sounds very
193nice.
194
19508:09 ELLY: Yeah, so I talked about this a little bit. And earlier, I cautioned
196against conflating open-source and free software. But it really is more of the
197free software dream than the open-source dream, in some sense. That dream is
198this idea that if we have software that is made available for free, under
199licenses that let people modify it and make derivative works and keep using it,
200that over time, everyone will get access to really high-quality and
201freely-available software. And we will have a situation where the software that
202people need is built by their communities, built by the people who are in those
203communities, instead of being something that they have to buy from a company
204that makes it. It'll be something they can instead produce for themselves. And
205over time, I think that this has really played out in that way. If you look at
206the state of operating systems today, for example, there are these really
207high-quality, freely-available open-source free software operating systems that
208are readily available and anyone can use, and they really do meet the needs for
209a lot of folks. And then, in fact, it kind of circles back to where Linux is a
210high-quality, free software open-source operating system that Google can then
211turn around and make really good use of to build something like Chromium OS,
212which is another free software open-source project that uses Linux as one of
213its major components. And then we get to produce a product that the Chromium OS
214engineering team would have had to spend a lot of time if we weren't able to
215make use of that existing Linux kernel work. So you get into this cycle of
216giving back and sharing and benefiting from the effects of other people
217sharing. That's the free software dream to me.
218
21909:57 SHARON: It does - yeah, that sounds great. And for sure - I try to use
220open-source options when I can. When I edit these videos, I use something
221open-source. It feels appropriate for what we're doing here. So, yeah, that
222sounds like it would be - it's a good system that everyone contributes to and
223everyone benefits from. And that's really nice.
224
22510:10 ELLY: Yeah, absolutely.
226
22710:16 SHARON: So going away from that towards the more less open-source part,
228so what kind of things in Chrome, the browser, are not open source? You
229mentioned a couple of things earlier. Can you tell us a bit more about some of
230those things?
231
23210:27 ELLY: Yeah, I'm going to caveat this by saying that I don't personally
233work on the stuff I'm about to talk about. And so my knowledge is more
234superficial. There's a couple things I'm pretty confident about. So one is, for
235example, there's a few video formats that Chrome can play that Chromium cannot
236play because Google has agreements with the companies that make those codecs
237that allow us to basically license and embed their thing and ship it as part of
238Chrome. But those agreements, we can't really extend them to everyone who might
239make a Chromium browser. And so it ends up in a situation where there is a
240closed-source component that's included in Chrome to make that possible. I'm
241struggling to think of another example right off the top of my head. I believe
242that there's also a couple things in Chrome that are integrating with Google
243APIs, where they're features that are Chrome-specific because they're
244Google-specific. And one of the things that is generally true between the two
245products is that Chrome will have more Google integrations and more Google
246magic and more Google smarts than Chromium will. And so I think some of those
247are actually closed-source components that come from Google that get embedded
248into Chrome. But because they're a closed-source, we wouldn't want to put them
249into Chromium.
250
25111:37 SHARON: Right. It seems like, yeah, I can sign into Chrome. I don't
252expect that I'd be able to sign in with my gmail.com into, say, Chromium. I'm
253not sure it's actually part of it, but that's a guess.
254
25511:49 ELLY: Yeah, so that does work, except that you need to - any Chromium
256distributor needs to go and talk to - basically, talk to the sign-in team to
257get an API key that allows their browser to sign in. There is a process for
258doing that. It doesn't actually require any closed-source code components. But
259there is still a thing where you have to talk to the accounts team and
260basically be like, hey, we're a legitimate web browser, and we want to allow
261users to sign in. Because we don't want a situation where bots or malware are
262doing fake user sign-ins from - pretending to be Chromium. That's bad.
263
26412:25 SHARON: Right. That makes sense. Yeah, and I think because of where
265Chrome and Chromium are positioned, I think there will be some interesting
266comparisons and differences between Chrome, Chromium, and other internal
267google3 projects. So that's kind of the term for things that are closed-source
268Google - the typical Maps, Search, all that stuff - and also comparing Chromium
269to other open-source projects. So we've talked a bit about the similarities and
270differences between Chrome and Google internal. Are there any other things you
271can think of that are either similar or different between Chrome the project
272and the people who work on it and how people do things internally at Google?
273
27413:11 ELLY: Yeah. So internally at Google, there's this very powerful, very
275custom-built whole technology stack around the projects. There is a continuous
276integration system. There's an editor. There's a source control system. There's
277all of this stuff. Within Google, all of that is custom. And it's all fitted to
278Google's needs. And a lot of it is just built from scratch, frankly. Whereas
279for Chromium, we're using essentially off-the-shelf open-source stuff to meet a
280lot of those needs. So, for example, for version control, we're just using Git,
281which is I think the most popular version control system in the world right
282now. It's definitely open source. And our build system, for example, which is
283like GN and Ninja put together, those are both free software open-source
284projects. Admittedly, both of them were, I think, started as part of Chromium
285because we had those needs. But they, themselves, are free software components
286that anyone else can also use to build a Chromium. And the reason why that's
287done that way - like, why doesn't - it's actually a really good question. Why
288doesn't Chrome, which is a Google project, use all of this amazing
289infrastructure for engineering that Google has? And the answer is, we want the
290Chromium project to be possible to work on for people who don't work at Google.
291And so we can't say, oh, hey, whenever you're going to make a change, you have
292to commit it into Google's internal source control system. That wouldn't work
293at all. So we're almost - because we want to be an open-source project, and
294because we want to have contributors from outside of Google, we end up almost
295pushed into using this pretty open free software stack, which I - to be honest,
296from my perspective, has a lot of other benefits. When we have new folks
297joining the team, we can actually offer them tools they're already pretty
298familiar with. They don't have the feeling that new Googlers sometimes get,
299where they're totally disoriented. Like, everything they know about programming
300doesn't apply anymore. We actually be like, hey, here's Git. You know how to
301use this. Here's Gerrit, which is another piece of open-source software that we
302use. They may not have used Gerrit before, but a lot of projects do. And so
303they might have run into it previously. So it has pluses and minuses,
304definitely. So that's a big difference. There's also a bit of what I would say
305is a cultural difference more than anything else because most Google projects
306that are not open source - so I'm not talking about things like Android or Go
307or something like that - but projects that are really just not open source,
308like Search, their ecosystem of discussion and culture and stuff is very much
309inside Google. Whereas for Chromium, we constantly are getting ideas and
310suggestions and code changes and stuff from outside of Google. And so we also
311tend to have perspectives from outside of Google in our discussions more often
312as we work on Chromium. So part of that is at the level of, if we're going to
313make a change, we would have maybe input coming in on that change from Mozilla
314even. They're a group we collaborate with a ton on web standards. And so we
315would have their perspective in the discussion. Whereas if we were working
316entirely within Google, we might not have those external perspectives. So
317culture-wise, I feel like Chromium has more perspectives in the room sometimes
318when we're thinking about stuff.
319
32016:26 SHARON: That makes sense because browsers exist across other companies
321too, and there's a lot of compatibility and standards and stuff. So just in
322that nature of things, you have to have a lot more of this collaboration. If
323you make a change, it'll affect all of the embedders maybe, and then you have
324to think about this. And, yeah, there's a lot more discussion - [INTERPOSING
325VOICES]
326
32716:42 ELLY: Yeah, absolutely.
328
32916:42 SHARON: If you're Search, you're like, OK, we're going to, I don't know,
330do our thing.
331
33216:47 ELLY: Yeah, you have more - I don't know if "autonomy" is the right word.
333But, yeah. I want to caveat this by saying I'm not on Search. And so maybe it's
334totally different. But that's how it looks to me as a person who works on
335Chrome.
336
33716:59 SHARON: Yeah. Yeah. And I think in terms of actual development and making
338code changes and stuff, I think probably the biggest difference is that because
339anyone can download the source repository and make changes and all that, the
340actual programming and changes you do, you do those on a computer. Maybe that's
341a machine you SSH into or a cloud top or whatever. But you have to actually
342download all of the code. Whereas with all of the google3 stuff, everything
343happens in a cloud somewhere. So everything is all connected, and you just do
344things through the browser pretty much.
345
34617:29 ELLY: That's very true. Actually, there's another important facet that
347just occurred to me, which is, because Chromium is open source - and in
348particular, some open-source projects will use this model where they send out a
349release every so often. So they'll be like, we're shipping a new major release
350of our program, and here's the source that corresponds to that. So there are
351companies that do that. But we actually do what's called developing in the
352open. So our main Git repository that stores our source is public. Which means
353that as soon as you put in a commit, or even if you just put it up for code
354review, that's public. Everyone on the internet can see what we're doing live,
355which is really pretty interesting in terms of its effects on you. So for
356example, if you're in - you're working inside google3, and you're like, I have
357this really cool, wild idea, I'm going to go and make an experimental branch
358and just make a prototype of it and see what happens, you can just go do that.
359It's not a problem. But if you're working in Chromium, and you go and make your
360wild prototype experimental branch, you have a pretty good chance that
361someone's going to notice that. And then maybe you get a news story that's
362like, hey, Chromium might be adding this amazing feature. And you're like, oh,
363no, that was my wild, experimental idea. I didn't intend for this to happen.
364But now people have really picked up on it, and people outside of the company
365that you've never met are starting to get excited about something that you
366never really intended to build and just wanted to try. So it's a different way
367of working. You're sort of always in the public eye a little bit. And you want
368to be a little bit more considerate about how something might look to people
369way outside of your team and outside of your context. Whereas teams that are
370inside google3 I don't think have to think about that as much.
371
37219:07 SHARON: Yeah, I mean, for me, I've only really worked in Chromium full
373time and all that. And I've just gotten used to the fact that all of my code
374changes are fully public and anyone can look at them. Whereas I think people
375who work in anything that's not like that - people in the company you work, I
376can see it. But not just anyone out there. So I don't know. I've gotten used to
377it, but I think it's not a typical thing to [INAUDIBLE].
378
37919:30 ELLY: Oh, yeah. Absolutely. And in fact, this is something that folks who
380are transferring into Chrome from other parts of Google sometimes have a little
381difficulty with, is if you're used to writing a commit message where maybe the
382only description in the commit message is go/doc about my project, for Chromium
383that doesn't fly because only Googlers can actually follow those links. And so
384the commit message to a non-Googler doesn't say anything. And so you actually
385have to start thinking, how am I going to explain this whole thing I'm doing to
386a non - to a person who doesn't have any of this Google-specific context about
387what it is. You go through this little mental - you cross this little mental
388bridge where you actually are forced to reframe your own work away from, what
389are Google's business goals, and towards, how does this fit Chromium, the
390open-source project, that other people also use? It's interesting and
391occasionally a little frustrating, but interesting and usually really
392beneficial.
393
39420:26 SHARON: Yeah, for sure. And I think from people I've talked to, it just
395seems like another, briefly, difference between internal Google stuff and
396Chromium is that internal Google just has a ton of tools you can use.
397
39820:37 ELLY: Yes, absolutely.
399
40020:37 SHARON: Which both means a lot of things that are maybe a bit challenging
401in Chromium are probably easier, but also maybe finding the right tool is hard.
402But -
403
40420:42 ELLY: Oh, yeah. That is very much the case. I have only limited
405experience working inside google3. But I definitely have experienced the
406profusion of tools and also the fact that the tools are just honestly amazing.
407And it makes total sense. Google has many, many engineers whose whole job is to
408build great tools. And Chromium is just not that big of a project. We just
409don't have that many folks that are working on it. The folks who do build
410infrastructure work for Chromium do amazing work, but there's not hundreds of
411them. And so it's not on the same level.
412
41321:12 SHARON: Yeah. And what you said earlier makes me have - gives me - has -
414makes me wonder - and this ties us into the next thing - of other open-source
415projects, they just do a release, and they don't maybe do development in the
416open. And having not actually worked on other open-source projects really, I
417kind of assumed that this development in the open was the norm. So how common
418do you think or you know that that practice is?
419
42021:45 ELLY: Gosh, I would really be guessing, to be honest with you. But I
421would say the development in the open is by far the norm these days. And when
422you see projects that follow the big release model instead, the way that looks
423is they'll be like, hey, version 15 is out, and here's the source for
424version 15. You can look at it. But the development, as it happens, happens
425internally. I would tend to associate that with being maybe big company
426projects that have a lot of confidentiality concerns. So for example, if you're
427building the software that goes with some cool, new hardware for your company,
428you don't want to start checking that software into Git publicly because then
429people are going to read it and be like, ooh, this has support for a
430billion-megapixel camera. That must be coming in the new thing. And so I think
431that the big release model might be, these days, more prevalent when people are
432doing hardware integrations, where there's other components that are shipping
433at a fixed time and you don't want your source to be open until that point. But
434honestly, the developing in the open model is, I think, much more common these
435days. Historically, back in the '70s and '80s, when you would buy an operating
436system and it would come with source, that was just a thing that you got as
437part of the package, then it was much more of the source is released with the
438OS model. Whereas these days, because distributed development is so easy with
439modern version control systems, it's just so common to just develop in the open
440like we do.
441
44223:11 SHARON: Oh, cool. I didn't know that. So compared to other open-source
443projects, what are some similarities and differences that Chromium has to
444others that you may be familiar with?
445
44623:25 ELLY: Ooh. All the ones I'm familiar with are quite a bit smaller than
447Chromium. And so it's going to be hard to talk about it because, frankly -
448
44923:32 SHARON: That's probably the common difference, though, right? Probably
450very few are as big as Chromium.
451
45223:32 ELLY: Oh, yeah. So in particular, one of the hardest problems in open
453source - in running an open-source project is managing how humans relate to
454other humans. The code problems are often relatively easy. The problems of how
455do we make decisions about the direction of a project that maybe has a hundred
456contributors who speak 10 different languages across a dozen time zones, that's
457a hard problem. And so I often talk about the idea between open source, open
458development, and then open governance. And so open source is just, like, you
459can see the source. Open development is you can see the development process. So
460the Git repo is open. The bug tracker is open. The mailing lists, where we do a
461lot of our discussion, are open. So we do open development. But then you have
462this next step of open governance, where the big decisions about where the
463project is going are made in the open. And for Chromium, some of those are made
464in the open, especially when it's really about the web platform or that kind of
465thing. But some of them are not. For example, if we're deciding that we're
466going to do some cool new UI design, that design and the initial development of
467it might not necessarily be - or sorry, the development would be done in the
468open, but the designing of it might not. That might be a discussion between a
469few UX designers who all work at Google in a Google internal place. And so
470Chromium has a bit of open governance but not all the way. A lot of smaller
471projects have super open governance. So they'll literally be like, hey, should
472we rewrite this entire thing in Rust? And they'll make that decision by arguing
473about it on a mailing list, where everyone can see. And that's totally, totally
474fine. Because Chromium is so big, we can't make those kinds of decisions by
475having every Chromium engineer have their opinion and just post. It would be
476complete chaos. And because we're big and prominent, a lot of the work that we
477do is very much in the public eye. And so even discussions that are maybe
478relatively speculative - like that example I gave before, where you have an
479idea and you're like, wouldn't it be neat if we did this? It's easy for that to
480turn into people inferring what Google's intentions are with Title Case, like,
481Big Important Thing, and turning that into a lot when you would not have
482intended it to be that way. And so we do end up keeping our governance
483relatively on the closed side compared to other open-source projects I've
484worked on. Other than that, in terms of engineering practices and what we do to
485get the code written, we uphold a super high standard of quality. And in
486particular - which is not to say that most open-source projects don't, because
487they totally do. But Chromium, in my opinion, is really, really thoughtful
488about not just, hey, how should code review work, but really evolving stuff
489like, how should we bring new developers into this project? What should that
490feel like? Those are discussions that we have. And I often feel like those are
491discussions that other open-source projects don't talk about as much. What else
492is different for us? I'm not sure. I think that those are some of the big ones.
493The differences in scale are such that it's almost hard to talk about. The
494difference between an open-source project that maybe has 5 contributors and one
495that has 500 is very, very large.
496
49727:07 SHARON: With the open governance thing you mentioned, something that that
498made me think of is maybe Blink Intents, where you submit a thing to a list and
499then that gets discussed. So that's part of the Chromium project, I think,
500right? That falls under that category.
501
50227:20 ELLY: Yep. Yep.
503
50427:20 SHARON: And so that's where, if you want to make a change to Blink, the
505rendering engine, you do this process of posting it to a list, and then people
506weigh in.
507
50827:25 ELLY: Yeah, absolutely. So Blink really does do open governance in a way
509that I, honestly, very much admire. Blink and the W3C and a lot of these groups
510that are setting standards for the internet do do open governance. Because,
511frankly, it's the only way for them to work. It would not be good or healthy
512for the web if it was just like, we're going to do whatever - whatever we,
513Google, have decided to do and good luck everyone else. That would be very bad.
514So yeah, Blink definitely does do open governance. But when it gets to things
515that are more part of the browsers' behavior and features, we tend to have the
516governance a little more closed.
517
51828:08 SHARON: Right. And I think an example of Blink being more open governance
519is the fact that BlinkOn is open to anyone to participate to. And that's the
520channel that we're posting this on right now. It just happened to make sense
521that I figured most of the audience who is watching Blink [INAUDIBLE] already
522are interested in these, too. So that's why - [INTERPOSING VOICES]
523
52428:27 ELLY: Yeah, absolutely.
525
52628:27 SHARON: And for people who may not have - may have found these videos
527that don't know about BlinkOn. That's what that is.
528
52928:34 ELLY: Yeah. And just in that vein of open governance for Blink,
530especially, there's also this idea of being a standard and then having things
531be compatible with it. So the web platform is a collection of standards. And
532other browsers have to implement those standards, too. And so for example, if
533we make up a standard that is very difficult or impossible for, like, Firefox
534to implement, that's not good. That's fragmenting the web platform. That's a
535bad thing. Whereas the Chromium UI, like how the omnibox works in Chromium, for
536example, isn't a standard. It doesn't matter whether Firefox or Edge or Opera
537or whoever have the same omnibox behavior as us, right? And so there's much
538less of a need to all agree. And instead, it's almost a little bit better to
539have some variety there so that users can get a little bit more of a choice and
540that collectively more things get tried in that vein. So there's places where
541agreement and standardization are really important. And then there's places
542where it's actually OK for each individual browser to go off on its own a bit
543and be like, hey, we thought of this cool, new way to do bookmarks. And so we
544have built this. And it doesn't matter whether the other browsers agree about
545it because bookmarks are not a thing that interoperates between browsers.
546
54729:44 SHARON: Yeah, that makes sense. So now let's talk about some of the
548actual details of what it's like to work on Chromium and make changes, write
549code, and new ideas. So I think you mentioned a few things, like bug tracking.
550That's all public, in the open, apart from, of course, security-sensitive
551things and other [INAUDIBLE] are hidden. What else is there? Code review - that
552was Gerrit. You mentioned that. So You can see all the comments that everyone
553leaves on everyone's changes.
554
55530:16 ELLY: Oh, Yeah. And for better or for worse, by the way. It's good to
556bear in mind that if you're like - you're going to type like a slightly jerk
557message to someone on a code review, that's going to be preserved for all time,
558and everyone's going to be able to see it.
559
56030:29 SHARON: Yeah. Yeah. Be nice to people. [CHUCKLES] Version control -
561that's Git. Probably people will know about that. Something that might be worth
562mentioning is that a lot of people who contribute to Chromium, and if you look
563at things like Gerrit and Chromium Code Search - that's also public, of
564course - looks a lot like Google internal code search, but obviously it's open
565source. So a lot of people have @chromium.org emails.
566
56731:00 ELLY: Yes.
568
56931:00 SHARON: So why are there separate emails? Because you can use at a
570google.com or a GMail or any email. So why have this @chromium.org email thing?
571
57231:05 ELLY: Yeah, so there's a few different reasons for that. So chromium.org
573emails are available to members of the project, which is a little bit
574nebulously defined, but it's definitely not just Googlers. And so there's a
575couple reasons why people like having those. So for some folks, it's sort of a
576signal that you are acting as a member of the open-source project rather than
577acting with your Google hat on, if you like. And so for example, I help run the
578community moderation team for Chromium. And so when I'm doing work for that
579team, I'm very careful to use my chromium.org account because I want it to be
580clear that I'm enforcing the Chromium community guidelines, which are something
581that was agreed upon by a whole bunch of Chromium members, not just Googlers.
582And so I'm not enforcing Google's code of conduct. I'm enforcing Chromium's
583code of conduct in my role as a Chromium project person. So sometimes you
584deliberately put on your Chromium hat so that you can make it clear that you
585are acting on behalf of their project. Some folks - and I'm also one of these
586folks, by the way - just happen to really be big fans and supporters of free
587software and of open source. And so if I have the choice between wearing my
588corporate identity and wearing my open-source project member identity, I might
589just wear my open-source project member identity and decide to actually
590contribute that way. And so a lot of the folks who've been on Chromium - or
591have been on Chrome, I should say, for a while, that's part of their reasoning.
592They joined because they were excited to work on something that was open. And
593so they have this open-source identity, this Chromium identity, that they use
594for that. There's a third factor, and this touches on one of the sometimes less
595pleasant parts of working in open source, which is our commit log and our bug
596tracker and all of that stuff are public. And what that means is that everyone
597on the internet can go see them. And that is often great, but it's occasionally
598not great. So for example, if you go and make an unpopular UI change, people on
599the internet know that that was you. And that might not be something that
600you're necessarily super ready to deal with. So for example, way, way, way, way
601early in my career, I made a change to Chromium OS because I was working - I
602was on the Chrome OS team as a brand Noogler. So this is I've been at Google
603maybe five or six months. I made a change to Chrome OS. Somebody happened to
604notice it and take issue with it. I don't even remember what the change was or
605the issue. But they happened to notice it and take issue with it. They showed
606up in our IRC channel, because we used IRC at the time, which was also public
607because the whole project was very open like that, and really just started
608yelling at me personally about it. And I'm like, this is not a cool experience.
609This is something that if this was a Google coworker of mine, I would be
610talking to HR about this. But it's actually just a random person on the
611internet. And so there are some folks who use their Chromium username as a
612little bit of a layer of insulation almost, where it's like, I want to work on
613this project, but I don't - maybe my Google username has my full name in it. I
614don't necessarily want every change I make to be done like that. And so if you
615don't do that, you can end up in a situation where you make a change, and then
616it's really attributed to you as though it was your personal idea and you did
617this bad thing. And that's not a risk that everyone wants to take as part of
618doing their work. And so sometimes people have a chromium.org account really
619because they want an identity that's separate from their Google account - that
620has a different name on it, that has different stuff like that. And so one of
621the things that I'm always cautious to remind folks of on my team is, if you're
622working with someone who has a chromium.org account, always use that
623chromium.org account when you're speaking in public, always, always, always,
624because you don't want to break that veil if someone is relying on it.
625
62635:09 SHARON: Right. Yeah, that makes sense. And I think, in general, whenever
627you are signing up for interacting in these public spaces, generally, I think
628it's encouraged to use your chromium.org account. So for example, Slack, which
629is the modern - current IRC often -
630
63135:27 ELLY: It hurts my soul to hear you say that.
632
63335:32 SHARON: Well - [LAUGHS]
634
63535:32 ELLY: I'm a die-hard IRC user. I've been using IRC for 30 years. And I
636was one of the few people who was I think very sad when we decided to move off
637IRC. But you're right, that it is the modern IRC option.
638
63935:44 SHARON: I think a lot of people are very die hard about IRC. So, you
640know, but modern or not, that's what's currently being used.
641
64235:49 ELLY: Absolutely.
643
64435:55 SHARON: So Slack is where anyone can join and discuss Chromium stuff. And
645generally, that kind of thing, you're encouraged to use your chromium.org
646account.
647
64836:01 ELLY: Yeah, absolutely. And to be fair to Slack also, the Slack has
649probably 30 times as many people in it as the IRC channel ever did. So I think
650that it's pretty clear that Slack is more popular than IRC was. But, yeah, no,
651we use our Chromium identities a lot, really, really on purpose. And to be
652honest, I would like it if we use them even more. Sometimes you will see folks
653who actually have both identities signed up. So they'll have their google.com
654and their Chromium, and that's always confusing for everyone. So if it was up
655to me, I would say everyone has a Chromium identity, and they'd just all use it
656when they're contributing.
657
65836:39 SHARON: Yeah, that's definitely one of these unique two Chromium
659[INAUDIBLE] pain points of someone [INAUDIBLE] use their maybe - often, they're
660the same for most people. But sometimes they're different. Sometimes they're
661very subtly different, and it's -
662
66336:53 ELLY: Absolutely.
664
66536:53 SHARON: you end up sending your [INAUDIBLE]...
666
66736:53 ELLY: I also - I have met a couple folks who the Google username they
668really wanted wasn't available, but it was available for chromium.org. And so
669they picked a shorter, cooler username for chromium.org, which is totally -
670totally fine to do. But then, every time you have to remember, oh, I know them
671by this longer Google username, but actually they use this shorter username for
672Chromium.
673
67437:13 SHARON: Yeah, you have to remember their real life name. You have to
675remember their work email. And then now you have to remember another work
676email.
677
67837:19 ELLY: Well, we have software that can help with that a bit.
679
68037:25 SHARON: Yeah, for sure. So as part of that, and that's, in a way - a
681thing that to me feels very related is there's a thing called being a committer
682in Chromium. So what does it mean to be a committer? And what does it entail?
683
68437:37 ELLY: Yeah, so committers are basically people who are trusted to commit
685to CLs, for want of a better way of putting it. So the way the project is
686structured, anyone can upload a CL. And anyone anywhere on the internet can
687upload a CL. It has to be reviewed by the OWNERS of the directories that it
688touches or whatever. But there are some files that are actually, like, OWNERS
689equals star. So for example, the build file in Chrome browser, because
690everybody needs to edit it all the time, it just has OWNERS equal star. And
691there's a comment that's like, hey, if you're making a huge change, ask one of
692these people. But otherwise, you're just freely allowed to edit it. And so if
693the committer system didn't exist, anyone on the internet would be allowed to
694edit a bunch of parts of the project without any review, which is pretty bad.
695And so there's this extra little speed bump where it's like, you have to send
696in a few CLs to show that you're really a legit person who's contributing to
697the project. And once you've done that, you get this committer status, which
698actually allows you to push the button that makes Gerrit commit your change
699into the tree. And that's what it does mechanically. We culturally tend to have
700it mean something a little different than that, but it's - culturally, it's
701like a sign of trust of the other project members in you. So getting that
702committer status really means, we collectively trust you to not totally screw
703things up. That's what it is. And so you have to be a committer to actually be
704in an OWNERS file, for example. You can't be listed as an owner until you're a
705committer. Because if you're not a committer yet, we're not really - if we're
706not trusting you to commit code, we're not really going to trust you to review
707other people's code. And, yeah, when you're new joining the project, it's
708actually a pretty big milestone to become a committer. You become a committer
709after you've been working for anywhere from three to six months, I would say.
710And it's definitely this moment of being like, yeah, I've really arrived. I'm
711no longer new on the project. I'm now a full committer.
712
71339:51 SHARON: Can you briefly tell us what the steps, mechanically, to becoming
714a committer are?
715
71639:51 ELLY: Yeah, so you need to have landed enough CLs to convince people you
717know what you're doing. And there is no hard and fast limit, but it's like - it
718should be convincing. And so I often hear maybe 15 to 20 of nontrivial CLs is a
719pretty good number. Having done that, you need someone to propose you or
720nominate you for committership. So there's actually - there's a mailing list
721for having these discussions. And so whoever's going to nominate you, who has
722to already be a committer, they'll send mail to that list, basically being
723like, I would like to nominate this person for committer. There's a comment
724period during which people can reply. And then if there's nobody who is raising
725a big objection to you being a committer, after - I don't know what the actual
726time period is - but after some amount of time, the motion carries with no
727objections, and then your Chromium account becomes a committer. I think Google
728accounts can also be committers as well, but I've only ever done this process
729for Chromium accounts. And so those threads - what's going on in those threads
730is mostly people endorsing the request. So let's say that I have someone who's
731new on my team who I want to propose as a committer. I'll start the thread
732nominating them as a committer, and then I'll go and talk to maybe two or three
733of the people who have reviewed a lot of their changes, and I'll be like, hey,
734would you endorse this person for a committer? If so, please post in this
735thread. And so in the thread, there will actually be a couple of replies that
736are like, plus 1, or, yes, this seems like a good fit. Very rarely, there might
737be a reply, which is like, hey, I saw some - I saw some stuff on this CL that
738shows that maybe this person isn't quite ready. We had a whole bunch of back
739and forth comments, and eventually it really didn't seem like they understood
740what I was asking for. And I feel like they're not really ready yet. Sometimes
741that will happen. But usually the threads - by the time someone's nominating
742you, you're already in good shape. So that's the mechanical process. And then
743there is - it might actually just be Eric, individually, who goes through and
744flips the bits on people being committers based on the threads. I'm not sure.
745But there's some process by which those threads turn into people being
746committers.
747
74842:14 SHARON: OK, cool. Is there an analog of this either internally at Google
749or in other open-source projects? Because internally at Google, there's the
750concept of readability, which means you are vouched for that you know how to
751code in this one language, which has some similarities. That's maybe a similar
752thing. Are there any similar notions in other projects you've seen?
753
75442:38 ELLY: Yeah, so many projects have this notion of being a member. And that
755often combines our notions of committer and sometimes code owner. And so they
756might - or for some open-source projects, you'll actually hear "maintainer" as
757the thing. And so they'll be like, only people who are project members can
758upload changes in the first place. And only people who are maintainers can
759merge those changes. So that little speedbump on entry is pretty common.
760Because it's a fact of life that if you are on the public internet and you have
761no barriers to entry, you're going to have spam in your community no matter
762what you do. And so that kind of split is super, super common. For some
763projects that don't do open development, the entire thing might happen inside a
764company or inside an organization anyway. And then there is no notion of
765committer status because you're just hired onto that team and then you can
766commit. But for projects that do open development and free software projects,
767there is often a sense of, these are the people who are roughly trusted to land
768code. And for a lot of projects, especially bigger ones, there's actually a
769two-tiered model, where maybe you have people who are domain experts on a
770specific thing, like, they maintain some subsystem. And they're trusted to make
771whatever changes they need or approve other people's changes in that area. But
772then at the wider scale, there's what's often called a steering committee or a
773core group or something. And those groups have authority over the whole project
774and the direction of everything that's going on. And so you'll often see that
775kind of model in larger projects. At smaller scales, it's often literally a
776list of one to five people who all have commit access to the same Git repo, and
777there's no - no structure on top of that. But for bigger projects, governance
778becomes a real concern. And so people start thinking about that.
779
78044:35 SHARON: All right. Now, let's switch topics to talking about the more
781day-to-day logistics of working on Chromium. So if you're not a Googler, don't
782work at Google, to what extent can you effectively contribute to Chromium, the
783project?
784
78544:48 ELLY: Yeah, so that depends where you're coming from, both whether you're
786part of another large organization, like maybe you work at Microsoft, you work
787at Opera, Vivaldi, one of those companies, or if you're really an IC lone
788contributor. If you're in a large organization, probably your org will have its
789own structure around how you should contribute anyway. And so you might just
790want to talk about that. So I'll really focus on the individual contributor
791angle. And so for engineers specifically, like if you're a programmer who wants
792to contribute to the code base, that's awesome. The best approach I think is
793really to find an area that you're passionate about because it's so much more
794fun and enjoyable to contribute when you're doing something you care about. So
795find an area you care about. Get in touch with the team that works on that
796area, either through their mailing lists or find their component in Monorail or
797find them in the OWNERS files or whatever. Get in touch with those folks. Ask
798them what are good places for you to contribute as a new person. That's often a
799really great way to get started. And you'll have a person you can go to for
800advice to be like, hey, how do I go about doing this thing? My experience has
801been that Chromium contributors are pretty much all super helpful. And so
802they're very willing to just give you guidance or do whatever. And you'll then
803know who to send your code reviews to.
804
80546:01 SHARON: Cool. Yeah. And if you're not an engineer, what are some ways you
806can also contribute?
807
80846:06 ELLY: Yeah, so there's a whole bunch of these. And by the way, these all
809apply to basically every open-source project, so not just Chromium
810specifically. So open-source projects, if you are a good writer, if you enjoy
811doing technical writing or you enjoy doing UX writing or you want to do that
812kind of thing, almost every open-source project out there is looking for people
813to contribute documentation. And Chromium is no exception at all to that. So
814high-quality documentation, we love that stuff. Or even if you're just honing
815that craft and you want to practice, Chromium is not a bad spot to do that. If
816you're a UX designer or a visual designer, a lot of open-source projects will
817actually appreciate your contributions of you bringing in, like, hey, I thought
818of a way that this user experience could feel or how the screen could look or
819something like that. They'll often appreciate that kind of input or design
820work. If you are someone who speaks multiple languages, translations are
821another great way to contribute to open-source projects. A lot of open-source
822projects don't have access to the same kind of - Chromium has access to a
823translation team within Google who do a lot of our translations. A lot of
824open-source projects don't have that. And so contributing translations of
825documentation, of user-facing interface, stuff like that, can be super
826valuable. And the last thing I'll say, which can be done by really anyone - you
827don't even need special skills for this one - is try early releases of stuff.
828So try development branches. If you're a Chrome user, try running Beta or Dev
829or Canary. And then when something doesn't feel right or when it's - when it
830doesn't work for you or it crashes or whatever, file bugs. And try to get
831practiced at filing good bugs, with details and info and steps to reproduce the
832bug and stuff like that. That's such a huge help as a developer of any
833open-source projects - to get that early-user feedback and be able to correct
834problems before they make it to the stable channel. And on Chromium, I've run
835into a few folks who just - their main contribution to the project is really
836just that they file great bugs all the time. There's a few folks who all they
837really do is they run Canary on Mac, and they notice when something doesn't
838feel quite right. And so they file stuff that's like, maybe the engineering
839team wouldn't necessarily have noticed it. But when someone calls it out, we're
840like, oh, that actually does feel kind of janky, and now we can go fix that.
841And getting that feedback early is so, so valuable. So there's a lot of
842different ways. Those are some, but there's plenty more, too.
843
84448:21 SHARON: OK. Cool. Yeah, and a few things on that. If you want to really
845try out random things, you can go to chrome://flags, play around there, see
846what happens. In terms of going back a bit for being an engineer, there's other
847web-adjacent stuff that you can do that we won't get into too much now. But
848that can be things like adding web platform test, web standard stuff. And for
849people who are into security, we have a VRP, Vulnerability Rewards Program. But
850if you know about that, probably you're into the whole security space. This is
851not how you're going to - maybe this is how you heard about it, and you want to
852get into it. But, anyway -
853
85448:59 ELLY: Yeah. I will say, if you're a security researcher and you aren't
855familiar with the Chromium VRP, you should go take a look because it's -
856Chromium is a really interesting project to audit for security. And the VRP can
857make it very worth your while to do so if you find good bugs.
858
85949:12 SHARON: Mm-hmm. Yeah. And going back a bit earlier to being an engineer,
860like an IC, who is not at Google or any of these other big companies, there are
861other barriers to entry to being a contributor, right?
862
86349:28 ELLY: Oh, yeah.
864
86549:28 SHARON: So I definitely encountered this after my internship. I worked on
866Chrome. I was like, hey, I know what's going on now at the end of it. A couple
867things we didn't finish. I'll go home, and I will keep working on this - good
868intentions. And I got home, got my laptop, which was a pretty good laptop, but
869still a laptop. I downloaded Chrome. That took a very long time. I built it for
870the first time, which always takes a bit longer. But that took so long. And
871even the incremental builds just took so long that I was like, OK, this is not
872happening. I'm in school right now. I've got other things to worry about. So
873how feasible is it for a typical person, let's say, to actually make changes in
874Chromium?
875
87650:05 ELLY: Yeah, that is unfortunately probably the biggest barrier to entry
877for individuals who want to make technical contributions. Obviously, it doesn't
878affect you if you're contributing documentation translations, whatever. But if
879you're trying to modify the code, yeah, the initial build is going to be very
880slow, and then the incremental builds are going to be very slow. And a lot of
881the ancillary tasks are slow too, like running the test suite or running stuff
882in a debugger. The project is just very big. And that's something that I think
883a lot of folks on the Chromium team wish we could reduce. But Chromium is big
884because the web is big and because what people want it to do is big. And so
885it's not just big for no reason. But it does make it harder to get started as a
886contributor. I've had this experience, too. I have a modern laptop sitting on
887the desk over there. And it takes seven to eight hours to do a clean Chromium
888build on that. Whereas on my work workstation, which has access to Goma,
889Google's compile farm, it takes a few minutes. And the large organizations that
890contribute also all have compile farms for the same reason. It's just so slow
891to work when you're only doing local building and don't have access to a ton of
892compilation power.
893
89451:12 SHARON: Mm-hmm. Yeah. I wonder if we could, I don't know, do a thing for
895people who are individuals who contribute more. Probably that would be really
896hard to do. Probably people have thought about it. But, yeah.
897
89851:24 ELLY: It would be nice if we could. I don't know what the challenges
899would be offhand, but it would be very cool if we could somehow make that
900available.
901
90251:30 SHARON: All right. That all sounds very cool. I know I learned a lot.
903Hopefully some of you learned a lot, too. I think if you are working within
904Google, it's really easy to not really interact with any of this more
905open-source stuff, depending on which part you work on. Maybe you work on a
906part that's very Google Chrome specific. I know before I was working on
907Fuchsia, so that was before Launch. So that was not really something we were
908open to the public about anyway. And a lot of even the typical Chrome tools I
909was unfamiliar with. So I think depending on which part you work on, this
910stuff - it's all there, but you might not have had a chance to interact with.
911So thank you, Elly, for telling us about it and giving us some context about
912free and open-source software in general.
913
91452:08 ELLY: Yeah, of course.
915
91652:08 SHARON: Is there anything you would like to give a shout out? Normally,
917we shout out a specific Slack channel. I think in this case, the Slack in
918general is the shout out. Anything else?
919
92052:20 ELLY: The Slack, in general, definitely deserves it. Honestly, I'm going
921to go a little bit larger scale here. I'm going to shout out all of the folks
922who have contributed to Chromium, both at Google and elsewhere. It is the work
923of many hands. And it would not be what it is without the contributions from
924the folks at Google, the folks at Microsoft, folks at Yandex, folks at Naver.
925All of these different browsers and projects and all of the different
926individuals that have contributed, like everyone in the AUTHORS file - so shout
927out to all of those folks. And also, I really want to shout out the open-source
928projects not even part of Chromium that we use and rely on every day. So for
929example, we use LLVM, which is a separate open-source project for our
930compilation toolchain. And I think I would not be exaggerating to say that
931Chromium couldn't exist in its current form without the efforts of a bunch of
932other open-source projects that we're making use of. And so I'm really hopeful
933and optimistic that Chromium can live up to that. We're standing on the
934shoulders of a lot of other open-source projects to build the thing that we've
935built. And I'm hopeful that, in turn, other projects are going to stand on our
936shoulders to build yet cooler stuff and yet - yet better programs and build a
937yet better open-source community. So shout out to all of the authors of all the
938open-source software that Chromium uses, which is a lot of people. But they
939deserve it.
940
94153:37 SHARON: Yeah, for sure. It's very cool how it's very - all very related.
942And even within Chrome, I think people stick around longer than typical other
943projects. And it's cool to see people around, like a decent number of them,
944from before Chrome launched. And that's probably [INAUDIBLE] to a generally
945more positive engineering culture. So that's very good.
946
94753:58 ELLY: I think so. But I'm biased, of course.
948
94953:58 SHARON: Yeah, maybe. [LAUGHS] Cool. You mentioned mailing lists a bunch.
950Any favorites that you have?
951
95254:08 ELLY: Oh, yeah. chromium-dev is the mailing list of my heart, I would
953say. It's the main open-source development mailing list for us. It's a great
954place for all of your newbie questions. If you're just like, how the heck do I
955even check out the source, that's a good place to ask. The topic-specific
956mailing lists, especially net-dev and security-dev, are really good if you have
957questions in those specific areas. But honestly, all of the mailing lists on
958chromium.org are good. I haven't yet encountered one where I'm like, that
959mailing list is bad. So check them all out.
960
96154:33 SHARON: Cool. All right. Check out every single mailing list. Sounds
962good.
963
96454:38 ELLY: Yeah, every mailing list, every Slack channel.
965
96654:38 SHARON: All right. Great.
967
96854:38 ELLY: You're all good.
969
97054:38 SHARON: Every Slack channel, I think - yeah, I'll add myself to the rest
971of them. All right. Well, thank you very much, Elly.
972
97354:45 ELLY: Of course.
974
97554:45 SHARON: Thank you for chatting with us. And see you all next time.
976
97754:51 ELLY: All right. Thank you, Sharon. Easter egg - in the second part of
978this video, Elly is drinking soda.