1
00:00:00,000 --> 00:00:05,280
Hey everybody, this is another interview that I did first in our live streaming thing over there

2
00:00:05,280 --> 00:00:10,420
in the Tanzu TV land, which you can check out if you want to, if you go to twitch.tv

3
00:00:10,420 --> 00:00:17,440
slash VMware Tanzu. Now, I do a broadcast just about every weekday at 11 a.m. Amsterdam time

4
00:00:17,440 --> 00:00:22,660
if you want to see it live, or if that's not a good time for you, there's the full archives of

5
00:00:22,660 --> 00:00:30,860
them up on YouTube, which I list at Coté.io slash Tanzu Talk. So enjoy this one, and if you want

6
00:00:30,860 --> 00:00:36,320
to, I don't know, get sort of fresher things and see some mostly monologues from me, but every now

7
00:00:36,320 --> 00:00:41,960
and then I have guests in, just go over to Coté.io slash Tanzu Talk, and you can find the playlist

8
00:00:41,960 --> 00:00:46,360
over on YouTube to look at, or you can figure out how to watch it live, if that's more your thing.

9
00:00:46,360 --> 00:00:52,360
And with that, enjoy this interview. Well, this week, well, not this week, it's today.

10
00:00:52,680 --> 00:00:56,400
Since I do, I, can you believe this? I try to do these things daily because I want to make my life

11
00:00:56,400 --> 00:00:59,400
hard. Do you think that, you think I'm going to be able to sustain that? You really do these daily?

12
00:00:59,660 --> 00:01:04,020
Yeah, yeah. I mean, I mean, I've been doing it now. This is one of those things I've been doing it

13
00:01:04,020 --> 00:01:10,100
daily for, I think this is the fifth day. So now I don't, I don't do it on the weekend because we

14
00:01:10,100 --> 00:01:16,180
live, we work in a sophisticated organization that would not tolerate such nonsense. So I got that

15
00:01:16,180 --> 00:01:20,140
going on, but I forgot what I said I was talking about, but here we are.

16
00:01:20,260 --> 00:01:25,000
But do you publish daily or do you have like a little buffer so that when you go on holiday,

17
00:01:25,240 --> 00:01:34,260
I am creating a buffer, both in my midsection and in my media asset area. So I, you know,

18
00:01:34,260 --> 00:01:38,620
we do have, I live here in Amsterdam and we've got like a, there's a week off in October at some

19
00:01:38,620 --> 00:01:42,960
point. And so I was thinking like, even though we can't really go anywhere or do very much,

20
00:01:42,960 --> 00:01:45,660
I should take that time off. So I do need to buffer something up.

21
00:01:46,000 --> 00:01:51,300
I'm going to do some, some buffering for sure. Yeah. The internal hobbies have been a godsend.

22
00:01:51,420 --> 00:01:55,560
I think this, that's right. Yeah. Yeah. Anyhow, why don't you introduce yourself?

23
00:01:56,120 --> 00:02:01,580
Hey, so I'm George Castro. I work at VMware as a Kubernetes community manager.

24
00:02:01,880 --> 00:02:04,020
So I'm part of the Tanzu organization.

25
00:02:04,360 --> 00:02:09,460
Yeah. And you are reminding me that we met a long time ago back in Austin somewhere. We weren't quite

26
00:02:09,460 --> 00:02:14,200
sure where, but we knew that we knew that, you know who Woody is. What was that Woody Allen movie

27
00:02:14,200 --> 00:02:21,000
where there's like Zelinsky or Zelig? I think, I think the Zelig of our world is a Barton George.

28
00:02:21,380 --> 00:02:28,260
You just look, all I remember is we were hanging out and I think I'd heard of you before, like

29
00:02:28,260 --> 00:02:32,140
from your blogs and Twitters from like a long past. And then Barton just introduced you as

30
00:02:32,140 --> 00:02:35,980
Coté. He was like, do you know Coté? And I was like, doesn't he have a first name? And I,

31
00:02:36,080 --> 00:02:37,700
for some reason I've always remembered that.

32
00:02:38,120 --> 00:02:39,220
Yes. Yeah.

33
00:02:39,460 --> 00:02:44,200
That is my strange affectation. Over here in Europe, it freaks people out or it doesn't

34
00:02:44,200 --> 00:02:48,420
freak them out. Europeans don't get freaked out about anything. It, it raises, they raise

35
00:02:48,420 --> 00:02:50,720
their eyebrows a little bit. They're curious.

36
00:02:50,740 --> 00:02:53,800
And then I believe we were trying to convince them to give us laptops and I don't think that

37
00:02:53,800 --> 00:02:53,960
worked.

38
00:02:54,300 --> 00:02:54,800
Oh yeah.

39
00:02:55,260 --> 00:03:02,240
It's, it's, it's, it's always hard to, to get some of those out of, uh, yeah, they're

40
00:03:02,240 --> 00:03:07,100
fine laptops. The XPS 13 developer edition. I think, I think there's, there's two or three

41
00:03:07,100 --> 00:03:11,940
other profiles now. I think that was, yeah, that's kind of, I should have him on here at

42
00:03:11,940 --> 00:03:15,720
some point to talk about that. Cause that's a, that is just got refreshed too. I literally

43
00:03:15,720 --> 00:03:18,920
started looking internally. I was like, how do I get one of these?

44
00:03:19,020 --> 00:03:19,920
Yeah. Yeah.

45
00:03:19,920 --> 00:03:21,900
Cause I'm due for that laptop refresh soon.

46
00:03:22,120 --> 00:03:26,980
Yeah. That would, well, anyways, so, so is this an accurate way of putting it that

47
00:03:26,980 --> 00:03:33,080
in the, the VMware Tanzu formerly Heptio world, you're, you do community stuff.

48
00:03:33,740 --> 00:03:34,100
Yeah.

49
00:03:34,180 --> 00:03:36,140
In the, in the Kubernetes community world.

50
00:03:36,760 --> 00:03:37,120
Yes.

51
00:03:37,380 --> 00:03:38,000
Yeah. Yeah.

52
00:03:38,780 --> 00:03:41,940
Yeah. So do you want me to explain like how that works? The position and.

53
00:03:42,200 --> 00:03:44,180
Yeah. Yeah. Yeah. Yeah. So usually.

54
00:03:44,340 --> 00:03:44,900
Yeah. Go ahead.

55
00:03:45,420 --> 00:03:48,920
You know, VMware, we, we obviously build our products on top of Kubernetes.

56
00:03:49,020 --> 00:03:54,420
And things like that. And similar to other companies that build products on Kubernetes,

57
00:03:54,820 --> 00:04:04,060
the health and maintenance of the community itself is important. So VMware has this position

58
00:04:04,060 --> 00:04:09,220
that specifically to work on upstream stuff. So I'm a co-chair of SIG contributor experience.

59
00:04:09,900 --> 00:04:14,820
So Kubernetes is organized into these things called SIGs, which are working group style things

60
00:04:14,820 --> 00:04:18,200
where it's like a bunch of people and they work on a certain part of Kubernetes.

61
00:04:18,920 --> 00:04:24,020
So I have kind of parts at red hat, Google, et cetera, things like that. And so there's

62
00:04:24,020 --> 00:04:29,820
a diverse group of people who work in Kubernetes. Some don't work full-time on it at all.

63
00:04:29,920 --> 00:04:35,820
Some do. And then some work at maybe smaller companies and do it on, you know, a shorter

64
00:04:35,820 --> 00:04:41,420
amount of time, or some people just do it for fun on the weekend kind of things or on the

65
00:04:41,420 --> 00:04:42,440
spare time. So.

66
00:04:42,700 --> 00:04:48,300
But for us, because Kubernetes is so crucial for us, we have, we usually like invest in

67
00:04:48,300 --> 00:04:56,000
ensuring that things are looking good upstream. So I wear my upstream hat probably 80% of the

68
00:04:56,000 --> 00:04:56,580
time, I would say.

69
00:04:56,760 --> 00:04:58,760
Oh, upstream hat. Do you have that laying around somewhere?

70
00:04:59,400 --> 00:05:04,600
I do actually, but I gave it to someone at KubeCon. Paris made these ridiculous sailor

71
00:05:04,600 --> 00:05:08,820
hats. Because everything has to have a sailor nautical theme. So someone actually made those

72
00:05:08,820 --> 00:05:14,340
silly Navy looking hats with the symbols on them. Yeah. Yeah. I did not like. Yeah. I was keen

73
00:05:14,340 --> 00:05:18,720
to give that one away. You got, you got, you got the sartorial, uh, like diversity of Nantucket

74
00:05:18,720 --> 00:05:23,560
there, all sorts of crazy stuff going on. Just, yeah. It's, it's either nautical or Greek and

75
00:05:23,560 --> 00:05:28,600
then they just mix it up and then everything has to be named. It's like the, it's like the meme.

76
00:05:29,180 --> 00:05:35,500
So, so, so, all right. So you already laid out a whole lot of, a lot of, uh, things there. And

77
00:05:35,500 --> 00:05:41,820
this is, this is exactly what I wanted to, why I wanted to talk with you is, is I'll, I'll fully

78
00:05:41,820 --> 00:05:47,080
admit, I don't actually really know much about the, the Kubernetes community. And so far as like,

79
00:05:47,080 --> 00:05:53,920
um, even the words to you, but just like how it works and what the parts are and like, you know,

80
00:05:54,220 --> 00:05:58,220
nevermind the sentiment that could be a whole other second episode. We can be like, boy,

81
00:05:58,220 --> 00:06:02,980
check out those people. How about these ones and how, how they all fit together and enjoy each

82
00:06:02,980 --> 00:06:10,280
other. Uh, but more of just sort of like, if, if, if you look at any community as not only this,

83
00:06:10,340 --> 00:06:16,280
but one way of looking at community is it's just like a system or a machine or a, um,

84
00:06:17,200 --> 00:06:25,380
it's a tool, right? Like, like a living organism of a tool. Uh, so I was curious just to like,

85
00:06:25,380 --> 00:06:29,880
from my own edification to kind of go over how it all works, how it's laid out.

86
00:06:30,140 --> 00:06:30,140
Sure.

87
00:06:30,140 --> 00:06:36,620
But then, but then also the thing I'm curious about is from the perspective of like a, let's

88
00:06:36,620 --> 00:06:44,160
say an application developer, right? Like what, like how you would kind of help them navigate

89
00:06:44,160 --> 00:06:48,640
through it, through, through what they're supposed to do. And, and just to end my, you know, as I'm

90
00:06:48,640 --> 00:06:53,460
fond of saying, I like to ask questions that end in periods. So let me finish my sentence here is

91
00:06:53,460 --> 00:06:57,900
like, I think in thinking about what we talk about in the framing, I was thinking like, you know,

92
00:06:58,220 --> 00:07:06,300
at least in my experience for any given community, there's kind of, let's say three to four parties

93
00:07:06,300 --> 00:07:11,360
involved. And you could even think of them as types of developers, um, or let's just say developers,

94
00:07:11,360 --> 00:07:15,240
there's parties that aren't developers, but basically there are, there's the community of

95
00:07:15,240 --> 00:07:19,680
the developers who work on the stuff, right? They're the ones who actually write the code.

96
00:07:20,220 --> 00:07:24,540
Right. And then you have, you've got this other set of developers that are interested in the

97
00:07:24,540 --> 00:07:29,440
community. And usually they come from the people, if the community is like this, that commercialize

98
00:07:29,440 --> 00:07:35,040
it, right. That, that take, that use the open source and do whatever, whatever, however, it might be

99
00:07:35,040 --> 00:07:40,160
commercialized. Uh, and that could include like, whether it's vendors like ourselves or system

100
00:07:40,160 --> 00:07:44,220
integrators or whatever, but there are people who are interested in this chunk of code because it's part of

101
00:07:44,220 --> 00:07:48,660
their business to sell it. And then the third one that you have, and I guess I would put

102
00:07:48,660 --> 00:07:53,880
service, you know, cloud people in that second bucket. I don't know. But then the third bucket

103
00:07:53,880 --> 00:07:59,840
is basically like what I'm calling application developers. And I'm going to come up with a

104
00:07:59,840 --> 00:08:04,740
fourth one now, I'm remembering, but the application developer is like, you know, I write, if you want

105
00:08:04,740 --> 00:08:09,360
to transfer money between two people, I write that application and all the stuff that you would need

106
00:08:09,360 --> 00:08:15,040
for that. And now, now that I'm, I'm talking to myself here, there's a fourth category, I think,

107
00:08:15,040 --> 00:08:22,180
in Kubernetes, which is they're not application developers, but they're like platform developers.

108
00:08:22,540 --> 00:08:26,220
I don't know. I don't know what the Kubernetes world calls that, but anyways, yeah, yeah, yeah.

109
00:08:26,280 --> 00:08:32,260
That's my theory of like things that move around and now you are here and you can like, you can tell

110
00:08:32,260 --> 00:08:36,480
me how it actually works. Let's go over all four of them, but I want to do application developers last.

111
00:08:36,740 --> 00:08:37,300
Sounds good.

112
00:08:37,380 --> 00:08:41,680
So first I would, I would categorize as Kubernetes core developers, right?

113
00:08:41,680 --> 00:08:48,520
Like these are people who are working in the project. You know, they have, they're in owners files,

114
00:08:48,700 --> 00:08:53,100
which so in the source tree of Kubernetes, there's a little file called owners in every directory.

115
00:08:53,640 --> 00:08:58,940
And in there's a list of GitHub handles, right? And who's, if your name is in there, you're

116
00:08:58,940 --> 00:09:02,700
responsible for that code and, you know, some of the requests that you review.

117
00:09:02,700 --> 00:09:09,820
So we have on any given time, we have about a thousand and I'm kind of squiggly, a thousand

118
00:09:09,820 --> 00:09:16,500
core developers that have contributed significant contributions to the code base.

119
00:09:16,600 --> 00:09:16,960
Yeah.

120
00:09:17,040 --> 00:09:27,040
Out of those probably around 750 ish have been active in the past cycle or so.

121
00:09:28,380 --> 00:09:31,780
The reason I know this is we're in the middle of having an election and we had to figure

122
00:09:31,780 --> 00:09:36,800
out, you know, who's been active. So that's, that's kind of the, the, the figures there.

123
00:09:36,900 --> 00:09:41,080
So about, you know, I like to say about a thousand core developers and then it depends, right?

124
00:09:41,200 --> 00:09:45,720
Sometimes somebody might be working on something and they are in one of these other groups that

125
00:09:45,720 --> 00:09:49,600
you mentioned. So they might cycle out to do product or something for a while at wherever

126
00:09:49,600 --> 00:09:53,840
they work and then come back and do more upstream stuff. So, you know, depending on the

127
00:09:53,840 --> 00:09:58,620
organizations, that's just kind of how that goes. So that, you know, you, you look at

128
00:09:58,620 --> 00:10:02,040
it cause every time you go to a conference, you know, everyone's talking about these numbers

129
00:10:02,040 --> 00:10:06,760
and how great they are. However, I think what makes Kubernetes really cool is the second

130
00:10:06,760 --> 00:10:12,400
group, which is more of like outside the core developers. So we've had about, I think the

131
00:10:12,400 --> 00:10:19,320
number is up to like 42,000, what we call drive-by contributors. And these are people who

132
00:10:19,320 --> 00:10:23,800
just wanted to fix something, you know, they did a pull request, but you know, maybe they

133
00:10:23,800 --> 00:10:27,620
don't work on it for full time or they're trying to like deploy it at work and they find a bug,

134
00:10:27,740 --> 00:10:33,740
et cetera, et cetera, that kind of thing. I've been doing Kubernetes for almost three years

135
00:10:33,740 --> 00:10:38,800
now. And the entire time I've been here, there's always been a thousand open pull requests to

136
00:10:38,800 --> 00:10:43,960
give you an idea of like the velocity of the amount of pull requests that are coming in.

137
00:10:44,840 --> 00:10:49,720
And our velocity has been increasing as far as, you know, trying to integrate as many of

138
00:10:49,720 --> 00:10:54,820
those as possible and get those reviewed. You know, obviously we're not going to catch everyone

139
00:10:54,820 --> 00:10:58,940
and I can give you tons of examples of where, you know, we kind of messed that up, but you

140
00:10:58,940 --> 00:11:03,840
know, generally just to give you the size of the scope of this thing, it's just every time

141
00:11:03,840 --> 00:11:08,920
I think we finally, it's like, okay, well maybe this cycle, you know, we'll level out. And

142
00:11:08,920 --> 00:11:14,120
then every, every single time I look, the numbers just keep continuing. So that's one

143
00:11:14,120 --> 00:11:17,700
of the things that's, I don't want to say keeps me up at night, but one of the things

144
00:11:17,700 --> 00:11:25,980
that we try to focus on is things like sustainability and, you know, how do we get maybe senior developers

145
00:11:25,980 --> 00:11:30,360
that started off in the project, writing lots of code? You know, how do you get people into

146
00:11:30,360 --> 00:11:35,000
kind of a ladder? So they're mentoring new contributors and things like that. So we can keep all of

147
00:11:35,000 --> 00:11:39,300
that going. Um, I guess you're right. Cause that is, that is one of those, uh, you know,

148
00:11:39,300 --> 00:11:45,240
one of my favorite, uh, business BSE kind of phrases is, uh, a good problem to have. Right.

149
00:11:45,240 --> 00:11:49,760
And, and, and, and so what you just described, I think is a good problem to have that you have

150
00:11:49,760 --> 00:11:55,920
a lot of, a lot of people who want to contribute and then you have to like, uh, deal with that.

151
00:11:56,820 --> 00:12:03,280
And it's complex because like Kubernetes is, you know, you've heard it described as like

152
00:12:03,280 --> 00:12:07,140
the operating system for like the data center or the cloud, whatever, whatever you believe.

153
00:12:07,260 --> 00:12:10,520
But either way, there's tons of components, right? We have something like 43

154
00:12:10,520 --> 00:12:16,080
SIGs or it's, it's above 30 or four, you know, around depending on what's cycled up or down.

155
00:12:16,080 --> 00:12:20,040
And then there's working groups that we spin up and down, but there are lots of components

156
00:12:20,040 --> 00:12:25,800
to Kubernetes. So it's not just, Hey, I want to do a thing on Kubernetes. It's like, are you into storage

157
00:12:25,800 --> 00:12:31,660
networking? Are you into what happens on the node itself? Right. Are you into etcd? Like there's all

158
00:12:31,660 --> 00:12:37,880
these kinds of distributed components. Um, and on top of that, you got the meta parts of the project

159
00:12:37,880 --> 00:12:43,600
that you need. So the SIG, I participate contributor experience, you know, our whole job is when someone

160
00:12:43,600 --> 00:12:49,920
does a pull request, are they getting, you know, is that pull request getting in the right eyeballs,

161
00:12:49,920 --> 00:12:53,660
you know, in a certain, in a reasonable amount of time?

162
00:12:54,000 --> 00:12:57,800
Yeah. Yeah. You've got to, you've got to route it to the right group. That's responsible for that part.

163
00:12:57,800 --> 00:13:02,940
Right. So we depend a lot on automation. Right. Yeah. And as a result of that, that can lead to some

164
00:13:02,940 --> 00:13:08,080
friction. Right. So if you wanted to do a pull request today, a bot, literally a bot is the first

165
00:13:08,080 --> 00:13:13,460
thing that talks to you, which is kind of, kind of awesome. Wow. Like I, you come from a background,

166
00:13:13,460 --> 00:13:17,260
right? Where smaller open source projects, you like the personal touch and, you know, it's nice to

167
00:13:17,260 --> 00:13:22,720
meet you. Thanks, you know, but like at this scale, there's just no, there's just no reasonable way to

168
00:13:22,720 --> 00:13:27,220
do this without automation. So, you know, we have a bot checks to see if you sign the CLA,

169
00:13:27,420 --> 00:13:32,320
you know, it'll, it'll say, Hey, you haven't assigned a SIG to this here, the commands you can assign,

170
00:13:32,320 --> 00:13:37,980
or if, if you don't know what to do and it sits there after a while, you know, the bot will try to

171
00:13:37,980 --> 00:13:43,460
put it on the radar of whatever SIG we think it might, you know, depending on where you did a pull

172
00:13:43,460 --> 00:13:48,280
request. And then it kind of goes through this like long, you know, process. And if you're new,

173
00:13:48,680 --> 00:13:53,900
that could be very intimidating. Right. Cause it's like, I did a pull request and a bot's already,

174
00:13:54,020 --> 00:13:59,740
you know, yeah, that's, it's, it's interesting. It'd be overwhelming. Yeah. I mean, I mean,

175
00:13:59,740 --> 00:14:04,700
you know, I, I always, uh, nowadays I always get kind of excited when there's an actual bot for

176
00:14:04,700 --> 00:14:10,120
customer service. Cause like the alternative is like talking to someone and, uh, it's, it's made me

177
00:14:10,120 --> 00:14:16,940
realize that like, I mean, I mean, I guess, I guess not talking to a human has a bad reputation

178
00:14:16,940 --> 00:14:22,480
because of like IVRs and stuff, but like it has a bad reputation when it doesn't work well.

179
00:14:22,620 --> 00:14:29,360
And so like, if it works, it's anyways, that's an unrelated, uh, parenthetical there, but okay.

180
00:14:29,400 --> 00:14:35,060
Okay. So, so, so we have labels, you know, and, and we do like, when I mentioned the scale,

181
00:14:35,060 --> 00:14:40,840
there is a lot of, you know, like we can't just consume normal GitHub. Yeah. So there's like,

182
00:14:41,080 --> 00:14:44,740
you know, part of the things we do in our SIG and we have representatives that actually talk to

183
00:14:44,740 --> 00:14:49,940
GitHub directly, right. We're working with them when it comes to like, Hey, you know, you have a senior

184
00:14:49,940 --> 00:14:56,260
developer, uh, you know, who's getting pinged, you know, and the notifications workflow that they

185
00:14:56,260 --> 00:15:04,120
first started to land, like, you know, that might work for, you know, 90% of, of developers on GitHub.

186
00:15:04,620 --> 00:15:08,860
Right. But you know, at our scale, you know, how do you manage all these, how do you rattle that

187
00:15:08,860 --> 00:15:12,640
through? Right. Yeah. So that's like an awesome thing that we do where there's like a constant

188
00:15:12,640 --> 00:15:18,000
feedback loop where, you know, GitHubers will come to KubeCon and the, you know, and we'll meet with

189
00:15:18,000 --> 00:15:22,500
them regularly. And we're kind of always, Hey, you know, we want to automate doing this. How should we do it?

190
00:15:22,500 --> 00:15:26,900
You know, just the kind of day-to-day things to make that process easier. And that helps us kind

191
00:15:26,900 --> 00:15:32,500
of manage the, the drive-by contributor. Do you use that? Uh, what's, what's that,

192
00:15:32,580 --> 00:15:36,440
that actions thing they have in GitHub? I forget what they call it, but you can like chain together

193
00:15:36,440 --> 00:15:40,900
a bunch of things. Y'all use that? Oh, we, yeah, we, yeah. Actions. Is that what they're called?

194
00:15:40,980 --> 00:15:45,180
Without, yeah, without, we use actions for lots of stuff. I mean, we, we have a bot,

195
00:15:45,180 --> 00:15:50,000
we have a bot called Prow, um, that I think actually other projects have started to use as well,

196
00:15:50,000 --> 00:15:53,480
but that's the thing that, uh, you know, and it's all open source. It's all in our infra,

197
00:15:54,080 --> 00:15:57,100
uh, you know, everything we make is open source. Yeah. You got to watch out because then you're

198
00:15:57,100 --> 00:16:01,080
going to have a bunch of people who are building a platform for building a platform that are building

199
00:16:01,080 --> 00:16:05,940
a platform for building platforms that just on the kind of like, you're going to be four or five

200
00:16:05,940 --> 00:16:10,980
levels deep. Once, once you start getting there. When I first started, there was an awesome bug in

201
00:16:10,980 --> 00:16:15,660
the bot where it was actually talking to itself. And I, for, I should have bookmarked it because

202
00:16:15,660 --> 00:16:20,860
it's a bot talking to itself. And I remember Chris Nova responding, being like, what's happening

203
00:16:20,860 --> 00:16:25,420
here? And it was just like this, it was like this perfect storm of like when automation,

204
00:16:25,420 --> 00:16:30,700
you know, goes wild. Yeah, exactly. So, okay. So you've mentioned a couple of times you have

205
00:16:30,700 --> 00:16:35,020
these SIGs. I assume that's the old, you haven't come up with a new meaning for that. It's a special

206
00:16:35,020 --> 00:16:40,620
interest group, special interest. And, and so, so what is a SIG in the, uh, the Kubernetes world?

207
00:16:40,820 --> 00:16:47,740
So a SIG is a working unit. Um, it's kind of our basic working unit where things get done.

208
00:16:48,140 --> 00:16:55,160
So SIGs own code and responsible for certain parts of the Kubernetes code base. Um, so let's

209
00:16:55,160 --> 00:16:58,160
say you were a networking person and you were like, Hey, I want to get into Kubernetes. And

210
00:16:58,160 --> 00:17:02,080
I would say, Hey, what are you into? And you say networking. I would tell you, you probably

211
00:17:02,080 --> 00:17:09,860
want to go to SIG network and each SIG has a public meeting, a YouTube playlist, um, meeting

212
00:17:09,860 --> 00:17:16,340
notes. Uh, they have co-chairs, they have tech leads, they have members, uh, they generate

213
00:17:16,340 --> 00:17:20,940
their own caps, which are Kubernetes enhancement proposals. So if you want to write a new feature,

214
00:17:20,940 --> 00:17:25,940
you work on a cap, those get checked into an enhancements repo. People discuss it, you know,

215
00:17:25,940 --> 00:17:32,080
everything happens in GitHub. Um, you know, and then people implement it. If there, if you

216
00:17:32,080 --> 00:17:37,940
file a bug on a networking component, you know, that ends up on SIG networks radar. So we have

217
00:17:37,940 --> 00:17:42,420
those SIGs kind of control, uh, the different areas of the code base.

218
00:17:42,420 --> 00:17:47,300
And, and then, and do SIGs have like sub SIGs or is it just like, there's more or less

219
00:17:47,300 --> 00:17:51,980
a one-to-one mapping of like, yeah, they have, they have sub projects. Yeah. Um, that own

220
00:17:51,980 --> 00:17:57,220
certain parts that you want to split up. Right. Right. Like, I mean, I imagine networking is

221
00:17:57,220 --> 00:18:01,240
quite large and as far as like things that it would do. So you would have many sub SIGs

222
00:18:01,240 --> 00:18:05,560
there. Yeah. Right. And then like SIG cluster lifecycle, which is responsible for the installation

223
00:18:05,560 --> 00:18:10,100
upgrades and stuff. They have tons of sub projects as well. So if you've used the tool

224
00:18:10,100 --> 00:18:15,540
kind, you know, there's a sub project for kind, there's one just for cube admin. There's one for

225
00:18:15,540 --> 00:18:20,780
cops. I think, I think cops is a sub project. I'm, I might need to look that up, but tools that you

226
00:18:20,780 --> 00:18:26,840
use, you know, to use Kubernetes, lots of those belong to SIGs and they may or may not, uh, be a

227
00:18:26,840 --> 00:18:32,740
sub project, uh, within a certain SIG, depending on how they're organized. Okay. Um, so, so in other,

228
00:18:32,840 --> 00:18:36,500
in other open source communities, I mean, you have the similar construct, right? Like, like it,

229
00:18:36,980 --> 00:18:41,380
the, depending on the type of open source community, like the project might be small

230
00:18:41,380 --> 00:18:45,940
enough that it is its own thing. Right. Like it's like, right. It's just like, I don't know,

231
00:18:46,000 --> 00:18:52,620
whatever. And, uh, but then you might have much, much larger, uh, like I imagine, I don't know

232
00:18:52,620 --> 00:18:58,080
how, like, for example, well in the eclipse world, I mean, eclipse is a lot of different things.

233
00:18:58,300 --> 00:19:02,600
And so there's many different subgroups and subgroups of subgroups, but okay. So that,

234
00:19:02,700 --> 00:19:10,380
so the unit of the people who work on a concern or a component of Kubernetes is a SIG, which can be

235
00:19:10,380 --> 00:19:15,740
further divided into sub ones. And then there are also the ones who basically, that is the,

236
00:19:15,740 --> 00:19:22,320
the entity that can make suggestions. What would you call them? Kreps, like suggestions of new

237
00:19:22,320 --> 00:19:26,300
things, keps of things to do. They're not, they're not very thin pancakes. You got to be careful over

238
00:19:26,300 --> 00:19:29,400
here in Europe. Sometimes when they tell you there's a pancake, you get a crepe and it's just

239
00:19:29,400 --> 00:19:34,040
like that. I don't, you don't like them. Oh, that's like, no, no, no. I mean, they're good.

240
00:19:34,080 --> 00:19:39,800
But I mean, imagine, imagine if, imagine if you're like, I would like a big stack of American pancakes

241
00:19:39,800 --> 00:19:44,900
and then, and then you get like, like some delicious sugary doilies instead. Right. Like,

242
00:19:44,900 --> 00:19:49,640
I mean, maybe it would be delightful. It's just the expectations don't match up is, is the issue.

243
00:19:50,020 --> 00:19:55,760
So, uh, okay. Okay. So that point I do want to make before you go on, however, is in the early

244
00:19:55,760 --> 00:19:59,800
days, a lot of things were in core, right? In github.com slash Kubernetes slash Kubernetes.

245
00:20:00,320 --> 00:20:03,700
We've been making, remember that whole thing I talked about sustainability. Yeah. We've been

246
00:20:03,700 --> 00:20:09,100
making efforts to, if something isn't core or important, kind of move it out of the core

247
00:20:09,100 --> 00:20:14,640
repository and break it down into other repositories that may or may not be in core. So something like

248
00:20:14,640 --> 00:20:21,220
cloud providers, you know, used to live in core and it's taken us years to like remove those,

249
00:20:21,220 --> 00:20:27,380
cloud providers to work on things at their own pace without having like the kind of things,

250
00:20:27,380 --> 00:20:31,820
you know, having to deal with getting reviews and core and all that kind of stuff. So there's been

251
00:20:31,820 --> 00:20:36,320
an effort to actually, you know, if this isn't a core thing, does it really need to live in the

252
00:20:36,320 --> 00:20:40,900
core repository? And a lot of people have been working to remove that to kind of help, you know,

253
00:20:40,900 --> 00:20:45,220
like I said, with the sustainability, if we're removing things that aren't important to core,

254
00:20:45,220 --> 00:20:51,660
core can remain tightly scoped. Yeah. That makes sense. You've got to continually make sure that

255
00:20:51,660 --> 00:20:59,600
you, you're not creating a giant SIG, I guess, which, which is, is unmanageable. Okay. Okay. So

256
00:20:59,600 --> 00:21:04,440
then, so then, then typically, I mean, like you said, if there's code to be owned, there's code,

257
00:21:04,520 --> 00:21:08,960
but I imagine there's other SIGs that aren't necessarily directly code related, right?

258
00:21:09,160 --> 00:21:12,920
Exactly. So this is one of the cool things for those of you who aren't coders in the audience

259
00:21:12,920 --> 00:21:18,300
is Kubernetes needs every skillset that you can possibly have, not just coders. So we have a

260
00:21:18,300 --> 00:21:23,440
few SIGs. First of all, we have a steering committee, which kind of, you know, sets the tone for the

261
00:21:23,440 --> 00:21:29,960
project. The steering committee doesn't lead the technical direction of the project. That is powered

262
00:21:29,960 --> 00:21:34,600
down to the SIGs themselves. Right. So there's no, like, there's no meeting where everyone sits down

263
00:21:34,600 --> 00:21:38,960
and says, you know, we're all going to do like, you know, the SIGs kind of, kind of lead the way

264
00:21:38,960 --> 00:21:43,300
there. And usually steering is there for like governance reasons. Sure. And to, you know,

265
00:21:43,300 --> 00:21:49,560
to help kind of delegate responsibility. And then you have SIG release, which is kind of a meta SIG

266
00:21:49,560 --> 00:21:55,620
that kind of coordinates with all the SIGs on what it takes to release all at once. Right. So they,

267
00:21:55,920 --> 00:22:03,100
you know, they select a release lead. There's a release team and it is very new user friendly as well.

268
00:22:03,100 --> 00:22:08,340
You can absolutely not know a lot about, uh, Kubernetes or the project and get involved

269
00:22:08,340 --> 00:22:14,940
in SIG release. They have a nice shadow program. They have, um, like little cookbooks. It's like,

270
00:22:14,980 --> 00:22:18,380
Hey, I volunteered to be the person that's going to write the blog posts. You know, I hear your

271
00:22:18,380 --> 00:22:22,940
instructions and past work and here's all the people that are going to help you. And you know,

272
00:22:22,940 --> 00:22:27,280
that, that kind of stuff. SIG contributor experience. We tend to also do a lot of, uh,

273
00:22:27,280 --> 00:22:31,560
the meta work. So everything by running the YouTube channel, moderating the forums,

274
00:22:31,560 --> 00:22:38,560
uh, the lists helping run the elections. Um, let's see what else did I do? Uh, the GitHub

275
00:22:38,560 --> 00:22:44,620
management is an entire sub project of SIG contributor experience. Um, we run events

276
00:22:44,620 --> 00:22:48,260
normally. So if you go to a cube con and you're a contributor, we have a contributor summit

277
00:22:48,260 --> 00:22:53,600
with new content for people who were like, Hey, this is my first time contributing to, Hey,

278
00:22:53,600 --> 00:22:59,200
I've been around here for years running workshops, uh, that kind of things. Uh, we were on mentorship

279
00:22:59,200 --> 00:23:05,700
programs and, you know, all of this organizing, all that, uh, always needs different types of skills.

280
00:23:05,700 --> 00:23:09,820
So lately we've been getting a lot of people that are interested in program management, right?

281
00:23:09,820 --> 00:23:16,260
Like, you know, so, so, so, so yeah, no. So talk about that more in the sense of, well, in the sense

282
00:23:16,260 --> 00:23:22,740
of, because of like, it's easy to conceptualize. Here's like a, here's like a PR, right? I wrote

283
00:23:22,740 --> 00:23:26,680
some code and then, and then, and then I talked to your delightful bot and I, it, which was just a

284
00:23:26,680 --> 00:23:32,020
great experience. And, uh, and now it routes that around. But like, if I want to like, like,

285
00:23:32,020 --> 00:23:38,980
how, how do I contribute if I want to like work on the docs or, you know, like, like you can't like

286
00:23:38,980 --> 00:23:46,420
submit yourself as a pull request. Yeah. So SIG docs is actually the first SIG that I got involved

287
00:23:46,420 --> 00:23:50,440
with. Yeah. Uh, when, when I started, I needed to fix something for work and I was like, okay,

288
00:23:50,440 --> 00:23:56,500
I'm gonna, I'm gonna do that. So that is an entire state that you could just show up. And, uh,

289
00:23:56,500 --> 00:24:00,820
docs is always an area where people could contribute. We always need technical writers and we always

290
00:24:00,820 --> 00:24:07,220
need like copywriters. Um, and things like the Kubernetes blog also fall under docs. So that's

291
00:24:07,220 --> 00:24:11,060
also a great place. You know, I try to tell people, Hey, you saw something cool at work,

292
00:24:11,120 --> 00:24:16,360
write it up for the blog. It's just right down pull request. Yeah. Um, like it's, you know,

293
00:24:16,360 --> 00:24:19,900
sometimes people aren't aware, Hey, it's an open source project. I can submit up a blog post.

294
00:24:19,940 --> 00:24:24,280
Yeah, absolutely. You know, put it, put it up there. So docs is an excellent place to contribute

295
00:24:24,280 --> 00:24:28,940
because it's always an area. The project moves fast, right? We, you know, we release four times a

296
00:24:28,940 --> 00:24:34,460
year. That's like twice as fast as like your normal Linux distros. So, and the docs are versioned. Uh,

297
00:24:34,460 --> 00:24:41,180
right. So there's always something new and, uh, that can, that you can work on. So six boxes is

298
00:24:41,180 --> 00:24:46,460
one of the areas that, you know, I tell people, even if you don't want to contribute to docs,

299
00:24:46,460 --> 00:24:53,260
just going to the meetings and like helping take notes or listening or seeing, you know, okay, here are

300
00:24:53,260 --> 00:24:58,680
the, here are the enhancement proposals that the SIG is talking about. Yeah. It can help spin you up on,

301
00:24:58,780 --> 00:25:03,720
on what's going on there. Um, but yeah, docs, docs is definitely a place where we could,

302
00:25:04,180 --> 00:25:09,120
we could use help. It's relatively low, uh, barrier to entry. It's just marked down in Hugo.

303
00:25:09,900 --> 00:25:13,880
Uh, you know, you just, so the avenue there, I mean, there's always the avenue of like,

304
00:25:13,880 --> 00:25:18,500
if you just send in a, a PR for something, right, that'll notify things, but then there's also,

305
00:25:18,500 --> 00:25:23,840
I imagine you could also like talk to someone like, is there, is there that like that, you know,

306
00:25:23,840 --> 00:25:30,020
and be like, I have a non-technical thing I want to do. Like, how do I, yeah. I tell people to show

307
00:25:30,020 --> 00:25:34,740
up to a meeting, um, all of our SIGs, we have, we have a little section that says, Hey, is there

308
00:25:34,740 --> 00:25:40,020
anybody new here? Anyone's first timer? Um, you know, and then it's not uncommon to see, Hey,

309
00:25:40,080 --> 00:25:44,300
everybody, you know, I'm George, I have these skills. I want to do this. Um, and it's like, well,

310
00:25:44,300 --> 00:25:47,360
what do you want to work on? And like, yeah, I submitted my first PR and I'm kind of lost,

311
00:25:47,620 --> 00:25:52,180
you know, and then, you know, in, in our meeting, in our SIG, we, okay. Uh, do we have a volunteer

312
00:25:52,180 --> 00:25:57,080
to help this person out, close out this loop? And then they kind of start that way. I also recommend

313
00:25:57,080 --> 00:26:02,180
people to like find a buddy, find a mentor. Uh, and that's something we try to do is pair people up

314
00:26:02,180 --> 00:26:09,780
where it's like, okay, you're both new here. Um, you know, we, uh, we tried to curate certain issues

315
00:26:09,780 --> 00:26:15,580
or, you know, in GitHub, that's a good first issue. This is something that always do a better job at.

316
00:26:15,580 --> 00:26:21,100
That's like, Hey, I'm new here. What do we need to do? And we, like in our SIG, we always have a list

317
00:26:21,100 --> 00:26:29,620
of, there's always a list of stuff that, um, needs to get done, but might not be, might not look

318
00:26:29,620 --> 00:26:35,660
important to new people or outsiders coming in, but that need to get done. So what I like to do is

319
00:26:35,660 --> 00:26:43,860
I like to save things that look minor, but, um, are good for new people. Right? So if I meet a

320
00:26:43,860 --> 00:26:48,220
technical person, they say, I'm like, what are you good at? And they're like, I know, get, I know

321
00:26:48,220 --> 00:26:54,220
markdown. I've done requests before. Okay. Here's an easy one because we also do things the Kubernetes

322
00:26:54,220 --> 00:27:00,080
way with this bot and all that stuff. So here, you know, change the dates on this document to be more

323
00:27:00,080 --> 00:27:04,140
up to date, you know, for the next milestones or what, you know, whatever. Yeah. No, that's

324
00:27:04,140 --> 00:27:09,180
interesting. Easy, but it gives you a chance to kind of, okay, I've submitted my pull request.

325
00:27:09,700 --> 00:27:14,880
Uh, there's a reviewer. Someone does a LGTM, which means someone says, look good to me. And then a

326
00:27:14,880 --> 00:27:19,040
second person who is the approver kind of gives it the final thumbs up. So you get two reviews on

327
00:27:19,040 --> 00:27:23,520
everything. And then, you know, okay, cool. You got your first pull request is congratulate,

328
00:27:23,520 --> 00:27:27,960
you know, and then we all, we all give them a thumbs up and slack and then, you know, then they're ready

329
00:27:27,960 --> 00:27:32,960
to move on to next something more complicated and that in certain cases, there are people who are

330
00:27:32,960 --> 00:27:39,160
just, they just dive in, you know, or, or they, they, they might know someone or they're a senior

331
00:27:39,160 --> 00:27:43,580
person in a networking stack on some other component, you know, in some other open source

332
00:27:43,580 --> 00:27:49,780
project. And then they slot in, like, it's not uncommon to see lots of open stackers, um,

333
00:27:49,820 --> 00:27:55,860
you know, in Kubernetes that just kind of like ramped up very quickly because they know the

334
00:27:55,860 --> 00:28:00,980
problem space. Yeah. Yeah. Yeah. It's a similar gargantuan community with a similar management.

335
00:28:00,980 --> 00:28:05,660
Right. Exactly. Yeah. Yeah. No, that's interesting. That's, I mean, that, that, that's the idea I'll

336
00:28:05,660 --> 00:28:12,540
have to see if I remember to think about later is the idea of, uh, saving tasks to onboard people with,

337
00:28:12,740 --> 00:28:18,260
right. Like that, that would make, it's, it's an interesting form of like delegation of,

338
00:28:18,260 --> 00:28:25,120
of like, but it's, it's, it's not only like delegation to like, let you focus on spending

339
00:28:25,120 --> 00:28:29,760
your time more valuably, but also like make sure that as you were saying, you can like, uh,

340
00:28:30,180 --> 00:28:34,740
train other people or, you know, get other people under it. Okay. All right. So let's see if I can

341
00:28:34,740 --> 00:28:40,420
get us back, back up here. So we have, uh, you're organized and into, uh, into SIGs of the various

342
00:28:40,420 --> 00:28:45,620
components. And these are the people like working on the actual Kubernetes code and, you know, and,

343
00:28:45,620 --> 00:28:52,480
and docs and, and other sort of the, the thing of Kubernetes. They are, they are the, the builders

344
00:28:52,480 --> 00:28:58,040
of it. So then, so then, uh, where do we expand to after that? What, what, uh, what else is going on?

345
00:28:58,120 --> 00:29:04,360
So I want to do app developers last. Of course. Uh, so the, the next step is people who are building

346
00:29:04,360 --> 00:29:09,780
products on, on, on top, right? You have core developers and then your outside kind of drive

347
00:29:09,780 --> 00:29:16,020
by developers. Um, there's a lot that the Venn diagram is like really meshed in when it comes

348
00:29:16,020 --> 00:29:20,140
to the second group. So these are people like, uh, you know, you might be a Googler who works

349
00:29:20,140 --> 00:29:25,520
on Kubernetes, but your day job is Anthos, right? Uh, you know, I work on Kubernetes, but my, you know,

350
00:29:25,580 --> 00:29:31,640
part of my day job is Tanzu and so on and so forth. EKS, AKS, uh, all the cloud providers,

351
00:29:31,640 --> 00:29:38,520
you know, have one, uh, and you have integrators. You, there's this nice intersection of, uh,

352
00:29:38,680 --> 00:29:43,100
smaller companies that fill niches within the ecosystem that are also deeply involved,

353
00:29:43,100 --> 00:29:49,720
um, in, in Kubernetes. You know, I'm thinking people like Weaveworks, uh, super giant, um, you

354
00:29:49,720 --> 00:29:53,120
know, and a lot of these companies have been around for a while. I've been doing a lot of

355
00:29:53,120 --> 00:29:58,500
Kubernetes. Kinvoke is another one. Um, I shouldn't have started a list now. Now you want to finish

356
00:29:58,500 --> 00:30:04,780
it. Anybody. Yeah. So, um, you know, you have these kinds of different, uh, areas of the ecosystem

357
00:30:04,780 --> 00:30:09,760
being served by different companies and things like that. So a lot of, a lot of that balance I think

358
00:30:09,760 --> 00:30:17,100
goes from, you know, uh, we, we ship product, uh, but there's the open source thing. Uh, and the

359
00:30:17,100 --> 00:30:22,080
analogies we were trying, I try to use the ecosystem of like a forest, you know, we put furniture. Um,

360
00:30:22,080 --> 00:30:26,560
but it's important that, you know, the trees are healthy, that they're being renewed properly. Uh,

361
00:30:26,560 --> 00:30:32,200
and in a way, a lot of us are forest Rangers, right? Like, sure. I sell furniture, but I also like

362
00:30:32,200 --> 00:30:36,960
care about, you know, your supply chain basically. Yeah, exactly. Everything from like the composition

363
00:30:36,960 --> 00:30:40,200
of the soil, the chemistry, you know, all that kind of stuff that you think about, you know,

364
00:30:40,200 --> 00:30:44,440
to keep a ecosystem healthy, you know, software needs the same thing. Right. And that's not just

365
00:30:44,440 --> 00:30:50,560
the code itself, but that's like support in, in other ways. Um, whether that be, uh, you know,

366
00:30:50,560 --> 00:30:56,500
doing things at KubeCon or, um, you know, any of the myriad kind of things that happen to,

367
00:30:56,600 --> 00:31:03,640
to make this project kind of continue to move forward. Yeah. Um, so those, I mean, like I said,

368
00:31:03,640 --> 00:31:08,180
like, they're very similar to the first group. It's just, you know, there's like a Venn diagram.

369
00:31:08,680 --> 00:31:13,820
So, so what, like how, I mean, yeah. So what, what is that part of the community? What's,

370
00:31:14,320 --> 00:31:19,740
how do they, not how do they fit in? What am, what am I trying to ask? Yeah. Like,

371
00:31:20,080 --> 00:31:26,340
is there a programmatic way of dealing with them? Like, like, or, or do you just, is it just sort

372
00:31:26,340 --> 00:31:31,960
of like, you know, we're all humans. We'll figure it out. Coolest thing Kubernetes ever did. This is

373
00:31:31,960 --> 00:31:37,540
an open secret. Nobody ever figures it out. Like, this is like, this is like the one thing Sarah

374
00:31:37,540 --> 00:31:43,920
Novotny taught me. She was like one of the first Kubernetes community manager is Kubernetes explicitly

375
00:31:43,920 --> 00:31:50,020
when it was started, when it was open sourced, um, has a set of values. Right. And one of one is

376
00:31:50,020 --> 00:31:57,180
this community is always bigger than an individual company. So in a way, when we are working in the

377
00:31:57,180 --> 00:32:01,780
community, everyone is kind of forced to wear the upstream hat. Now in a lot of projects preceding

378
00:32:01,780 --> 00:32:06,820
it, you know, this could, this might have been a problem. It may have, might not been a problem.

379
00:32:06,820 --> 00:32:11,680
But one of the things that drew me to Kubernetes is that it, the project itself explicitly says,

380
00:32:11,780 --> 00:32:17,840
you know, community comes first, then your company. And then that kind of helps limit,

381
00:32:17,840 --> 00:32:23,240
I think a lot of the issues that might affect other things. So we have things like affiliation

382
00:32:23,240 --> 00:32:27,220
limits, right? On steering committee, you can't have more than, you know, X amount of people from

383
00:32:27,220 --> 00:32:33,140
a certain company. All right. It's not uncommon for, uh, you know, if you have two co-chairs of a

384
00:32:33,140 --> 00:32:38,220
SIG, uh, you know, one works at one company, a one works at company B. If the person in company B

385
00:32:38,220 --> 00:32:43,480
ends up working at company A, it's not uncommon for that SIG to say, you know what, we need diversity

386
00:32:43,480 --> 00:32:49,740
in co-chairs. So let's swap someone out. And I think our leadership and our contributors are very

387
00:32:49,740 --> 00:32:56,920
cognizant of that because they've seen how that benefits, um, the community in general. And then

388
00:32:56,920 --> 00:33:02,860
in some cases, some people might have experienced when that doesn't work and, and have the expertise

389
00:33:02,860 --> 00:33:07,980
to be able to say, you know what, this is a really good idea and we should sustain it. So

390
00:33:07,980 --> 00:33:14,720
I've, it's, it's never been in my, in my experience, there's never really been a, um,

391
00:33:15,600 --> 00:33:20,080
you know, an issue where there's like an upstream thing where you have like two competitors

392
00:33:20,080 --> 00:33:25,920
fighting, you know, or, you know, like that just doesn't, doesn't really, you know, in my

393
00:33:25,920 --> 00:33:32,900
experience, you know, I'm, I think that's, uh, I mean, I think, I think that's what, what over the

394
00:33:32,900 --> 00:33:37,740
years you learned from, or one learns from watching open source communities is it's right. As you are going

395
00:33:37,740 --> 00:33:43,800
over, it's important to have like some, some norms, if not rules about, about the involvement

396
00:33:43,800 --> 00:33:49,580
of, of the vendor world. Right. I mean, because, you know, I mean, as, as you're alluding to,

397
00:33:49,640 --> 00:33:54,260
right. Like the thing you always want to avoid is, is in, in, in some previous communities and time,

398
00:33:54,260 --> 00:33:59,380
like whether it's true or not, like once you get the specter of like some money to interest,

399
00:33:59,380 --> 00:34:04,340
I think we call them a special interest in American politics, but some, some vendor, uh,

400
00:34:04,340 --> 00:34:08,480
or, or someone else is trying to like push the direction of something like it's, whether

401
00:34:08,480 --> 00:34:13,200
it's true or not, like it becomes, uh, annoying to deal with. So that, you know,

402
00:34:13,280 --> 00:34:16,020
And the leadership of the companies, they need to understand that.

403
00:34:16,180 --> 00:34:21,980
Yeah. Like it would be untenable, right. If you were to say, Hey, we need this feature

404
00:34:21,980 --> 00:34:28,680
in Tanzu, but we are depending on the community to ship it. Like you would never make that promise

405
00:34:28,680 --> 00:34:32,280
like internally to put something in a product depending on open source. Now what you do is

406
00:34:32,280 --> 00:34:38,020
right. Oh, this is important to us. We will invest in that feature or that area, but that

407
00:34:38,020 --> 00:34:43,080
is a longterm process. It's not, Hey, we need this by this release, you know, so we're going

408
00:34:43,080 --> 00:34:48,320
to give you this engineers. Let's make it happen. You know, people have tried that in the past

409
00:34:48,320 --> 00:34:52,960
and other projects and things like that. It can never work that way. Right. Tanzu is very

410
00:34:52,960 --> 00:34:58,200
dependent on being installed in multiple clouds. Right. So we invest in SIG cluster lifecycle

411
00:34:58,200 --> 00:35:03,940
as VMware. That is a longterm investment that isn't, you know, we don't sit there and say,

412
00:35:04,000 --> 00:35:07,160
Oh boy, if we don't get this feature in kind, then the next six months, the entire product

413
00:35:07,160 --> 00:35:09,000
is going to fall apart. You know what I'm saying? Yeah.

414
00:35:09,000 --> 00:35:13,720
Yeah. Like you have to kind of use it, you know, the tree, the tree has to grow before

415
00:35:13,720 --> 00:35:19,740
you, you know, before you, uh, make furniture resource. Yeah. Before you can make the furniture.

416
00:35:19,740 --> 00:35:23,600
Right. But you got to think about planning and you know, all the, the life cycle of the

417
00:35:23,600 --> 00:35:28,840
entire thing. So yeah, yeah. The leadership definitely has to be invested and has to understand that.

418
00:35:28,840 --> 00:35:34,920
And we do. Um, and that's how you kind of make, make the whole thing work. So that's, that's,

419
00:35:34,920 --> 00:35:39,720
that's kind of how like the people who productize this and then ship it kind of.

420
00:35:39,720 --> 00:35:43,560
Right, right, right. No, that makes sense. That makes sense. Okay. So, so we got, we got that,

421
00:35:43,560 --> 00:35:46,880
the vendor part of the community there. We got two. What comes after this?

422
00:35:46,880 --> 00:35:51,120
Third is your platform builders, which I think this is one of those things where I wish I could go back

423
00:35:51,120 --> 00:35:56,920
in time and like try to re-explain people what, what Kubernetes is. Um, I think every time you've

424
00:35:56,920 --> 00:36:02,480
seen someone try to do Kubernetes stuff and then they fail and you look at them and then you ask,

425
00:36:02,640 --> 00:36:08,720
you know, there's times where I'm like, what are you trying to do here? You know, Kubernetes is,

426
00:36:08,720 --> 00:36:14,000
and Joe Bito, one of the co-founders has said this, you know, Kubernetes is a platform for making

427
00:36:14,000 --> 00:36:21,280
platforms. And I think a lot of people approach it in a different way where they, uh, you know,

428
00:36:21,280 --> 00:36:26,320
the meme where it's like, Hey, I have a small problem. Let me use Kubernetes. Right. And, you know,

429
00:36:26,320 --> 00:36:32,400
in a lot of cases, wrong tool for the wrong job. So like the way I try to explain it to people is

430
00:36:32,400 --> 00:36:38,320
look, you work in technology, you go, you work for a large company. They have a thing internally,

431
00:36:38,320 --> 00:36:41,680
right? Everyone's always trying to build their own Heroku thing internally. They always have cool

432
00:36:41,680 --> 00:36:46,400
names too. You know what I'm saying? Um, so you work at a large retailer and then you have this huge

433
00:36:46,400 --> 00:36:53,280
system and it was built and it works. You go to another one, they have the same thing. You go to

434
00:36:53,280 --> 00:36:59,360
another thing, they have the same thing. All of those things are all snowflakes. You know,

435
00:37:00,000 --> 00:37:04,800
if I work for retailer a and I want to, you know, work at retailer B, it's a whole different

436
00:37:04,800 --> 00:37:09,360
technology stack and you know, all that kind of stuff. The one thing Kubernetes does well

437
00:37:09,360 --> 00:37:13,840
is it makes building systems like that commoditized. Right. Right. Right. So that you can build your

438
00:37:13,840 --> 00:37:19,280
platforms on that and just use the Kubernetes APIs. It's all about APIs. And then I tell people if

439
00:37:19,280 --> 00:37:23,680
Kubernetes is successful at one thing, it's ensuring that whatever platform people are working,

440
00:37:23,680 --> 00:37:28,720
building at your place will be building common components. And that's a shared talent pool

441
00:37:28,720 --> 00:37:34,400
of developers, people who know the technology lower costs for everybody. So it's kind of a tool set

442
00:37:34,400 --> 00:37:40,560
for people who make the tool sets. Yeah. I wish I could tell people, look, you read on Hacker News

443
00:37:40,560 --> 00:37:45,600
that you just throw Kubernetes at something and all your problems are going away. And now, you know,

444
00:37:45,600 --> 00:37:49,680
it's a year later and you're sitting, you're sitting there in your pile of fail, you know,

445
00:37:49,680 --> 00:37:54,800
wondering what happened. Yeah. Yeah. I've, I've always, I mean, I always have found the platform for

446
00:37:54,800 --> 00:38:01,680
building platforms framing confusing and, and, and like, right. And, and also like frustrating.

447
00:38:01,680 --> 00:38:06,640
I mean, just to allow myself a miniature rant with someone who's actually in the Kubernetes world,

448
00:38:06,640 --> 00:38:13,600
right? Like, like, I feel like there was this, and this doesn't really exist so much in the

449
00:38:13,600 --> 00:38:18,800
Kubernetes world anymore. But at some point early on, there was this strange, uh, I don't know the

450
00:38:18,800 --> 00:38:24,240
phrase for it, but there was this phenomenon where it was like developers were really interested in

451
00:38:24,240 --> 00:38:29,600
Kubernetes. And so everyone who's a Kubernetes advocate would talk to them about it and go over

452
00:38:29,600 --> 00:38:35,520
it. But then they would immediately say, this is not for you. Right. And so it was this weird,

453
00:38:35,520 --> 00:38:41,360
like, it's almost like this fuel that I feel, I feel like drove early Kubernetes interest was like

454
00:38:41,360 --> 00:38:47,760
fueled by these people that somehow the thing, it was very weird and incongruous. And at some point,

455
00:38:47,760 --> 00:38:53,760
the whole notion of like, it's a platform for platforms finally like settled out that or, or,

456
00:38:53,760 --> 00:38:59,280
or I feel like the official Kubernetes, like thought line, the party line was like, yes,

457
00:38:59,280 --> 00:39:03,840
that's what it is. And we should kind of toe the line. And then so when a developer wants to come and

458
00:39:03,840 --> 00:39:09,280
do our stuff, we should be like, Hey man, this is maybe not for you. Right. Like we really appreciate

459
00:39:09,280 --> 00:39:14,480
your interest, but like, we're not going to sort of like enable your different view of what this is.

460
00:39:14,480 --> 00:39:17,920
Right. Yeah. I tell individual when they ask, they're like, what should I know about Kubernetes?

461
00:39:17,920 --> 00:39:21,920
And we'll move to the app developer in a second. I was like, look, man, for most, you know,

462
00:39:21,920 --> 00:39:26,880
for most people figure out your workflow to spit out a container. Right. Right. Right. Exactly.

463
00:39:26,880 --> 00:39:30,800
We'll be at an organization where a team will take that and a computer will deploy that thing

464
00:39:30,800 --> 00:39:35,040
somewhere. Yeah. Yeah. Yeah. And so, so is that, and so the thing, the thing I've been trying to

465
00:39:35,040 --> 00:39:41,760
like wrap my head around over the past, well, whenever this was, yeah, yeah. Since the beginning

466
00:39:41,760 --> 00:39:45,840
of this year or so. Right. I mean, you know, when, as, as you know, when, uh, when Pivotal and Heptio

467
00:39:45,840 --> 00:39:51,040
came into, to VMware, now we need to like know about each other's stuff more. So I've been trying to

468
00:39:51,040 --> 00:39:56,880
figure out like how it all fits together. And like, I think maybe from that developer,

469
00:39:56,880 --> 00:40:00,800
that application developer standpoint, right? Like what I've been trying to figure out is like,

470
00:40:00,800 --> 00:40:05,600
I think what I would tell them is that Kubernetes, as far as you're concerned,

471
00:40:05,600 --> 00:40:11,680
is like an architecture and not so much that it's even an architecture, but it specifies an

472
00:40:11,680 --> 00:40:18,080
architecture that you should use. Right. And so like, don't get obsessed, like, like, like,

473
00:40:18,080 --> 00:40:22,000
cause you know, developers, one of the things they're taught is like, do things in the Unix way.

474
00:40:22,240 --> 00:40:26,160
Right. Which is, you know, have a, I forget what the official phrasing is, have a bunch of small

475
00:40:26,160 --> 00:40:31,120
little things that do a really good job that know when to use a carrot versus a pipe and versus a

476
00:40:31,120 --> 00:40:35,760
double, a double greater than sign or whatever. Right. And so just coordinate a bunch of small

477
00:40:35,760 --> 00:40:42,560
things that pass stuff onto each other. And like, what that phrase is not saying is understand how

478
00:40:42,560 --> 00:40:49,360
to build a Unix system. Right. Like, and instead, like just use the platform as Unix and do this

479
00:40:49,920 --> 00:40:51,920
development in this style, this way of architecting.

480
00:40:51,920 --> 00:40:55,920
It's distributed Unix, right? Exactly. People are like, you know, you know,

481
00:40:55,920 --> 00:40:58,960
the criticism of the Kubernetes, oh, it's too complicated. You know, you're, you're,

482
00:40:58,960 --> 00:41:02,880
you're using a huge hammer for a tiny nail. But when you look at the things people are trying to do,

483
00:41:03,600 --> 00:41:06,800
it is complicated for a reason. Right. I would love to tell you, you know,

484
00:41:06,800 --> 00:41:10,160
it's really simple and stuff. But then people are like, well, I need multi-regions. I need failover.

485
00:41:10,160 --> 00:41:13,600
I need self-healing. I need. Yeah. Yeah. Yeah. We, you know,

486
00:41:13,600 --> 00:41:17,440
the network should be transparent and magical. I should just, yeah. Yeah. And that should just work

487
00:41:17,440 --> 00:41:22,640
magically. Like, we, we, we had a, we had a joke. We used to have a joke, like way back in the,

488
00:41:23,120 --> 00:41:26,960
the, the cloud foundry world where like, you know, people would say, I want to build my own cloud.

489
00:41:27,440 --> 00:41:30,320
And then we would talk with them and they would say like, this is so complicated.

490
00:41:30,720 --> 00:41:34,000
Yeah. And you would be like, yeah, yeah, but you wanted to build your own cloud.

491
00:41:34,000 --> 00:41:40,880
Like it's not, there's no, it's not simple. Yeah. And, and that's, that's moving on the app

492
00:41:40,880 --> 00:41:44,160
developers. Yeah. That's what I'm trying to tell them. I wanted to save them for last because

493
00:41:45,520 --> 00:41:49,680
seriously, I want app developers to never care about Kubernetes at all. Right. Right. Like,

494
00:41:49,680 --> 00:41:57,040
like I started to go, I was very unfamiliar with like pivotal stuff. Right. So I have a local

495
00:41:57,040 --> 00:42:02,400
spring group here in Detroit. So I went to it and I was just, my eyes opened on what app developers,

496
00:42:02,400 --> 00:42:06,480
you know, look and stuff. And in my brain, I sat there. So, you know,

497
00:42:06,480 --> 00:42:11,920
if these people have to learn Kubernetes, I have failed them. I want, you know, do your spring,

498
00:42:11,920 --> 00:42:16,400
do your spring. And then all the other stuff, that integration, that's all, that's all on us

499
00:42:16,400 --> 00:42:22,720
to figure out for them. Right. Like, um, obviously we want them to be designing their applications with

500
00:42:22,720 --> 00:42:28,400
those patterns in mind. Right. But I feel like these general kind of distributed computing patterns

501
00:42:28,400 --> 00:42:34,720
are easier for them to grok that, like, I just see like a, you know, like a Java developer sitting

502
00:42:34,720 --> 00:42:39,440
there trying to figure out their deployment.yml or whatever. Maybe not. Right. There's certain

503
00:42:39,440 --> 00:42:43,360
things that we can do to make that experience easier for them. Absolutely.

504
00:42:43,360 --> 00:42:48,800
That isn't, it's just right now because the excitement was there and it was solving problems

505
00:42:48,800 --> 00:42:53,120
for a lot of people. And I'm still surprised every day where it's like, oh yeah, we've been running this

506
00:42:53,120 --> 00:42:58,240
in production for like a really long time. And, uh, you know, the speed upgrades are still kind of,

507
00:42:58,800 --> 00:43:03,760
you know, for some people, some people still can't figure out things, but it's showing a value to

508
00:43:03,760 --> 00:43:07,840
them. So I, it still feels like early days. Right. So when people are like, I don't like Kubernetes,

509
00:43:07,840 --> 00:43:12,240
uh, you know, this YAML and all that kind of stuff is like, yeah, trust me, we hate it too.

510
00:43:12,880 --> 00:43:17,120
You know, it's just, it's still like kind of early days as far as like gelling all that stuff,

511
00:43:17,120 --> 00:43:21,200
the same way that when I got into Linux, you had to build your own kernel if you wanted your USB

512
00:43:21,200 --> 00:43:26,400
keyboard to work, you know? Yes. And then, you know, I, and I think we'll look back hopefully

513
00:43:26,400 --> 00:43:32,240
in a few years and see the progress on the kind of higher level abstractions that we're making.

514
00:43:32,240 --> 00:43:38,160
And I think it's up to not just us as Kubernetes, but those platform making people as well,

515
00:43:38,160 --> 00:43:41,280
right? If you're building this at work for someone, if you're deploying a Kubernetes

516
00:43:42,160 --> 00:43:46,160
style thing, I think everyone's looking for like the cool thing that just lets a developer on their

517
00:43:46,160 --> 00:43:50,560
laptop do one command, close it. Right. Yeah. Yeah.

518
00:43:50,560 --> 00:43:53,520
Yeah. Dashboard. Everything's green. I'm going to the pub. See ya. You know?

519
00:43:53,520 --> 00:43:58,720
Well, I think, I think that's a, that's a good launching point into our last little topic and

520
00:43:58,720 --> 00:44:05,520
then we'll wrap up, which is so, so you're making me think like, so is there a SIG group that's like

521
00:44:05,520 --> 00:44:13,520
for the application developers like to figure out, like, uh, we do have, we do have working for them?

522
00:44:14,160 --> 00:44:19,520
Yeah. Yeah. So we do, we have SIG apps. Um, however, this is a huge space. If you think about

523
00:44:19,520 --> 00:44:25,040
it, there's no one SIG that could cover this, right? Like, um, like for example, Helm used to be part

524
00:44:25,040 --> 00:44:30,160
of SIG apps, right? Then it got mature and things so much so that it just kind of split out from

525
00:44:30,160 --> 00:44:35,520
Kubernetes and now it's its own top level CNCF project. Yeah. Yeah. Yeah. That's just Helm.

526
00:44:35,520 --> 00:44:37,680
Yeah. That would, that would make sense that that would, I mean, cause that is

527
00:44:39,360 --> 00:44:45,280
mostly a kind of sort of ish for application developers, maybe sort of, right? Like,

528
00:44:45,280 --> 00:44:49,680
yeah. Yeah. Yeah. Or things that application developers will consume, I guess is more.

529
00:44:49,680 --> 00:44:55,200
Yes. Yeah, exactly. Exactly. But, but even beyond that, even beyond developer tools,

530
00:44:55,200 --> 00:45:00,240
let's, let's call it that. But like, like, so I, I remember I had a conversation with one of the,

531
00:45:00,240 --> 00:45:03,600
the, a long time ago, it's one of the open stack board people. And I was at

532
00:45:05,360 --> 00:45:09,040
maybe red monk or four or five one at the time. So of course I was talking about developers,

533
00:45:09,040 --> 00:45:13,600
right? And I was basically like, so with application developers, like, what do you do for them?

534
00:45:13,600 --> 00:45:19,360
Right. Because like, how do they find out what to do beyond to get open stack up and running?

535
00:45:19,360 --> 00:45:25,360
And it seems like, you know, as we were just discussing, right? Like, like it is a distributed

536
00:45:25,360 --> 00:45:31,280
Unix application or a distributed application. So there's almost like, here's how to architect

537
00:45:31,280 --> 00:45:36,560
and write an application that will run well on Kubernetes, never minding actual commands that

538
00:45:36,560 --> 00:45:42,240
you use or like, never minding this, but this is just like this, doing things this way runs better.

539
00:45:42,240 --> 00:45:46,880
Like that, you know, with my extremely limited technical thing, right? Like the, the, the one,

540
00:45:46,880 --> 00:45:51,760
when I was kind of going down this path over the past year, like the one thing that I realized is

541
00:45:51,760 --> 00:45:58,080
like at a very minimum, you have to implement, if you're writing code, that's going to be running

542
00:45:58,080 --> 00:46:03,920
in a container, that's going to be in a node that's in a pod. Did I get that order, right? That's going

543
00:46:03,920 --> 00:46:08,720
to be in a cluster, whatever, right? Like you write some code and what you're responsible for

544
00:46:08,720 --> 00:46:12,320
as the developer is you have to implement, I don't even remember what they're called, but you've got

545
00:46:12,320 --> 00:46:20,160
to implement these five hooks or life cycle events, which is one boot up. Are you booting up? Are you

546
00:46:20,160 --> 00:46:26,800
okay? Uh, I'm about to kill you. You're dead. Right. And like, like, so these, you have to tell

547
00:46:27,360 --> 00:46:32,000
Kubernetes to call these, these methods that you somehow define, whether it's through, you know,

548
00:46:32,000 --> 00:46:38,240
rest or memory or, uh, or sticking a file, so whatever it is. And like you as the application developer,

549
00:46:38,960 --> 00:46:43,360
that must be implemented. Now you can go get a framework like spring to help you like do all

550
00:46:43,360 --> 00:46:48,240
that. But eventually you are responsible for telling this infrastructure you're running in,

551
00:46:48,240 --> 00:46:53,520
if you can be killed or not. Right. And so like, like, like that's, that's what I mean as far as

552
00:46:53,520 --> 00:46:59,200
like, there's this whole like architecture and like series of patterns that the application developer

553
00:46:59,200 --> 00:47:04,080
does need to care about beyond like, you know, how do I get networking to work?

554
00:47:04,080 --> 00:47:09,200
Right. And then it actually gets worse. Right. Because when you first started, you're like,

555
00:47:09,200 --> 00:47:13,520
okay, I think I figured out this model. Right. And then someone says, how do I do this? 12 factor

556
00:47:13,520 --> 00:47:18,080
apps, have a good time. I'll see you later. Right. But then, you know, in the real world,

557
00:47:18,080 --> 00:47:24,400
it's totally different. Right. It's like, well, you know, my, I have an application that if you

558
00:47:24,400 --> 00:47:28,160
change its IP address, when it gets killed in a pod and come somewhere else, like it totally

559
00:47:28,160 --> 00:47:32,160
isn't set up. Right. Right. Right. Exactly. Because now you're doing stuff in the real world

560
00:47:32,160 --> 00:47:36,000
and it's totally different. Right. And it's like, hey, I know we said no, no state.

561
00:47:37,600 --> 00:47:43,360
All my apps use state, you know, and then it's like, well, oh, now what do we do? Right. And

562
00:47:43,360 --> 00:47:47,360
then it started from like, okay, you know, this is the model it's going to fit. But after a while,

563
00:47:47,360 --> 00:47:51,280
as certain patterns started to use and people started to use it in anger, all of a sudden,

564
00:47:51,280 --> 00:47:55,760
someone was like, you know, stateful sets might be a good idea. Right. When I first started,

565
00:47:55,760 --> 00:47:59,200
everyone's like, no, no, never databases, never databases. That's what, what are you doing?

566
00:47:59,200 --> 00:48:03,200
Yeah. Now, now you can hang out with like a Josh Berkus and he's like, hey,

567
00:48:03,200 --> 00:48:06,000
check out all these things I can do with databases that I get in Kubernetes.

568
00:48:07,200 --> 00:48:10,160
And this actually solves problems for a lot of people. And you're like, you know what?

569
00:48:10,160 --> 00:48:14,400
I think you convinced me. Yeah, I get it. So I think there's this like kind of meme where it's like,

570
00:48:14,400 --> 00:48:18,720
guess what? Everybody, we're rewriting the entire world of micros and go microservices or whatever.

571
00:48:18,720 --> 00:48:24,160
It's like, no, you know, but I think you've seen the project adapt

572
00:48:24,160 --> 00:48:26,960
to, to things like that. But I think we're,

573
00:48:27,680 --> 00:48:31,920
it's an area that's still very much like the situation is still developing. I could give you

574
00:48:31,920 --> 00:48:38,320
so many tools that are in this space that the questions aren't answered yet. And

575
00:48:38,320 --> 00:48:41,920
this is always my favorite time too. And like an ecosystem and open source project,

576
00:48:41,920 --> 00:48:46,640
you have tons of tools. Nobody really knows what the right answer is. People tend to gravitate

577
00:48:46,640 --> 00:48:51,120
towards big ones, you know, and then just kind of watching to see how the situation develops

578
00:48:51,120 --> 00:48:57,120
is the exciting part right now for everyone, except the enterprise. He's like watching to see what

579
00:48:57,120 --> 00:49:06,000
happens. Right. Um, so I think, I think this kind of like, um, accelerated like evolution,

580
00:49:06,640 --> 00:49:13,360
you know, seeing which organisms will, will thrive in this specific ecosystem is interesting because I,

581
00:49:13,360 --> 00:49:18,800
if you would have asked me a few years ago, you know, Hey, I have a PHP monolith app at work.

582
00:49:18,800 --> 00:49:22,560
I was like, man, I don't know how we're going to, you know,

583
00:49:22,560 --> 00:49:26,240
what we're going to do about that. Right. I ain't got nothing for you. I mean,

584
00:49:26,240 --> 00:49:31,600
yeah, you know, like, but now you see people just kind of, oh, there's my son.

585
00:49:32,160 --> 00:49:36,880
Yeah. Like now you kind of see people saying, you know what? I took this pattern. I took this

586
00:49:36,880 --> 00:49:41,120
pattern from Kubernetes and I'm running a thing that no one, you know, and you kind of look at

587
00:49:41,120 --> 00:49:45,040
it and be like, oh, it's really interesting. And then this, these are always the best talks at

588
00:49:45,040 --> 00:49:48,720
KubeCon because it's always like, here's what we learned. And here's what we broke. And it's

589
00:49:48,720 --> 00:49:53,280
always a bunch of things that are unexpected. And that kind of helps just push the state of the

590
00:49:53,280 --> 00:49:58,960
art forward when it comes to like data center. Like we make data center operating systems.

591
00:49:58,960 --> 00:50:03,120
Yeah. Yeah. No, that's, that's what, that's what I'm, I'm, I'm like, uh, looking forward

592
00:50:03,120 --> 00:50:11,040
to over the next year is like how, how the Kubernetes world product manages application developers to

593
00:50:11,040 --> 00:50:15,920
put it in one way. Right. In the sense of like, like, there's all of these sort of like needs that

594
00:50:15,920 --> 00:50:20,400
that we're discovering and, and nice things that we can do for application developers and

595
00:50:20,400 --> 00:50:27,120
the people and the enterprises or organizations they're working on behalf of. And so, uh, so we

596
00:50:27,120 --> 00:50:34,560
should do that. Oh, uh, well, I think that's my signal that it's time to end this live broadcast.

597
00:50:34,560 --> 00:50:41,120
Hi. And, uh, these, these are my kids here. Uh, but, uh, yeah, thanks for being on that. That was,

598
00:50:41,120 --> 00:50:45,280
I feel, I feel like I've gotten pretty smart on this. And, uh, so if people wanted to, uh, uh,

599
00:50:45,280 --> 00:50:50,800
in a very non-creepy way, find you on the internet and see what's going on, what, what would you see?

600
00:50:50,800 --> 00:50:57,360
CasterJO on Twitter. Um, if you go to kates.dev, k-8s.dev, you can go in there and you'll see the

601
00:50:57,360 --> 00:51:01,600
list of all the things that get started. We have contributor guides, we have documentation.

602
00:51:01,600 --> 00:51:06,320
Uh-huh. If you find yourself lost, you could just always ping some, ping me on Twitter, ping me on

603
00:51:06,320 --> 00:51:10,000
something. We can get you started. Uh, like I said, you don't have to be a hacker. You don't have

604
00:51:10,000 --> 00:51:14,560
to be a developer. In fact, those, those kinds of other skills that you have, program management,

605
00:51:14,560 --> 00:51:19,120
technical writing, all that stuff. We love it. We, we have, we have people whose contributions are

606
00:51:19,120 --> 00:51:24,880
like, you know what? I, I'm really good at like helping managing Slack channels, you know?

607
00:51:24,880 --> 00:51:31,120
We have 100,000 people on our Slack. So, so basically that's a, that's a real job. That's

608
00:51:31,120 --> 00:51:36,800
a need that the project needs. Right. And it's not, you know, it's not, it doesn't make it unimportant.

609
00:51:36,800 --> 00:51:40,720
You know what I mean? The machine needs to keep going. And if one part breaks down,

610
00:51:40,720 --> 00:51:46,240
the whole thing slows down. So, so everybody's important. There is no, there, there's nothing

611
00:51:46,240 --> 00:51:51,360
to be left on the floor as far as energy that people want to expend to help out. Exactly.

612
00:51:51,360 --> 00:51:55,840
So let's see, we, we, we've come up with, uh, we got four parts of the community, how, how the,

613
00:51:55,840 --> 00:52:01,600
how the, the, the, the sort of internally focused people like organize around how the, uh, a little

614
00:52:01,600 --> 00:52:08,320
bit of how, um, the Kubernetes community kind of like works beneficially with the, the vendor world.

615
00:52:08,720 --> 00:52:13,680
And then, and then we've got the, the kind of, as you were kind of saying the, the solidification,

616
00:52:13,680 --> 00:52:17,200
is that how you say it? Solidification? That sounds like one of those words I might make up.

617
00:52:17,200 --> 00:52:17,600
That sounds right.

618
00:52:17,600 --> 00:52:23,520
Yeah. The, the, the solidification of the, the platform builder operator role,

619
00:52:23,520 --> 00:52:29,200
which, which I think was almost kind of not as explicit as it, as it could have been in early

620
00:52:29,200 --> 00:52:33,680
years, but now it's very explicit and it makes a lot of sense. And then we got our application

621
00:52:33,680 --> 00:52:38,240
developers and, uh, and then more importantly, uh, there's all sorts of things to help out with.

622
00:52:38,240 --> 00:52:43,040
You just go to, uh, kates.dev and you can, uh, start to get involved. And it seems like

623
00:52:45,200 --> 00:52:49,920
the best way to figure out contributing and getting involved in the kind of the core of it is just

624
00:52:49,920 --> 00:52:56,240
like, just, uh, as they like to say, show up at meetings and, and, uh, people are pretty interested

625
00:52:56,240 --> 00:52:57,600
in, uh, getting help from that.

626
00:52:58,160 --> 00:53:02,080
I can't tell you the amount of people who were just like, you know, I started fixing a little bug

627
00:53:02,080 --> 00:53:05,040
and then I get, and then I went to a meeting and the next thing you know, you get a KubeCon,

628
00:53:05,040 --> 00:53:08,880
you're making friends, you're having a good time. Uh, the community is very inclusive,

629
00:53:08,880 --> 00:53:14,880
is very friendly. We pride ourselves in like, you know, taking the time to, to, to mentor people

630
00:53:14,880 --> 00:53:18,800
and to bring them in, you know, and that's something, that's just something that's great.

631
00:53:18,800 --> 00:53:23,040
And I, I think that's like Kubernetes has brought software to the world and I think that's good,

632
00:53:23,040 --> 00:53:26,960
but kind of, you know, and Kubernetes wasn't the first to do this. Right. And it won't be the last,

633
00:53:26,960 --> 00:53:32,800
but the whole idea of, you know, forming a friendly, inclusive community that is trying to solve a

634
00:53:32,800 --> 00:53:40,800
problem, you know, in a, in a way that's fun and helpful and, uh, fulfilling to the people who

635
00:53:40,800 --> 00:53:45,840
contribute, right. Not just, Hey, we're making a product. Yay. Like, you know? Yeah. I mean,

636
00:53:45,840 --> 00:53:49,680
maybe as one last bonus thing, you know, in, in writing instructions, they're always telling you

637
00:53:49,680 --> 00:53:54,640
in your conclusion, you should add an unexpected delight to someone, which seems like, you know,

638
00:53:54,640 --> 00:53:59,760
I've always found the problem in like reading, uh, reading, like tips on writing is it's one of

639
00:53:59,760 --> 00:54:04,880
those things where like, once you tell people the tricks, they're no longer delightful. But anyways,

640
00:54:05,760 --> 00:54:10,320
like I'm stealing that. I'm totally stealing. Anyhow, uh, that, you know, I hadn't thought

641
00:54:10,320 --> 00:54:14,480
about it until you mentioned it, but there is a certain like funness to the Kubernetes community that

642
00:54:14,480 --> 00:54:20,080
has existed in other open source communities, but not that many. And, and it's, it's almost like,

643
00:54:20,960 --> 00:54:27,680
it's almost like what, what is the word? That's the, the positive version of flippant,

644
00:54:27,680 --> 00:54:32,320
like the tone of adventure time, right? The tone of like adventure time is not like cynical,

645
00:54:32,320 --> 00:54:36,400
right. But it's very like, there's people who've been around, you know, and then we're,

646
00:54:36,400 --> 00:54:40,560
and I've known them for years in other open source projects. And, you know, we,

647
00:54:40,560 --> 00:54:43,680
I've sat there and had conversations. I just having one with Clint Byram, you know,

648
00:54:43,680 --> 00:54:46,560
and him and I go way back, lots of open source projects. And I was like,

649
00:54:47,600 --> 00:54:51,920
if we could only go back and tell ourselves how to do it this way, think about how much

650
00:54:52,720 --> 00:54:57,520
less gray hair we would have. I would have some like, and, and that's the thing now it's like,

651
00:54:57,520 --> 00:55:00,400
we learned these lessons, people like Clint and I learned these lessons.

652
00:55:01,120 --> 00:55:04,720
And now we see these new young people who are starting their careers. Right.

653
00:55:04,720 --> 00:55:05,520
Right. Right. Right.

654
00:55:06,720 --> 00:55:11,520
If I can start them here, you know what I'm saying? If we can save everybody, the famous,

655
00:55:11,520 --> 00:55:16,160
you know, getting flamed on a mailing list thing, where are we going to be in five,

656
00:55:16,160 --> 00:55:21,360
10 years from now? And then like, you know, that ties into the sustainability thing. So I, you know,

657
00:55:21,360 --> 00:55:26,080
from a professional, you know, leave a place better than when I found it, you know,

658
00:55:26,080 --> 00:55:28,400
in my brain, I'm starting to think out there, you know,

659
00:55:28,400 --> 00:55:32,560
when I was young and getting started in this and listening to podcasts and figuring out how I was

660
00:55:32,560 --> 00:55:38,400
going to do stuff. You know, there's someone out there who's looking for something to do and has

661
00:55:38,400 --> 00:55:43,440
the skills or wants to learn the skills and open sources. We've had people who've grown up in the

662
00:55:43,440 --> 00:55:48,000
project. There's a, there's a kid, he started on the project when he was like 14. He had to bring

663
00:55:48,000 --> 00:55:53,360
his dad to the conferences because he wasn't old enough to travel by himself. Right. And then we got

664
00:55:53,360 --> 00:55:57,920
to know his, his dad's like part of the project now. Right. Like we, you know, he's 18 now and

665
00:55:58,400 --> 00:56:03,360
you know, I could tell you so many people that started earlier in their careers and things like

666
00:56:03,360 --> 00:56:07,920
that. And for those of us that have kind of been around for a while, it's just, I kind of feel that

667
00:56:07,920 --> 00:56:12,080
that gives us purpose, you know, to kind of, yeah, this is where we're going to start you off.

668
00:56:12,080 --> 00:56:15,840
So you don't have to go through all the things that we did and then, but you can learn the lessons.

669
00:56:15,840 --> 00:56:20,400
So like a lot of the stuff Kubernetes is just built on the shoulders of giants. And I think it's awesome

670
00:56:20,400 --> 00:56:26,400
that the early founders of the project and the early community people looked at all the things that worked in

671
00:56:26,560 --> 00:56:33,280
projects and kind of kind of wrapped it all together. And then you see this kind of, I used to call it

672
00:56:33,280 --> 00:56:37,120
the kind of Kubernetes way, but it's kind of the cloud native way, right? You can go to another

673
00:56:37,120 --> 00:56:41,680
cloud native project that isn't Kubernetes and related and meet the same kind of people. And they

674
00:56:41,680 --> 00:56:47,840
have the same kind of, you know, friendliness and openness. And when it, you know, if you're sitting

675
00:56:47,840 --> 00:56:51,360
in a group and a new person approaches you, you open the, you know, and you bring them in. Hey,

676
00:56:51,360 --> 00:56:55,280
how are you? Just these kind of little things that aren't even, they're not even,

677
00:56:55,280 --> 00:56:58,080
it doesn't even make the webpage.

678
00:56:58,080 --> 00:57:03,120
Yeah, yeah, yeah. No, no, no. I mean, all of that. Yeah, no, it is. It's, it's, it's like the,

679
00:57:03,120 --> 00:57:08,640
the, that community is the most recent big community to try to evolve and improve the idea

680
00:57:08,640 --> 00:57:13,920
of how open source community works. Yeah. All right. Well, great. Well, well, this is,

681
00:57:13,920 --> 00:57:18,800
this is exactly what I was looking for now. Uh, if this is your, if you've actually watched this far,

682
00:57:18,800 --> 00:57:23,840
dear listener, watcher, and you don't know what's happening. This is, this is, uh, as I was explaining

683
00:57:23,840 --> 00:57:29,840
earlier, this is a multi-headed, uh, Tanzu talk, uh, thing. This may be a podcast. You might be

684
00:57:29,840 --> 00:57:33,920
seeing it right now as a live stream, or maybe you're seeing the replay on the recorded YouTube

685
00:57:33,920 --> 00:57:39,200
thing, but we should do either way is definitely, uh, if you're interested in like seeing more of

686
00:57:39,200 --> 00:57:44,080
this type of stuff, if you go to, uh, twitch.tv slash VMware Tanzu, we've got all sorts of shows

687
00:57:44,080 --> 00:57:48,960
going on. And, uh, you can also just subscribe to a podcast if you like Tanzu talk, but you don't

688
00:57:48,960 --> 00:57:54,000
get all the shows. And then, uh, as always, well, we'll see how long this goes on, but like more or

689
00:57:54,000 --> 00:57:59,680
less during the weekdays, I'm here in Amsterdam. So I do a daily, uh, sort of thing. Tanzu talk live,

690
00:57:59,680 --> 00:58:05,120
if you will, at 11 a.m. Central European time. I don't know if it's daylight savings or not. I lose

691
00:58:05,120 --> 00:58:10,800
track of what that even means, but, uh, you know, basically if you're in Europe and not in the Canary

692
00:58:10,800 --> 00:58:19,760
Islands or the UK, I think it's 11 a.m. as I recall. And so, uh, with that, thanks again,

693
00:58:19,760 --> 00:58:22,800
and we'll see everyone next time. Thanks for having me. Thank you.
