WEBVTT

1
00:00:01.080 --> 00:00:03.000
<v Speaker 1>How'd you like to listen to dot net rocks with

2
00:00:03.080 --> 00:00:07.879
<v Speaker 1>no ads? Easy? Become a patron for just five dollars

3
00:00:07.919 --> 00:00:10.800
<v Speaker 1>a month. You get access to a private RSS feed

4
00:00:10.839 --> 00:00:14.279
<v Speaker 1>where all the shows have no ads. Twenty dollars a month,

5
00:00:14.279 --> 00:00:16.879
<v Speaker 1>we'll get you that and a special dot net Rocks

6
00:00:16.960 --> 00:00:21.000
<v Speaker 1>patron mug. Sign up now at Patreon dot dot NetRocks

7
00:00:21.120 --> 00:00:36.000
<v Speaker 1>dot com. Hey, welcome back to dot net rocks. I'm

8
00:00:36.079 --> 00:00:38.960
<v Speaker 1>Carl Franklin at Amateur Cable, and we're here doing the

9
00:00:39.000 --> 00:00:40.880
<v Speaker 1>thing with the stuff. You know what, we like it.

10
00:00:40.920 --> 00:00:43.439
<v Speaker 1>I think I might make a write a song called

11
00:00:43.439 --> 00:00:45.159
<v Speaker 1>the Thing with this Stuffing with the stuff. It's just

12
00:00:45.240 --> 00:00:51.799
<v Speaker 1>so so useful in everyday conversation because you know, it's

13
00:00:51.960 --> 00:00:55.119
<v Speaker 1>just what it says, is you know that whole context,

14
00:00:55.159 --> 00:00:57.520
<v Speaker 1>the thing we've been talking about lately. Yeah, that's what

15
00:00:57.560 --> 00:00:57.960
<v Speaker 1>I'm doing.

16
00:00:58.000 --> 00:01:00.759
<v Speaker 2>The thing that's the thing with the stuff and the stuffy.

17
00:01:00.960 --> 00:01:02.759
<v Speaker 2>Definitely need them both. Yeah.

18
00:01:02.920 --> 00:01:04.959
<v Speaker 1>Now, if you just walk down the stairs in the

19
00:01:04.959 --> 00:01:06.760
<v Speaker 1>morning and say you got to do the thing with

20
00:01:06.799 --> 00:01:09.599
<v Speaker 1>the stuff, now there's a problem because there's no context.

21
00:01:09.719 --> 00:01:12.480
<v Speaker 2>But if we've been there yet, all right anyway, so

22
00:01:14.120 --> 00:01:17.959
<v Speaker 2>you put just fully in the bit, right fully how

23
00:01:17.959 --> 00:01:21.840
<v Speaker 2>are you man's puppy. You know, she's a chaos monkey.

24
00:01:21.959 --> 00:01:25.000
<v Speaker 2>She's head there and you but uh, you know it's

25
00:01:25.079 --> 00:01:28.040
<v Speaker 2>very good. Yeah, I'm not. You know, I'm not unhappy

26
00:01:28.040 --> 00:01:29.599
<v Speaker 2>to have a dog around. I didn't need to have

27
00:01:29.640 --> 00:01:30.159
<v Speaker 2>a dog around.

28
00:01:30.200 --> 00:01:30.799
<v Speaker 1>Of course you're not.

29
00:01:31.480 --> 00:01:34.159
<v Speaker 2>But most people will know that animals adore me, and

30
00:01:34.319 --> 00:01:37.519
<v Speaker 2>this one does too. So yeah, we all get along

31
00:01:37.640 --> 00:01:41.079
<v Speaker 2>just fine. We'll see, you know, with the grandchild coming up.

32
00:01:41.239 --> 00:01:44.200
<v Speaker 2>You know, we got a bit of a hurting dog here.

33
00:01:44.280 --> 00:01:47.920
<v Speaker 2>My goal is that this dog annoys the grandchild so

34
00:01:48.000 --> 00:01:50.879
<v Speaker 2>much because won't let her near the ocean. I want

35
00:01:50.920 --> 00:01:55.000
<v Speaker 2>this kid to say, Grandpa, Joe, Joe won't let me

36
00:01:55.000 --> 00:01:58.079
<v Speaker 2>get near the ocean, And I'll say, that'll do, dog,

37
00:01:59.120 --> 00:02:00.359
<v Speaker 2>that'll do. All right.

38
00:02:00.400 --> 00:02:03.560
<v Speaker 1>Well, let's roll along right into better no frameworks awesome.

39
00:02:12.080 --> 00:02:14.360
<v Speaker 1>I know we're talking about open source today, but I

40
00:02:14.400 --> 00:02:18.199
<v Speaker 1>found a GitHub repo that is trending and it turns

41
00:02:18.240 --> 00:02:19.120
<v Speaker 1>out this is kind.

42
00:02:19.000 --> 00:02:20.719
<v Speaker 2>Of a hub who uses get hub.

43
00:02:21.560 --> 00:02:25.719
<v Speaker 1>Yeah, I know this is actually on GitHub marketplace, so

44
00:02:26.400 --> 00:02:29.360
<v Speaker 1>it's not really an OSS thing, but it is on

45
00:02:29.439 --> 00:02:32.039
<v Speaker 1>GitHub and it is trending. And I noticed this because

46
00:02:32.039 --> 00:02:36.599
<v Speaker 1>when I looked at the list like translation systems seem

47
00:02:36.719 --> 00:02:39.199
<v Speaker 1>to be very much in demand right now.

48
00:02:39.319 --> 00:02:42.120
<v Speaker 2>Yeah, you know, especially with a on the new LLM

49
00:02:42.159 --> 00:02:45.120
<v Speaker 2>tools are just tokenization of language has led to better

50
00:02:45.159 --> 00:02:46.319
<v Speaker 2>translators without a doubt.

51
00:02:46.439 --> 00:02:48.759
<v Speaker 1>Yeah, well this one is a little bit different. So

52
00:02:48.800 --> 00:02:52.639
<v Speaker 1>this is PO editor, and it does have a free version,

53
00:02:52.719 --> 00:02:54.879
<v Speaker 1>but then you got to pay for more use, right,

54
00:02:54.960 --> 00:02:56.759
<v Speaker 1>So it's a sort of a try before you buy

55
00:02:56.840 --> 00:02:59.680
<v Speaker 1>kind of thing. But here's here's what it is, and

56
00:02:59.719 --> 00:03:03.199
<v Speaker 1>I'm just reading. It's a PO editor is a highly

57
00:03:03.240 --> 00:03:10.000
<v Speaker 1>scalable translation management system and localization platform. So it's an

58
00:03:10.039 --> 00:03:14.520
<v Speaker 1>online collaboration environment for the entire localization team. But you

59
00:03:14.520 --> 00:03:17.159
<v Speaker 1>don't need a team. So here's how. There's a couple

60
00:03:17.159 --> 00:03:19.599
<v Speaker 1>of options of how you can use this. You can

61
00:03:19.680 --> 00:03:23.960
<v Speaker 1>assign translators to specific languages by adding them as contributors.

62
00:03:24.840 --> 00:03:29.120
<v Speaker 1>You can crowdsource translations from your community using public projects

63
00:03:29.120 --> 00:03:34.400
<v Speaker 1>because it integrates with GitHub. You can order professional human

64
00:03:34.439 --> 00:03:37.800
<v Speaker 1>translation services from one of their partners, or you can

65
00:03:37.919 --> 00:03:43.360
<v Speaker 1>use machine translation or any combination of those things. And

66
00:03:43.400 --> 00:03:47.000
<v Speaker 1>so it supports all sorts of different file formats.

67
00:03:46.520 --> 00:03:48.319
<v Speaker 2>Which is what you need, right. You want all that

68
00:03:48.919 --> 00:03:52.080
<v Speaker 2>all that text, all that sourcing in centralized formats, so

69
00:03:52.080 --> 00:03:53.199
<v Speaker 2>it can be swapped out.

70
00:03:53.120 --> 00:03:55.479
<v Speaker 1>Right or even in multiple formats. If you have a

71
00:03:55.599 --> 00:03:58.879
<v Speaker 1>dot net application, you have something that doesn't read Jason,

72
00:03:59.039 --> 00:04:02.680
<v Speaker 1>it needs to read Angular XMB files or something.

73
00:04:02.439 --> 00:04:04.800
<v Speaker 2>You're making iOS and Android and you want to do

74
00:04:04.840 --> 00:04:07.240
<v Speaker 2>translation as well. Those are different file formats. Man.

75
00:04:07.319 --> 00:04:10.520
<v Speaker 1>Yeah, yeah, that's right. It even supports any files. Oh boy,

76
00:04:10.639 --> 00:04:11.319
<v Speaker 1>how about that.

77
00:04:11.639 --> 00:04:13.240
<v Speaker 2>I don't know. That is a good thing. But okay,

78
00:04:13.719 --> 00:04:14.159
<v Speaker 2>I don't know.

79
00:04:14.639 --> 00:04:17.240
<v Speaker 1>I don't know, Rob, how do you feel about any files?

80
00:04:18.360 --> 00:04:20.839
<v Speaker 3>I have a custom XMEL format that I remember we

81
00:04:20.879 --> 00:04:23.160
<v Speaker 3>did work when I was in office to make sure

82
00:04:23.160 --> 00:04:24.959
<v Speaker 3>it could ship over to Ireland where we did all

83
00:04:24.959 --> 00:04:28.360
<v Speaker 3>our translation and come back. So I hope that they

84
00:04:28.360 --> 00:04:31.040
<v Speaker 3>have access to or have the ability to support WXL

85
00:04:31.079 --> 00:04:33.480
<v Speaker 3>files because that's what we use for all our stuff.

86
00:04:34.160 --> 00:04:37.240
<v Speaker 1>I don't let me look down the list. I don't

87
00:04:37.279 --> 00:04:38.800
<v Speaker 1>see WXL files.

88
00:04:38.920 --> 00:04:41.120
<v Speaker 2>No, I don't see WXL. I means it.

89
00:04:41.560 --> 00:04:44.600
<v Speaker 1>I see XML files, but I see XML, but it's XML.

90
00:04:44.680 --> 00:04:47.160
<v Speaker 3>So most people be like, yeah, this parts translated, this parts,

91
00:04:47.160 --> 00:04:47.800
<v Speaker 3>and ID go.

92
00:04:48.040 --> 00:04:48.800
<v Speaker 2>Yeah, nice.

93
00:04:48.879 --> 00:04:50.600
<v Speaker 1>Well anyway, so that's where it is, and right on

94
00:04:50.680 --> 00:04:53.319
<v Speaker 1>there you get it for free. You can get three

95
00:04:53.319 --> 00:04:58.319
<v Speaker 1>thousand strings and then medium projects and premium and enterprise.

96
00:04:58.439 --> 00:04:59.720
<v Speaker 1>You can go all the way up to a couple

97
00:04:59.720 --> 00:05:05.240
<v Speaker 1>of files a year. So that's awesome. That's it. It's

98
00:05:05.360 --> 00:05:08.399
<v Speaker 1>just interesting. How you know these two, this one and

99
00:05:08.439 --> 00:05:10.959
<v Speaker 1>the one I showed last week, we're right at the

100
00:05:10.959 --> 00:05:14.720
<v Speaker 1>top of the list of trending GitHub projects.

101
00:05:14.720 --> 00:05:15.120
<v Speaker 2>Interesting.

102
00:05:15.319 --> 00:05:18.480
<v Speaker 1>So well, that's what I got. Richard, who's talking to

103
00:05:18.560 --> 00:05:19.000
<v Speaker 1>us today.

104
00:05:19.560 --> 00:05:22.279
<v Speaker 2>I'm going into the wayback machine here and grabbing.

105
00:05:22.480 --> 00:05:22.680
<v Speaker 3>Yeah.

106
00:05:23.839 --> 00:05:26.199
<v Speaker 2>Rob's first show, the one we did back in March

107
00:05:26.240 --> 00:05:29.680
<v Speaker 2>at twenty twelve, episode seven four seven, so only twelve

108
00:05:29.839 --> 00:05:33.680
<v Speaker 2>hundred episodes ago or so. Wow, talking about the Wicks

109
00:05:33.759 --> 00:05:36.439
<v Speaker 2>tool Set, which had a ton of comments on it,

110
00:05:36.480 --> 00:05:40.879
<v Speaker 2>really like sixteen eighteen something like that. Yeah, and one

111
00:05:40.920 --> 00:05:43.040
<v Speaker 2>of them is from Timothy Klink in a mid at

112
00:05:43.079 --> 00:05:44.040
<v Speaker 2>least from thirteen years ago.

113
00:05:44.199 --> 00:05:47.040
<v Speaker 1>Oh wait a minute. We should differentiate between WIS the

114
00:05:47.680 --> 00:05:52.160
<v Speaker 1>popular web development environment. I know Rob is shaking his

115
00:05:52.240 --> 00:05:54.720
<v Speaker 1>head like, oh my god, these guys ruined my life.

116
00:05:54.800 --> 00:05:56.319
<v Speaker 2>Yeah, who stole your name? Man?

117
00:05:56.639 --> 00:05:59.560
<v Speaker 1>And but WIS that Rob did is a set of

118
00:05:59.560 --> 00:06:01.600
<v Speaker 1>tools for building Windows installation packages.

119
00:06:01.800 --> 00:06:03.600
<v Speaker 3>The Wix tool Set is what we call it to

120
00:06:03.639 --> 00:06:05.879
<v Speaker 3>avoid all the legal problems there, right, Yeah, may or

121
00:06:05.920 --> 00:06:08.879
<v Speaker 3>may not exist that we have never investigated. No never, never,

122
00:06:08.920 --> 00:06:11.639
<v Speaker 3>help don't want to under We call it the Wicks toolset,

123
00:06:11.720 --> 00:06:13.000
<v Speaker 3>and then you could call it Wix and all the

124
00:06:13.079 --> 00:06:15.519
<v Speaker 3>lawyers at Microsoft HILP come toool it that way back when.

125
00:06:15.560 --> 00:06:18.000
<v Speaker 1>Yeah, there you go, all right, so sorry to interrupt.

126
00:06:18.000 --> 00:06:19.800
<v Speaker 2>So that's all that problem. So, yeah, it was an installer.

127
00:06:19.839 --> 00:06:22.680
<v Speaker 2>And this is what exactly where Tim clinkwaed where you

128
00:06:22.680 --> 00:06:24.000
<v Speaker 2>said this is a great show. I was doing a

129
00:06:24.040 --> 00:06:27.160
<v Speaker 2>lot of nodding during the discussion. And how still today

130
00:06:27.199 --> 00:06:30.639
<v Speaker 2>many people dismiss how critically important a good installation package is.

131
00:06:31.120 --> 00:06:34.360
<v Speaker 2>It's all about the first impressions. The user's first impression

132
00:06:34.360 --> 00:06:36.079
<v Speaker 2>of your app does not begin when they double click

133
00:06:36.120 --> 00:06:38.399
<v Speaker 2>the desktop short top of the first time begins when

134
00:06:38.439 --> 00:06:41.920
<v Speaker 2>they double click set up XM. I was reminded of

135
00:06:41.920 --> 00:06:43.800
<v Speaker 2>his story a long time ago about an applicant to

136
00:06:43.879 --> 00:06:47.639
<v Speaker 2>Harvard Paper clipping a dollar bill to their application along

137
00:06:47.680 --> 00:06:49.720
<v Speaker 2>with a short note. The note requests of the reviewer

138
00:06:49.720 --> 00:06:53.360
<v Speaker 2>go get a donut, take a break, relax, and get

139
00:06:53.399 --> 00:06:56.120
<v Speaker 2>into their happy place before they read the application.

140
00:06:56.560 --> 00:06:57.120
<v Speaker 1>That's great.

141
00:06:57.240 --> 00:06:59.959
<v Speaker 2>A good installation package is like this. It's a dope.

142
00:07:02.360 --> 00:07:05.120
<v Speaker 2>It we'll set the user's mood to frustrated or happy

143
00:07:05.120 --> 00:07:08.040
<v Speaker 2>place prior to them clicking on your applications debtstop icon

144
00:07:08.240 --> 00:07:12.639
<v Speaker 2>for the first time. Legit absolutely and that's an old comment,

145
00:07:12.680 --> 00:07:14.800
<v Speaker 2>too right. It's an old comment. It is so right.

146
00:07:14.879 --> 00:07:18.560
<v Speaker 2>It's still writes today by a mile. It's still true, Tiffyth.

147
00:07:18.680 --> 00:07:20.120
<v Speaker 2>Thank you so much for your comment. In a copy

148
00:07:20.120 --> 00:07:21.560
<v Speaker 2>of music, Coby. It's on its way to you. And

149
00:07:21.560 --> 00:07:22.959
<v Speaker 2>if you'd like a copy of music go buy. I

150
00:07:23.000 --> 00:07:24.759
<v Speaker 2>write a comment on the website at dot at rocks

151
00:07:24.800 --> 00:07:27.399
<v Speaker 2>dot com or on the facebooks. We publish every show there,

152
00:07:27.399 --> 00:07:28.759
<v Speaker 2>and if I comment there and every reading on the show,

153
00:07:28.759 --> 00:07:30.040
<v Speaker 2>we'll send you copy music to go buy.

154
00:07:30.079 --> 00:07:32.199
<v Speaker 1>And you can get music to Koby music to code

155
00:07:32.199 --> 00:07:34.800
<v Speaker 1>by dot net and that is a u r L

156
00:07:34.920 --> 00:07:37.600
<v Speaker 1>DNS entry, so don't put hgdps in front of it.

157
00:07:38.120 --> 00:07:41.560
<v Speaker 1>And that brings you to another place where you can

158
00:07:41.839 --> 00:07:44.319
<v Speaker 1>listen to a sample and get track twenty two or

159
00:07:44.360 --> 00:07:49.879
<v Speaker 1>the entire collection rob before we get started here. When

160
00:07:49.959 --> 00:07:54.680
<v Speaker 1>Richard was reading that, I was reminded of Mark Miller's

161
00:07:55.240 --> 00:07:59.839
<v Speaker 1>new invention that he unleashed unveiled on Mondays, which was

162
00:08:00.000 --> 00:08:02.839
<v Speaker 1>called the install Buddy and so the install buddy, when

163
00:08:02.839 --> 00:08:06.240
<v Speaker 1>you're running an installer, it's in the background and it's

164
00:08:06.279 --> 00:08:11.279
<v Speaker 1>just clicking next, next, next, next, next, next, next, next, finish.

165
00:08:11.360 --> 00:08:12.000
<v Speaker 2>That's awesome.

166
00:08:12.839 --> 00:08:16.560
<v Speaker 3>That's awesome. So I have a rebuttle to that if

167
00:08:16.560 --> 00:08:17.120
<v Speaker 3>you care.

168
00:08:17.000 --> 00:08:18.279
<v Speaker 1>But yeah, sure, why not.

169
00:08:20.079 --> 00:08:24.040
<v Speaker 3>I appreciate the sentiment one hundred percent, And we actually

170
00:08:24.639 --> 00:08:27.399
<v Speaker 3>talk to our customers a lot about minimizing the amount

171
00:08:27.399 --> 00:08:29.720
<v Speaker 3>of input that you have to put in install Again,

172
00:08:29.839 --> 00:08:31.879
<v Speaker 3>first impression, let's get to the product. That's where they

173
00:08:31.920 --> 00:08:34.000
<v Speaker 3>want to be. They want to get past your progress

174
00:08:34.000 --> 00:08:36.639
<v Speaker 3>bar and to the end. So to that point, I

175
00:08:36.720 --> 00:08:39.799
<v Speaker 3>one hundred percent agree. Fortunately, the industry has definitely been

176
00:08:39.799 --> 00:08:43.039
<v Speaker 3>moving that direction. Like app installer now is just one button.

177
00:08:44.360 --> 00:08:47.159
<v Speaker 3>But at the same time, a lot of customers that

178
00:08:47.200 --> 00:08:50.240
<v Speaker 3>I work with are large organizations with very large and

179
00:08:50.279 --> 00:08:53.039
<v Speaker 3>complex software, and you're not going to next, next, next

180
00:08:53.039 --> 00:08:55.360
<v Speaker 3>your way through it. There is complex information you have

181
00:08:55.399 --> 00:08:57.519
<v Speaker 3>to provide up front in order to configure it. So

182
00:08:58.120 --> 00:09:01.480
<v Speaker 3>there are different worlds, and we see all kinds in

183
00:09:01.480 --> 00:09:03.960
<v Speaker 3>the insulation space because we see all software in the

184
00:09:04.039 --> 00:09:06.840
<v Speaker 3>slation space, which makes it interesting for me. So yes,

185
00:09:07.000 --> 00:09:09.840
<v Speaker 3>I totally get it next, next, next, except when you

186
00:09:09.919 --> 00:09:11.519
<v Speaker 3>have some really heavy software.

187
00:09:11.679 --> 00:09:14.159
<v Speaker 1>Well it was. It was a joke, so it was funny,

188
00:09:14.159 --> 00:09:16.000
<v Speaker 1>a funny joke, but it did hit all right, So

189
00:09:16.120 --> 00:09:17.279
<v Speaker 1>let me introduce Rob.

190
00:09:17.639 --> 00:09:19.159
<v Speaker 2>Did you want to do nineteen forty eight?

191
00:09:19.240 --> 00:09:21.399
<v Speaker 1>Yes, I do want to do nineteen forty eight before

192
00:09:21.759 --> 00:09:25.679
<v Speaker 1>I introduced Rob officially. Okay, because this is episode nineteen

193
00:09:25.720 --> 00:09:28.039
<v Speaker 1>forty eight. We have been doing this lately. We go

194
00:09:28.120 --> 00:09:30.360
<v Speaker 1>back in history and see, you know, try to summarize

195
00:09:30.399 --> 00:09:31.120
<v Speaker 1>what happened.

196
00:09:30.840 --> 00:09:33.200
<v Speaker 2>Pretty much till we once we got in the nineteen hundred's,

197
00:09:33.240 --> 00:09:36.039
<v Speaker 2>the history part came more. Yeah. Yeah.

198
00:09:36.279 --> 00:09:40.320
<v Speaker 1>So nineteen forty eight was a pivotal year several major events,

199
00:09:40.320 --> 00:09:45.159
<v Speaker 1>including the assassination of Mahatma Gandhi, the declaration of independence

200
00:09:45.159 --> 00:09:48.360
<v Speaker 1>for the State of Israel, and the start of the

201
00:09:48.559 --> 00:09:52.159
<v Speaker 1>Arab Israeli War. It also saw the beginning of the

202
00:09:52.159 --> 00:09:56.519
<v Speaker 1>Berlin Airlift, the US establishing the Marshall planted as I

203
00:09:56.559 --> 00:09:59.360
<v Speaker 1>said last week, to aid post war Europe and the

204
00:09:59.480 --> 00:10:04.320
<v Speaker 1>United States. It's recognizing the state of Israel, which was

205
00:10:04.600 --> 00:10:06.799
<v Speaker 1>it happened at the same you know, in the same year.

206
00:10:07.240 --> 00:10:10.360
<v Speaker 1>Also in the United States, President Truman signed executive Order

207
00:10:10.360 --> 00:10:13.039
<v Speaker 1>in nine to nine to eight one ending racial segregation

208
00:10:13.159 --> 00:10:16.159
<v Speaker 1>in the United States Armed Forces. Do you have anything

209
00:10:16.159 --> 00:10:17.080
<v Speaker 1>to add, Richard.

210
00:10:18.200 --> 00:10:20.840
<v Speaker 2>The land Camera, the Polaroids and Camera nineteen forty eight,

211
00:10:20.879 --> 00:10:27.440
<v Speaker 2>No kidding. Yeah. For Canadians, the Davelin Beaver, the DHC two.

212
00:10:27.519 --> 00:10:32.000
<v Speaker 2>This is a prop plane float typically float planes, the

213
00:10:32.080 --> 00:10:35.000
<v Speaker 2>ultimate bush plane and I flew on one like a

214
00:10:35.039 --> 00:10:37.679
<v Speaker 2>month ago. It's called the Beaver. Yeah. Wow. Of course

215
00:10:37.720 --> 00:10:41.120
<v Speaker 2>in the dash too. Uh and it's like it's a legend,

216
00:10:41.679 --> 00:10:45.080
<v Speaker 2>just an unbelievable machine. Wow. Only made for until in

217
00:10:45.200 --> 00:10:48.960
<v Speaker 2>nineteen sixties, still flying today. And finally, because it is

218
00:10:49.000 --> 00:10:52.519
<v Speaker 2>a tech show, so let's talk about the men Chester Baby,

219
00:10:53.600 --> 00:10:55.840
<v Speaker 2>which was one of the very they arguably the very

220
00:10:55.840 --> 00:10:59.840
<v Speaker 2>first electronic quote stored program computers coming out of World

221
00:10:59.840 --> 00:11:01.840
<v Speaker 2>War Too. There was a lot of computers being built,

222
00:11:02.120 --> 00:11:05.240
<v Speaker 2>but this was a computer that could actually store a

223
00:11:05.279 --> 00:11:08.919
<v Speaker 2>program within it and execute that program. It added thirty

224
00:11:09.039 --> 00:11:11.720
<v Speaker 2>two words of memory of thirty two bits each for

225
00:11:11.759 --> 00:11:14.320
<v Speaker 2>a total of one twenty four bits.

226
00:11:14.559 --> 00:11:15.039
<v Speaker 1>Wow.

227
00:11:15.480 --> 00:11:18.039
<v Speaker 2>Good Lord, and the Baby was the test bed for

228
00:11:18.080 --> 00:11:20.279
<v Speaker 2>the Mark one, which eventually became what they called the

229
00:11:20.320 --> 00:11:24.320
<v Speaker 2>Manchester Ferrante, which was the first commercially available stored program

230
00:11:24.360 --> 00:11:25.080
<v Speaker 2>computer in the world.

231
00:11:25.080 --> 00:11:30.039
<v Speaker 1>Also the first Canadian land cruiser was called the Moose

232
00:11:30.440 --> 00:11:34.360
<v Speaker 1>Nice and the first Canadian boat was called the Otter

233
00:11:34.600 --> 00:11:39.360
<v Speaker 1>and then the sister submersal submersible. Anyway, I kid, you're

234
00:11:39.360 --> 00:11:42.039
<v Speaker 1>making this stuff all right, So let's now let me

235
00:11:42.120 --> 00:11:46.320
<v Speaker 1>finally introduce Rob Officially. Rob MenShing is the CEO and

236
00:11:46.399 --> 00:11:49.799
<v Speaker 1>co founder of fire Giant, a company that provides commercial

237
00:11:49.840 --> 00:11:52.840
<v Speaker 1>support in tools for the Wicks tool set. He's also

238
00:11:53.240 --> 00:11:55.879
<v Speaker 1>the creator and maintainer of Wicks. Of course, we talked

239
00:11:55.879 --> 00:11:58.320
<v Speaker 1>about the most powerful set of tools for running building

240
00:11:58.399 --> 00:12:03.159
<v Speaker 1>Windows installation packages. The Wicks tool set holds the unique

241
00:12:03.159 --> 00:12:06.559
<v Speaker 1>distinction of being the first open source project released by Microsoft,

242
00:12:07.080 --> 00:12:09.519
<v Speaker 1>and Rob has been deeply involved in open source over

243
00:12:09.600 --> 00:12:13.720
<v Speaker 1>twenty five years. He's passionate about making open source sustainable

244
00:12:14.559 --> 00:12:19.480
<v Speaker 1>and his latest proposal, the open Source Maintenance Fee, is

245
00:12:19.600 --> 00:12:24.919
<v Speaker 1>all about creating a better path toward. It is all

246
00:12:24.960 --> 00:12:28.480
<v Speaker 1>about creating a better path forward for projects and their maintainers.

247
00:12:29.080 --> 00:12:32.799
<v Speaker 1>This ought to be really good, Rob, welcome back.

248
00:12:32.720 --> 00:12:34.799
<v Speaker 3>Thank you. I'm looking forward to talking to you guys.

249
00:12:35.039 --> 00:12:38.000
<v Speaker 3>It's I didn't realize that twenty twelve that was that

250
00:12:38.080 --> 00:12:41.840
<v Speaker 3>was easy for show. You had some after that, but yeah,

251
00:12:41.879 --> 00:12:43.440
<v Speaker 3>twenty twelve of you were still a Blue badge.

252
00:12:43.480 --> 00:12:44.600
<v Speaker 2>That's how long ago that was.

253
00:12:45.559 --> 00:12:48.799
<v Speaker 3>Just barely that's right. I started fire Giant twenty thirteen.

254
00:12:49.039 --> 00:12:52.320
<v Speaker 2>Wow, yes, there you go. So it's like it's been

255
00:12:52.600 --> 00:12:55.840
<v Speaker 2>twelve years in fire Giant. But yeah, it's a way back, yeah,

256
00:12:55.919 --> 00:12:56.519
<v Speaker 2>way back moment.

257
00:12:56.559 --> 00:12:59.440
<v Speaker 3>As long as that's kind of throws me off. I

258
00:12:59.480 --> 00:13:01.519
<v Speaker 3>think I've been fire Giant as long as I've been

259
00:13:01.559 --> 00:13:03.519
<v Speaker 3>at Microsoft, as I was at.

260
00:13:03.360 --> 00:13:05.440
<v Speaker 2>Microsoft, as long as your Microsoft n Yeah, and he

261
00:13:05.440 --> 00:13:06.759
<v Speaker 2>still feels like it's your new thing.

262
00:13:07.320 --> 00:13:10.679
<v Speaker 3>Yeah, it feels like a startup. It feels like I've

263
00:13:10.720 --> 00:13:12.919
<v Speaker 3>been doing this for about three years. But when I

264
00:13:12.960 --> 00:13:15.200
<v Speaker 3>look back, we've done more than three years of work,

265
00:13:15.639 --> 00:13:18.600
<v Speaker 3>and I just can't reconcile the two together. So when

266
00:13:18.679 --> 00:13:20.360
<v Speaker 3>you say it's been twelve years, I have to and

267
00:13:20.440 --> 00:13:23.120
<v Speaker 3>go really, I guess, man, we have so much more

268
00:13:23.159 --> 00:13:23.360
<v Speaker 3>to do.

269
00:13:24.679 --> 00:13:26.960
<v Speaker 2>Yeah, it's not like I'm getting the bottom eye to

270
00:13:27.080 --> 00:13:28.399
<v Speaker 2>do list. That's not a thing.

271
00:13:28.799 --> 00:13:33.159
<v Speaker 1>So when did you go solo again? Thirty thirteen twenty.

272
00:13:32.960 --> 00:13:35.559
<v Speaker 3>Right at the beginning. I retired from Microsoft in twenty

273
00:13:35.559 --> 00:13:39.080
<v Speaker 3>twelve and started fire Giant. Fire Giant officially launched in June,

274
00:13:39.559 --> 00:13:41.519
<v Speaker 3>But you know, takes six months to put everything together,

275
00:13:41.600 --> 00:13:45.480
<v Speaker 3>but we had the idea, you know, to begin to

276
00:13:45.600 --> 00:13:46.840
<v Speaker 3>my thirteen I was working towards that.

277
00:13:47.000 --> 00:13:50.559
<v Speaker 1>Yeah, well, when immediately came to mind when I read

278
00:13:50.600 --> 00:13:53.080
<v Speaker 1>your bio. There in the things that you're talking about

279
00:13:53.080 --> 00:13:56.679
<v Speaker 1>for open source, making it sustainable and better, you know,

280
00:13:57.240 --> 00:14:02.039
<v Speaker 1>better prospects for owners of OSS projects. Is that we

281
00:14:02.320 --> 00:14:05.639
<v Speaker 1>is that show that we did at NDC in twenty

282
00:14:05.679 --> 00:14:08.840
<v Speaker 1>twenty two with David Whitney. I was in November twenty

283
00:14:08.879 --> 00:14:12.279
<v Speaker 1>twenty two making open Source Work for Everyone with David Whitney,

284
00:14:13.360 --> 00:14:17.399
<v Speaker 1>and I remember we got into this really cool what

285
00:14:17.480 --> 00:14:21.480
<v Speaker 1>if discussion about what if you know, places like GitHub

286
00:14:22.000 --> 00:14:26.600
<v Speaker 1>would have some sort of pay mechanism built in, so

287
00:14:26.840 --> 00:14:29.159
<v Speaker 1>like write in Visual Studio, you could say, hey, this

288
00:14:29.240 --> 00:14:32.600
<v Speaker 1>is open source, but they would really appreciate your donations

289
00:14:33.039 --> 00:14:36.159
<v Speaker 1>or something like that. Just make it low friction for

290
00:14:36.240 --> 00:14:39.559
<v Speaker 1>people to donate to open source projects. You're nodding your head.

291
00:14:39.759 --> 00:14:42.799
<v Speaker 3>Yeah, there have been ideas in this space for a

292
00:14:42.879 --> 00:14:47.039
<v Speaker 3>long time, and lots of different ideas floating around this space,

293
00:14:47.120 --> 00:14:50.519
<v Speaker 3>which is fantastic because I don't think we're going to

294
00:14:50.639 --> 00:14:53.399
<v Speaker 3>end up with one solution to what do we do

295
00:14:53.440 --> 00:14:56.399
<v Speaker 3>with open source to make it viable for everybody to

296
00:14:56.399 --> 00:14:59.360
<v Speaker 3>continue working in it. So I do believe there are

297
00:14:59.399 --> 00:15:01.799
<v Speaker 3>many different options that we need to consider because there

298
00:15:01.799 --> 00:15:05.840
<v Speaker 3>are many different kinds of projects. And the idea of

299
00:15:05.919 --> 00:15:10.759
<v Speaker 3>having some way to pay maintainers in GitHub was very

300
00:15:10.759 --> 00:15:13.759
<v Speaker 3>present because now they have sponsors, which turned into very

301
00:15:13.840 --> 00:15:16.039
<v Speaker 3>much that even if it's not deeply in a Grandville studio,

302
00:15:17.399 --> 00:15:20.399
<v Speaker 3>it is exactly in that space. So yeah, there's been

303
00:15:20.440 --> 00:15:24.120
<v Speaker 3>lots of thinking and talking about this, and I decided

304
00:15:24.159 --> 00:15:27.200
<v Speaker 3>I had to formalize some of it. So that's why

305
00:15:27.240 --> 00:15:28.960
<v Speaker 3>I want to talk to you today about.

306
00:15:28.799 --> 00:15:30.600
<v Speaker 1>So let's get to it. What are your ideas?

307
00:15:31.519 --> 00:15:33.360
<v Speaker 3>Do you want the history? Do you want the idea first?

308
00:15:34.840 --> 00:15:38.120
<v Speaker 2>That tweet thread is really important, Okay, because it's an

309
00:15:38.240 --> 00:15:41.519
<v Speaker 2>encapsulation of so many projects I've seen.

310
00:15:41.759 --> 00:15:50.360
<v Speaker 3>Yeah, so maintainers. When you're a maintainer of a successful

311
00:15:50.360 --> 00:15:53.600
<v Speaker 3>project for a long term, the world changes a little bit,

312
00:15:54.799 --> 00:15:56.679
<v Speaker 3>the changes for you a little bit. And I have

313
00:15:56.840 --> 00:15:59.279
<v Speaker 3>this theory that I've been developing of there are these

314
00:15:59.320 --> 00:16:01.679
<v Speaker 3>mega projects that people know about, that's the ones they

315
00:16:01.679 --> 00:16:03.960
<v Speaker 3>think of. They usually have corporates running them, and they

316
00:16:04.000 --> 00:16:07.039
<v Speaker 3>have a different way of operating. You have the hobby projects,

317
00:16:07.600 --> 00:16:09.480
<v Speaker 3>I don't have like that term acoungement, but you know,

318
00:16:09.519 --> 00:16:11.480
<v Speaker 3>startup projects, they're just getting off the ground and the

319
00:16:11.480 --> 00:16:14.799
<v Speaker 3>people are still very enthusiastic about what they are, what

320
00:16:14.840 --> 00:16:17.919
<v Speaker 3>they could be, the future is everything ahead of them, right,

321
00:16:17.960 --> 00:16:20.200
<v Speaker 3>and they're just trying to find more users. And that

322
00:16:20.519 --> 00:16:22.840
<v Speaker 3>place is awesome. Then you hit the what I call

323
00:16:22.879 --> 00:16:26.519
<v Speaker 3>the working class projects, where you've usually graduated from being

324
00:16:26.519 --> 00:16:28.960
<v Speaker 3>a hobby project and you've now ended up in a

325
00:16:29.000 --> 00:16:32.120
<v Speaker 3>space where people depend on you, and you take that

326
00:16:32.200 --> 00:16:37.159
<v Speaker 3>responsibility seriously that you have an important piece of the ecosystem.

327
00:16:37.519 --> 00:16:39.679
<v Speaker 3>It's the what is that the Ohio project? You are

328
00:16:39.679 --> 00:16:42.279
<v Speaker 3>that tiny little cog standing up the whole system on

329
00:16:42.360 --> 00:16:45.840
<v Speaker 3>top of you from SKCD, Yeah, you are that little

330
00:16:45.840 --> 00:16:48.120
<v Speaker 3>block and you take it seriously, like this is my project.

331
00:16:50.519 --> 00:16:55.360
<v Speaker 3>And I've been running the Wicks tool set for twenty

332
00:16:55.759 --> 00:16:58.600
<v Speaker 3>plus years longer if you count the stuff I did

333
00:16:58.600 --> 00:17:03.279
<v Speaker 3>in Microsoft, but twenty plus years. And after a while

334
00:17:03.360 --> 00:17:05.759
<v Speaker 3>you kind of get to a place where not everybody's

335
00:17:05.799 --> 00:17:09.720
<v Speaker 3>treating the project particularly well or you particularly well. And

336
00:17:10.079 --> 00:17:13.160
<v Speaker 3>for the last few years I've been very frustrated with

337
00:17:13.200 --> 00:17:17.400
<v Speaker 3>what's been going on around the project. And then the

338
00:17:17.400 --> 00:17:22.160
<v Speaker 3>EXZ UTLS issue hit at the March last year. I

339
00:17:22.200 --> 00:17:26.640
<v Speaker 3>think it was fourth that issue. I saw all these

340
00:17:26.680 --> 00:17:30.240
<v Speaker 3>people talking about the attack vector that almost turned into

341
00:17:30.240 --> 00:17:33.039
<v Speaker 3>a back door on Linux that got into cloud servers

342
00:17:33.079 --> 00:17:36.559
<v Speaker 3>and every Linux like it was crazy, and I knew

343
00:17:36.559 --> 00:17:39.119
<v Speaker 3>people are going to do the analysis of what it

344
00:17:39.240 --> 00:17:41.440
<v Speaker 3>was and how it worked, because that's like the geeky

345
00:17:41.519 --> 00:17:45.400
<v Speaker 3>technical stuff. But for me, I saw the story behind it.

346
00:17:45.480 --> 00:17:49.079
<v Speaker 2>We better recap what happened last year because not everybody's yeah,

347
00:17:49.119 --> 00:17:49.960
<v Speaker 2>good idea. All right.

348
00:17:50.519 --> 00:17:53.480
<v Speaker 3>So someone found a way to use and xx udles,

349
00:17:53.480 --> 00:17:56.680
<v Speaker 3>which is this like compression library and tool that was

350
00:17:56.720 --> 00:18:02.640
<v Speaker 3>included in I think every major Linux distribution, and a

351
00:18:02.799 --> 00:18:05.200
<v Speaker 3>we believe an attacker. Now at this point, someone very

352
00:18:05.240 --> 00:18:09.039
<v Speaker 3>dedicated found a way to use the build system to

353
00:18:09.160 --> 00:18:14.440
<v Speaker 3>inject code that did not appear until inside the Linux

354
00:18:14.440 --> 00:18:16.359
<v Speaker 3>build or something in that effect, so that they could

355
00:18:16.440 --> 00:18:20.039
<v Speaker 3>insert a back door into the Linux build system that

356
00:18:20.079 --> 00:18:22.279
<v Speaker 3>they could then connect back in and it would end

357
00:18:22.359 --> 00:18:24.880
<v Speaker 3>up on all Linux machines. And it happened to be

358
00:18:24.920 --> 00:18:29.160
<v Speaker 3>found by a dev working on performance some performance issue

359
00:18:29.240 --> 00:18:33.039
<v Speaker 3>was like Microsoft and Azure and said hey, wait this

360
00:18:33.079 --> 00:18:35.440
<v Speaker 3>is acting a little slow and found the problem.

361
00:18:35.519 --> 00:18:38.400
<v Speaker 2>It was like a half a second or something, right, Yeah,

362
00:18:38.599 --> 00:18:39.720
<v Speaker 2>it was minuscule.

363
00:18:39.799 --> 00:18:45.599
<v Speaker 3>It was talked about narrow, narrow, narrow by the slimmest

364
00:18:45.640 --> 00:18:48.599
<v Speaker 3>margins that someone found that that could have been catastrophic,

365
00:18:48.680 --> 00:18:50.920
<v Speaker 3>and then nobody might have even noticed once it's out there,

366
00:18:51.400 --> 00:18:53.079
<v Speaker 3>it could have just been an invisible back door.

367
00:18:53.119 --> 00:18:56.000
<v Speaker 2>Well, they also bags the question how many we not noticed? Right?

368
00:18:56.079 --> 00:18:59.880
<v Speaker 3>Yeah it was. It was a very very sophisticated attack,

369
00:19:00.880 --> 00:19:04.279
<v Speaker 3>so obviously fascinating to every developer out there, like, wow,

370
00:19:04.359 --> 00:19:06.680
<v Speaker 3>how did this work? How did you get in there?

371
00:19:06.960 --> 00:19:09.480
<v Speaker 3>How do you slip yourself into s sh or all

372
00:19:09.519 --> 00:19:12.039
<v Speaker 3>the And I'll be honest, I didn't dig into those

373
00:19:12.039 --> 00:19:16.799
<v Speaker 3>details because the part that I saw was the a

374
00:19:16.920 --> 00:19:19.960
<v Speaker 3>thread and someone pointed out a thread, the email thread

375
00:19:20.319 --> 00:19:22.519
<v Speaker 3>archived on you know, set of way pages of their

376
00:19:22.759 --> 00:19:25.640
<v Speaker 3>their their mailing list, and I started at the top

377
00:19:25.720 --> 00:19:29.279
<v Speaker 3>and I found the maintainer of the project talking to

378
00:19:29.400 --> 00:19:33.119
<v Speaker 3>the people that are then believed to have put in

379
00:19:33.200 --> 00:19:36.559
<v Speaker 3>this attack. And in it you have people pushing on

380
00:19:36.559 --> 00:19:39.960
<v Speaker 3>this maintainer saying you're not doing enough for the project.

381
00:19:39.960 --> 00:19:42.119
<v Speaker 3>Why haven't you submitted all these prs, why haven't you

382
00:19:42.119 --> 00:19:45.599
<v Speaker 3>fixed all these bugs? And you can hear the maintainer saying, oh, yeah,

383
00:19:45.640 --> 00:19:48.160
<v Speaker 3>I'm going to get to that. It's just it's been

384
00:19:48.200 --> 00:19:50.440
<v Speaker 3>really hard and I've just been a lot of pressure.

385
00:19:50.799 --> 00:19:52.440
<v Speaker 3>And you can hear like there's other things in their

386
00:19:52.480 --> 00:19:55.119
<v Speaker 3>life going on, right and and he says, oh, and

387
00:19:55.119 --> 00:19:57.319
<v Speaker 3>there's someone that's been helping me on the side. You know,

388
00:19:57.519 --> 00:19:59.680
<v Speaker 3>that's been really helpful. But you know, it's it's really

389
00:19:59.720 --> 00:20:01.720
<v Speaker 3>hard finding people to take over a project or helping

390
00:20:01.720 --> 00:20:05.200
<v Speaker 3>a project. And then you have repeated cases that if people, well,

391
00:20:05.240 --> 00:20:07.359
<v Speaker 3>you should give up on your project because clearly you're

392
00:20:07.359 --> 00:20:09.559
<v Speaker 3>not going to take care of it, and someone else saying, oh,

393
00:20:09.680 --> 00:20:13.240
<v Speaker 3>we understand, it's really hard to maintain your project. You know,

394
00:20:13.400 --> 00:20:15.119
<v Speaker 3>you could be really busy, but you really should do

395
00:20:15.160 --> 00:20:18.480
<v Speaker 3>something because your project will suffer because you're not doing this.

396
00:20:19.000 --> 00:20:20.240
<v Speaker 3>And at the end, the guy's like, well, you know,

397
00:20:20.279 --> 00:20:23.640
<v Speaker 3>this other person's been really helpful, and you know we'll

398
00:20:23.640 --> 00:20:26.599
<v Speaker 3>probably have them helping more. It turns out that that person,

399
00:20:26.759 --> 00:20:30.319
<v Speaker 3>that named person is the person that's tracked back to

400
00:20:30.519 --> 00:20:33.480
<v Speaker 3>it's the attack or inserting the attack vector into make

401
00:20:33.480 --> 00:20:35.440
<v Speaker 3>files and the data files and everything else.

402
00:20:35.519 --> 00:20:39.400
<v Speaker 1>And they made themselves look like, you know, they were

403
00:20:39.440 --> 00:20:41.000
<v Speaker 1>going to help out like they.

404
00:20:41.039 --> 00:20:43.599
<v Speaker 2>Well, they be clear. They they had been more helping out,

405
00:20:43.640 --> 00:20:47.160
<v Speaker 2>They had been making contributions, like one person had been helping.

406
00:20:47.319 --> 00:20:49.440
<v Speaker 1>Right, it's what I'm saying. But all the way along

407
00:20:49.599 --> 00:20:52.359
<v Speaker 1>the goal must have been to at once they gain

408
00:20:53.440 --> 00:20:57.079
<v Speaker 1>their trust to launch this attack, and nobody would ever

409
00:20:57.160 --> 00:20:57.839
<v Speaker 1>suspect them.

410
00:20:57.920 --> 00:21:00.920
<v Speaker 3>Right, So one person was helping, and then two other

411
00:21:01.000 --> 00:21:03.759
<v Speaker 3>people showed up in this particular thread, and the timing

412
00:21:03.839 --> 00:21:05.839
<v Speaker 3>spread out. It's not like immediately back in back and forth.

413
00:21:05.880 --> 00:21:08.000
<v Speaker 3>It's like a week spread out, two weeks here. I mean,

414
00:21:08.079 --> 00:21:11.160
<v Speaker 3>it's not obvious. And when I originally saw this thread

415
00:21:11.200 --> 00:21:15.240
<v Speaker 3>and I wrote down a tweet about this, that I realized, oh,

416
00:21:15.440 --> 00:21:17.160
<v Speaker 3>and it was like, I don't know, thirty tweets and

417
00:21:17.200 --> 00:21:18.319
<v Speaker 3>I was like, oh, I hate it when people write

418
00:21:18.319 --> 00:21:19.720
<v Speaker 3>tweet thread. So I ran and put in my blog

419
00:21:19.759 --> 00:21:21.559
<v Speaker 3>so you can read it all one big pass much

420
00:21:21.559 --> 00:21:24.240
<v Speaker 3>as you read, and I had more contexts. At that time,

421
00:21:24.680 --> 00:21:29.000
<v Speaker 3>there were theories that this could be a truly coordinated attack,

422
00:21:29.160 --> 00:21:32.960
<v Speaker 3>with multiple people operating what we call sock puppets pretend

423
00:21:32.960 --> 00:21:37.960
<v Speaker 3>to people pretending to be different. I don't characters in

424
00:21:38.000 --> 00:21:41.079
<v Speaker 3>a play trying to manipulate what they wanted I thought

425
00:21:41.079 --> 00:21:44.519
<v Speaker 3>that felt a little far fetched at the time, because

426
00:21:44.880 --> 00:21:48.160
<v Speaker 3>it felt very real. Everything that was being discussed and

427
00:21:48.240 --> 00:21:51.440
<v Speaker 3>treated and the way that people were acting was very

428
00:21:51.440 --> 00:21:54.200
<v Speaker 3>common for what you get on maintainers. You get sets

429
00:21:54.200 --> 00:21:56.920
<v Speaker 3>of people just showing up going why haven't you fed

430
00:21:56.960 --> 00:22:00.359
<v Speaker 3>me yet? I want my fix? Where's my build? I

431
00:22:00.400 --> 00:22:03.519
<v Speaker 3>can't believe you haven't fixed this in ten years. I

432
00:22:03.599 --> 00:22:06.720
<v Speaker 3>just got that comment this morning from somebody. I can't

433
00:22:06.720 --> 00:22:08.319
<v Speaker 3>believe you haven't fixed this in ten years.

434
00:22:09.279 --> 00:22:11.400
<v Speaker 2>And that's when you offer them the refund of everything

435
00:22:11.400 --> 00:22:11.880
<v Speaker 2>they've paid.

436
00:22:12.200 --> 00:22:15.880
<v Speaker 3>I actually offered to assign them the issue, which is

437
00:22:15.920 --> 00:22:20.000
<v Speaker 3>my new tactic. In the end, I ended up really mad,

438
00:22:20.599 --> 00:22:24.319
<v Speaker 3>like just stomping mad. And I've been low key mad

439
00:22:24.559 --> 00:22:27.559
<v Speaker 3>for quite a while having seen other maintainers treated the

440
00:22:27.559 --> 00:22:31.400
<v Speaker 3>same way, feeling it myself. And I'm fortunate that I

441
00:22:31.440 --> 00:22:33.599
<v Speaker 3>have Bob who works who's a co maintainer on the

442
00:22:33.640 --> 00:22:35.680
<v Speaker 3>WHIS tool set with me, so I have someone I

443
00:22:35.720 --> 00:22:38.599
<v Speaker 3>can talk to and kind of, you know, walk off

444
00:22:38.599 --> 00:22:42.359
<v Speaker 3>that ledge. No, sorry, step away from the ledge from

445
00:22:42.400 --> 00:22:45.440
<v Speaker 3>the ledge. Yeah, just like this is this is too much?

446
00:22:45.599 --> 00:22:47.680
<v Speaker 2>You're really a friend, you'll jump off with me? No, No,

447
00:22:47.720 --> 00:22:48.839
<v Speaker 2>that's not the goal here.

448
00:22:48.920 --> 00:22:54.359
<v Speaker 3>Well, and when you're in a project that is popular

449
00:22:54.839 --> 00:22:58.599
<v Speaker 3>and successful and you have lots of users, you will

450
00:22:58.640 --> 00:23:01.400
<v Speaker 3>hit this space where you went up with a non

451
00:23:01.480 --> 00:23:05.799
<v Speaker 3>trivial number of people showing up making demands of the

452
00:23:05.839 --> 00:23:13.519
<v Speaker 3>project without any thoughts of any contributions. And so the

453
00:23:13.720 --> 00:23:17.240
<v Speaker 3>xc udels that event and then finding out that it

454
00:23:17.319 --> 00:23:20.519
<v Speaker 3>was very possibly Nation State actors. Nobody knows for sure,

455
00:23:20.920 --> 00:23:23.960
<v Speaker 3>but that level of coordination made me just go that

456
00:23:24.279 --> 00:23:28.200
<v Speaker 3>that's it. I'm going to do something. I don't know

457
00:23:28.240 --> 00:23:31.880
<v Speaker 3>what I'm going to do. But at April last year,

458
00:23:32.319 --> 00:23:34.079
<v Speaker 3>you know, about a year ago now, I said, I'm

459
00:23:34.119 --> 00:23:36.960
<v Speaker 3>going to find something and I'm not doing it like

460
00:23:37.000 --> 00:23:39.279
<v Speaker 3>this anymore. We're not just going to have maintainers out

461
00:23:39.279 --> 00:23:44.839
<v Speaker 3>here unprotected from every you know, everything. We need to

462
00:23:44.960 --> 00:23:48.160
<v Speaker 3>change the culture and the way that we treat maintainers.

463
00:23:48.240 --> 00:23:51.599
<v Speaker 3>And so I sat for months just I couldn't put

464
00:23:51.599 --> 00:23:52.960
<v Speaker 3>it down. I had job to do. This is not

465
00:23:53.039 --> 00:23:54.920
<v Speaker 3>my job. But I had this thought process in the

466
00:23:54.920 --> 00:23:57.720
<v Speaker 3>back of my head, going what can we do that

467
00:23:57.839 --> 00:24:01.359
<v Speaker 3>builds a system that works well for maintainers, that is

468
00:24:01.480 --> 00:24:05.240
<v Speaker 3>fair to everybody involved, and can scale. And it was

469
00:24:05.279 --> 00:24:07.640
<v Speaker 3>all based off this tweet of mine that got a

470
00:24:07.720 --> 00:24:10.359
<v Speaker 3>million in some views, which I don't write tweets like that.

471
00:24:10.400 --> 00:24:12.880
<v Speaker 3>I'm not a mean person, right, I write tweets communicate

472
00:24:12.920 --> 00:24:16.240
<v Speaker 3>Moory project, my company and what I do. That thing

473
00:24:16.279 --> 00:24:19.880
<v Speaker 3>went crazy and everybody in the thread agreed that it

474
00:24:19.920 --> 00:24:22.920
<v Speaker 3>was a problem. I have never seen so many people

475
00:24:23.000 --> 00:24:24.200
<v Speaker 3>agree on Twitter.

476
00:24:24.200 --> 00:24:26.079
<v Speaker 2>The Internet. You're not supposed to get along, that's not

477
00:24:26.119 --> 00:24:27.279
<v Speaker 2>how Ever.

478
00:24:27.359 --> 00:24:31.200
<v Speaker 3>The only discussion that went sideways where people were disagreeing

479
00:24:31.440 --> 00:24:33.880
<v Speaker 3>was whether we should have universal basic income. And I

480
00:24:33.920 --> 00:24:35.759
<v Speaker 3>was like, Okay, I'm not touching that. You guys, go

481
00:24:35.880 --> 00:24:37.960
<v Speaker 3>have fun on that conversation. That's a bit far. Yeah,

482
00:24:38.079 --> 00:24:41.079
<v Speaker 3>a bit far, And it just was like a side

483
00:24:41.079 --> 00:24:43.279
<v Speaker 3>thread on the whole thing. But everybody agreed.

484
00:24:44.279 --> 00:24:44.799
<v Speaker 2>So yeah.

485
00:24:44.920 --> 00:24:48.559
<v Speaker 3>I went from there and my experience with frustration of

486
00:24:48.880 --> 00:24:50.920
<v Speaker 3>where I was at as a maintainer, because like a

487
00:24:51.000 --> 00:24:53.319
<v Speaker 3>year before that, I remember one morning I woke up

488
00:24:53.559 --> 00:24:55.279
<v Speaker 3>and you know, dealt so with me and I just

489
00:24:55.279 --> 00:24:57.079
<v Speaker 3>get my wife said that's it. I'm done. I'm not

490
00:24:57.079 --> 00:24:59.480
<v Speaker 3>going to do this anymore. Like why am I Why

491
00:24:59.480 --> 00:25:01.920
<v Speaker 3>do I even do this? Why am I putting myself

492
00:25:01.920 --> 00:25:03.640
<v Speaker 3>through this? I have a company built on this open

493
00:25:03.640 --> 00:25:08.279
<v Speaker 3>source project. I'll just do it a different way. And

494
00:25:08.960 --> 00:25:12.960
<v Speaker 3>I'm the guy that worked for years inside Microsoft to

495
00:25:13.000 --> 00:25:15.920
<v Speaker 3>make open source happen. So I was like, I'm walking

496
00:25:16.039 --> 00:25:19.720
<v Speaker 3>I my mind was torn. It was I was I

497
00:25:19.759 --> 00:25:22.680
<v Speaker 3>was broken. It was pretty bad in this space. So

498
00:25:22.720 --> 00:25:26.319
<v Speaker 3>to hear other maintainers having these same problems and pains,

499
00:25:26.599 --> 00:25:28.559
<v Speaker 3>I reached out to a number of them. And every

500
00:25:28.599 --> 00:25:31.039
<v Speaker 3>maintainer that has a project that you think of successful,

501
00:25:31.599 --> 00:25:34.680
<v Speaker 3>that you thought was successful, if you know it by

502
00:25:34.799 --> 00:25:38.279
<v Speaker 3>name and you know that maintainer, they are in either

503
00:25:38.319 --> 00:25:41.759
<v Speaker 3>one of two camps. One they don't care about what

504
00:25:41.920 --> 00:25:44.799
<v Speaker 3>happens to the project and they're just distracted from it.

505
00:25:45.000 --> 00:25:49.319
<v Speaker 3>DHH has this famous slide where he's just like, f you, Like,

506
00:25:49.359 --> 00:25:51.519
<v Speaker 3>that's the way he approaches his project. He doesn't care

507
00:25:51.559 --> 00:25:53.839
<v Speaker 3>about you. That's a fine way to go. I know

508
00:25:54.240 --> 00:25:57.160
<v Speaker 3>no maintainer, I personally know no maintainers that operate that

509
00:25:57.160 --> 00:25:59.079
<v Speaker 3>way because they care too much about their project and

510
00:25:59.119 --> 00:26:02.960
<v Speaker 3>being how it work well. All the ones I talked

511
00:26:02.960 --> 00:26:05.000
<v Speaker 3>to all have were like, yep, I totally agree. I've

512
00:26:05.000 --> 00:26:06.880
<v Speaker 3>all thought about quitting every single one of them, all

513
00:26:06.880 --> 00:26:08.960
<v Speaker 3>of the major projects, all of them are all in

514
00:26:08.960 --> 00:26:09.599
<v Speaker 3>the same spot.

515
00:26:10.000 --> 00:26:13.440
<v Speaker 2>So now you wake up in the morning up, you know,

516
00:26:13.920 --> 00:26:16.759
<v Speaker 2>immediately anxious about I haven't dealt with I haven't got

517
00:26:16.759 --> 00:26:19.000
<v Speaker 2>to like you're dreading going to your office.

518
00:26:19.160 --> 00:26:23.119
<v Speaker 3>Yeah, And so that was the reality. That's where it's at.

519
00:26:23.279 --> 00:26:23.440
<v Speaker 2>End.

520
00:26:23.559 --> 00:26:25.400
<v Speaker 3>I decided I was going to have to create a solution. So,

521
00:26:26.680 --> 00:26:28.839
<v Speaker 3>like I said before, I think there will be many

522
00:26:29.039 --> 00:26:31.839
<v Speaker 3>solutions for many different sized projects, for different kind of

523
00:26:31.880 --> 00:26:35.759
<v Speaker 3>types of projects. I know, my project, it's about half

524
00:26:35.799 --> 00:26:37.680
<v Speaker 3>a million lines of code. There's two of us that

525
00:26:37.720 --> 00:26:39.759
<v Speaker 3>work on it. Often there's only one person that works

526
00:26:39.759 --> 00:26:44.759
<v Speaker 3>on it. And we have you know, millions of downloads,

527
00:26:45.319 --> 00:26:48.160
<v Speaker 3>tens of millions of downloads, ten million downloads, twelve million downs.

528
00:26:48.200 --> 00:26:50.920
<v Speaker 3>Now it's a big project, all that kind of good stuff.

529
00:26:50.960 --> 00:26:54.880
<v Speaker 3>And I said, all right, in this space, what can

530
00:26:54.960 --> 00:26:58.680
<v Speaker 3>I do? And so I sat down for a while

531
00:26:58.680 --> 00:27:02.640
<v Speaker 3>and started going, what if we charge a fee for

532
00:27:02.720 --> 00:27:06.000
<v Speaker 3>people to use the project? And from there I started

533
00:27:06.000 --> 00:27:07.799
<v Speaker 3>putting it together. So should I go jump into the

534
00:27:07.839 --> 00:27:09.559
<v Speaker 3>details of the maintenance.

535
00:27:09.279 --> 00:27:11.319
<v Speaker 2>Fe then yeah, let's go all right, yeah, let's do it.

536
00:27:11.640 --> 00:27:15.640
<v Speaker 3>So the maintenance feek idea came as I slowly started

537
00:27:15.680 --> 00:27:19.240
<v Speaker 3>teasing apart the problem and I realized that there's open

538
00:27:19.240 --> 00:27:22.319
<v Speaker 3>source software and that has a license on it that

539
00:27:22.440 --> 00:27:25.079
<v Speaker 3>we all know and love. All of our various license

540
00:27:25.079 --> 00:27:27.960
<v Speaker 3>out there, whether you're like MIT or GPL or my

541
00:27:28.000 --> 00:27:32.039
<v Speaker 3>favorite MSRL, whatever license, we know all of that. And

542
00:27:32.079 --> 00:27:36.400
<v Speaker 3>what I got to was that license applies to the

543
00:27:36.480 --> 00:27:39.519
<v Speaker 3>source code. And if we say that that license will

544
00:27:39.519 --> 00:27:42.799
<v Speaker 3>only apply to the source code and stop there, that's

545
00:27:42.839 --> 00:27:44.759
<v Speaker 3>an open source project. Like that's enough to say that

546
00:27:44.799 --> 00:27:47.200
<v Speaker 3>your software is open source. Right. You don't have to

547
00:27:47.319 --> 00:27:50.519
<v Speaker 3>build the source code for people. You don't have to

548
00:27:50.599 --> 00:27:54.160
<v Speaker 3>have an issue tracker, You don't have to take changes

549
00:27:54.200 --> 00:27:57.000
<v Speaker 3>from other people and apply them to your open source software.

550
00:27:57.160 --> 00:28:00.519
<v Speaker 3>Your open source software is open source. Are done?

551
00:28:00.640 --> 00:28:00.880
<v Speaker 2>Yeah?

552
00:28:00.960 --> 00:28:05.000
<v Speaker 3>You you have successfully created an open source project. So

553
00:28:05.079 --> 00:28:10.200
<v Speaker 3>all that other stuff that is generally expected of maintainers.

554
00:28:10.359 --> 00:28:13.119
<v Speaker 3>Build a binary that other people can use. Answer the

555
00:28:13.160 --> 00:28:16.480
<v Speaker 3>discussions that people have, keep a discussion list where people

556
00:28:16.480 --> 00:28:19.279
<v Speaker 3>can ask questions, have an issue tracker, deal with them.

557
00:28:19.400 --> 00:28:22.200
<v Speaker 3>Some people expect you to fix all of them. Do

558
00:28:22.359 --> 00:28:24.440
<v Speaker 3>regular builds, stay up to date with all of the

559
00:28:24.440 --> 00:28:27.160
<v Speaker 3>dependencies that you have, as those keep changing. Dot A

560
00:28:27.240 --> 00:28:30.519
<v Speaker 3>framework I'm looking at you. You know, security vulnerabilities that

561
00:28:30.559 --> 00:28:32.920
<v Speaker 3>pop up, you know all of the you know, spam

562
00:28:32.960 --> 00:28:35.240
<v Speaker 3>shows up. Yeah, go make sure that doesn't show up. Oh,

563
00:28:35.279 --> 00:28:37.119
<v Speaker 3>you have to have signing certificates for your binaries, we'll

564
00:28:37.160 --> 00:28:39.480
<v Speaker 3>keep those up to date, so on and so forth.

565
00:28:39.599 --> 00:28:44.680
<v Speaker 3>So there's all this other stuff that's actually that's the project,

566
00:28:45.640 --> 00:28:50.119
<v Speaker 3>that's the work that the maintainers do regularly, outside of

567
00:28:50.160 --> 00:28:53.519
<v Speaker 3>maybe choosing to write some lines of code as a contributor. Right,

568
00:28:54.079 --> 00:28:57.680
<v Speaker 3>So if we separate those two concepts and we say,

569
00:28:58.079 --> 00:29:01.359
<v Speaker 3>I'm going to make the open source software open source

570
00:29:01.440 --> 00:29:05.279
<v Speaker 3>by this license, but the rest of this stuff that

571
00:29:05.359 --> 00:29:07.920
<v Speaker 3>I have to do to maintain the project to make

572
00:29:07.960 --> 00:29:11.079
<v Speaker 3>it viable as most people expect it to be. What

573
00:29:11.240 --> 00:29:14.039
<v Speaker 3>if I have a fee? And in that tweet thread

574
00:29:14.079 --> 00:29:16.359
<v Speaker 3>that we were talking about, I kept throwing out the

575
00:29:16.400 --> 00:29:19.640
<v Speaker 3>idea of what if you paid ten bucks per month

576
00:29:20.400 --> 00:29:24.680
<v Speaker 3>for a project? Nobody ever said peepe. They're like, yeah,

577
00:29:24.880 --> 00:29:28.160
<v Speaker 3>that seems fine, right, maintainers ten bucks a month, no problem.

578
00:29:28.240 --> 00:29:29.799
<v Speaker 3>So I said, all right, we're going to create the

579
00:29:29.799 --> 00:29:34.039
<v Speaker 3>maintenance fee and for all of the stuff that isn't

580
00:29:34.079 --> 00:29:37.400
<v Speaker 3>the source code itself. You want the bills, you want

581
00:29:37.519 --> 00:29:40.880
<v Speaker 3>issue tracker and discussion lists, and you want signing certificates

582
00:29:40.880 --> 00:29:43.200
<v Speaker 3>and all that stuff maintained. You pay ten bucks a

583
00:29:43.200 --> 00:29:47.440
<v Speaker 3>month if you make money. So if you're a student,

584
00:29:47.759 --> 00:29:49.519
<v Speaker 3>if you don't make money, if you don't want to

585
00:29:49.559 --> 00:29:53.720
<v Speaker 3>play in the money game, no problem, you're in. Hang out.

586
00:29:54.000 --> 00:29:57.119
<v Speaker 3>Let's go right, we're talking source code, we're talking open source.

587
00:29:58.240 --> 00:30:00.519
<v Speaker 3>But if you're making money, if you're a compan or

588
00:30:00.559 --> 00:30:03.400
<v Speaker 3>your employee at a company using a project, you're in

589
00:30:03.440 --> 00:30:06.119
<v Speaker 3>a different world. You're using this and you are getting

590
00:30:06.119 --> 00:30:08.400
<v Speaker 3>some value out of it. So you get to.

591
00:30:08.359 --> 00:30:10.680
<v Speaker 1>Pay, and you're taking a dependency on it a.

592
00:30:10.559 --> 00:30:12.960
<v Speaker 3>Fee, right, right, And you depend on it and you

593
00:30:13.000 --> 00:30:15.559
<v Speaker 3>want to presumably want it to be there, so you

594
00:30:15.640 --> 00:30:19.079
<v Speaker 3>pay the fee. Really simple. And then I stacked it

595
00:30:19.119 --> 00:30:21.160
<v Speaker 3>and I said, all right, we have dependencies an open

596
00:30:21.160 --> 00:30:24.039
<v Speaker 3>source project. So if an open source project says I'm

597
00:30:24.039 --> 00:30:26.279
<v Speaker 3>going to start charging a fee for all of the

598
00:30:26.839 --> 00:30:30.440
<v Speaker 3>stuff that isn't the software, than any dependency that you have,

599
00:30:30.559 --> 00:30:32.680
<v Speaker 3>you pay their fee too. Okay, Right, So if I

600
00:30:32.720 --> 00:30:35.960
<v Speaker 3>have a dependency us on some other project, then I

601
00:30:36.039 --> 00:30:38.519
<v Speaker 3>pay them. My project takes a fee, then I pay

602
00:30:38.559 --> 00:30:39.720
<v Speaker 3>them however many fees they have.

603
00:30:39.880 --> 00:30:43.559
<v Speaker 1>So you basically now are in a money distribution royalty

604
00:30:43.640 --> 00:30:46.000
<v Speaker 1>kind of right system.

605
00:30:46.079 --> 00:30:48.720
<v Speaker 3>Right, You you taking a fee in your project means

606
00:30:48.759 --> 00:30:50.359
<v Speaker 3>you now have decided to take money, So now you

607
00:30:50.400 --> 00:30:52.720
<v Speaker 3>play as money. If your project doesn't take money, then

608
00:30:52.880 --> 00:30:54.799
<v Speaker 3>you don't have to pay money. At the idea of

609
00:30:54.839 --> 00:30:56.920
<v Speaker 3>being like, look, if you're not making money, you're not

610
00:30:56.960 --> 00:30:59.119
<v Speaker 3>paying people, right, You're not trying to bankrupt people or

611
00:30:59.119 --> 00:31:01.039
<v Speaker 3>anything like that. We're trying to get to a place

612
00:31:01.079 --> 00:31:05.279
<v Speaker 3>where maintainers now can get paid for the work that

613
00:31:05.319 --> 00:31:07.720
<v Speaker 3>they have to do to keep the software going and

614
00:31:07.839 --> 00:31:10.319
<v Speaker 3>viable in an environment where people expect it to be.

615
00:31:10.400 --> 00:31:12.279
<v Speaker 2>Any you're driving this through GitHub.

616
00:31:12.480 --> 00:31:15.200
<v Speaker 3>Yeah. What I realized was that with the system, I

617
00:31:15.279 --> 00:31:18.160
<v Speaker 3>ended up with about the tightest feedback loop that I

618
00:31:18.200 --> 00:31:23.839
<v Speaker 3>could create. Consumers pay a maintenance fee for the maintainers

619
00:31:23.839 --> 00:31:27.400
<v Speaker 3>to maintain the project. The maintainers maintain the project, so

620
00:31:27.440 --> 00:31:30.480
<v Speaker 3>that the consumers continue to pay the fee, so that

621
00:31:30.519 --> 00:31:32.359
<v Speaker 3>the consumers pay the fee to maintain the projects, and

622
00:31:32.359 --> 00:31:34.319
<v Speaker 3>the maintainers continue to part and you end up with

623
00:31:34.359 --> 00:31:39.119
<v Speaker 3>this tiny little loop cycle. Nobody else involved. There's nothing

624
00:31:39.160 --> 00:31:42.640
<v Speaker 3>else out there, because so many other proposal I'd seen

625
00:31:42.960 --> 00:31:49.440
<v Speaker 3>required somebody out there to do something to make this possible.

626
00:31:49.960 --> 00:31:52.039
<v Speaker 3>Usually some company is going to come down on high

627
00:31:52.079 --> 00:31:54.880
<v Speaker 3>and say I have now created a system by which

628
00:31:55.079 --> 00:31:57.640
<v Speaker 3>you will get paid, and the maintainers could be like, oh,

629
00:31:57.680 --> 00:32:00.640
<v Speaker 3>thank you, finally good assuming payment what they want. But

630
00:32:00.720 --> 00:32:03.720
<v Speaker 3>you know, a solution from outside here. Maintainer just says

631
00:32:04.279 --> 00:32:07.000
<v Speaker 3>I require a fee and it all works. It's just

632
00:32:07.039 --> 00:32:08.920
<v Speaker 3>between you and the consumer on that fee. You're good

633
00:32:08.920 --> 00:32:09.160
<v Speaker 3>to go.

634
00:32:10.119 --> 00:32:10.480
<v Speaker 2>All right?

635
00:32:10.559 --> 00:32:12.279
<v Speaker 1>And I have so many questions, but we got to

636
00:32:12.319 --> 00:32:14.119
<v Speaker 1>take a little break here, so we'll be right back

637
00:32:14.119 --> 00:32:17.960
<v Speaker 1>after these very important messages. Stay tuned. Did you know

638
00:32:18.000 --> 00:32:21.039
<v Speaker 1>that you can work with AWS directly from your ID?

639
00:32:22.079 --> 00:32:26.599
<v Speaker 1>AWS provides toolkits for visual studio, visual studio, code, and

640
00:32:26.799 --> 00:32:31.519
<v Speaker 1>jet brains rider. Learn more at AWS dot Amazon dot com,

641
00:32:31.559 --> 00:32:39.599
<v Speaker 1>slash net slash tools. And we're back. It's dot net rox.

642
00:32:39.599 --> 00:32:42.519
<v Speaker 1>I'm Carl Franklin and that's my friend Richard Campbell and

643
00:32:42.559 --> 00:32:45.160
<v Speaker 1>our friend Rob Menching, and we're talking about making open

644
00:32:45.200 --> 00:32:48.440
<v Speaker 1>source sustainable. I have so many questions, but the first

645
00:32:48.480 --> 00:32:51.759
<v Speaker 1>question I have is do you just work on the

646
00:32:51.759 --> 00:32:55.400
<v Speaker 1>honor system? Do you just say, how do you prove

647
00:32:55.480 --> 00:32:57.480
<v Speaker 1>that you're not making money? How do you prove that

648
00:32:57.559 --> 00:33:00.200
<v Speaker 1>you are? How do you do you go after for

649
00:33:00.240 --> 00:33:03.160
<v Speaker 1>people if they start using it and making money without

650
00:33:03.200 --> 00:33:04.000
<v Speaker 1>it without paying?

651
00:33:04.079 --> 00:33:07.240
<v Speaker 3>This is this is a fantastic question. And I sat

652
00:33:07.240 --> 00:33:10.079
<v Speaker 3>here for a long time going how do we do enforcement?

653
00:33:10.279 --> 00:33:12.720
<v Speaker 3>And every maintainer as I presented this idea to them

654
00:33:12.720 --> 00:33:14.759
<v Speaker 3>always kind of got to this point, like I really

655
00:33:14.839 --> 00:33:16.519
<v Speaker 3>love this idea. I never thought of it that way.

656
00:33:17.279 --> 00:33:19.000
<v Speaker 3>How do you make it happen?

657
00:33:19.279 --> 00:33:19.519
<v Speaker 2>Right?

658
00:33:19.680 --> 00:33:24.400
<v Speaker 3>So, in the new gut world, we produce nugat package. Sorry,

659
00:33:24.400 --> 00:33:26.480
<v Speaker 3>in the dot net world mostly about nugat packages. That's

660
00:33:26.480 --> 00:33:28.480
<v Speaker 3>how a lot of things are attributed. Even my own

661
00:33:28.759 --> 00:33:32.240
<v Speaker 3>system is now msbilled, SDKs and dot net tools and

662
00:33:32.279 --> 00:33:34.599
<v Speaker 3>a whole bunch of NEWGAT packages. So we're all in

663
00:33:34.640 --> 00:33:37.720
<v Speaker 3>on nugat. I kind of sat and got all right,

664
00:33:37.759 --> 00:33:40.720
<v Speaker 3>So what do I want? I want to declare a

665
00:33:40.880 --> 00:33:43.440
<v Speaker 3>I have a license, an open source license that applies

666
00:33:43.480 --> 00:33:47.079
<v Speaker 3>to source code. I need a YULA, an end user

667
00:33:47.160 --> 00:33:49.839
<v Speaker 3>license agreement to apply to the binaries and the rest

668
00:33:49.839 --> 00:33:53.960
<v Speaker 3>of the project. Okay, oh, I can have a license

669
00:33:54.240 --> 00:33:57.000
<v Speaker 3>for this source code. I can write AYULA that does

670
00:33:57.039 --> 00:34:00.000
<v Speaker 3>not impinge on your rights that the license gives you.

671
00:34:00.839 --> 00:34:03.559
<v Speaker 3>I can put that ULA in the nugat package, and

672
00:34:03.559 --> 00:34:05.680
<v Speaker 3>then lo and behold. Nugat has a way to say

673
00:34:05.680 --> 00:34:09.239
<v Speaker 3>require acceptance when you accept a Nugat package. So you

674
00:34:09.400 --> 00:34:12.360
<v Speaker 3>have to say I accept the terms of the ULA

675
00:34:13.280 --> 00:34:16.960
<v Speaker 3>AKAI will pay the maintenance fee because I am making money,

676
00:34:17.880 --> 00:34:20.960
<v Speaker 3>and you have to check that box. And now you

677
00:34:21.599 --> 00:34:26.199
<v Speaker 3>have legally said that you are complying with the maintenance

678
00:34:26.199 --> 00:34:27.800
<v Speaker 3>fee for any project that you want.

679
00:34:27.719 --> 00:34:30.480
<v Speaker 1>And that amounts to Diddley Squad, however, because we've all

680
00:34:30.519 --> 00:34:33.400
<v Speaker 1>agreed to ULA's because otherwise we can't use the software.

681
00:34:33.480 --> 00:34:33.639
<v Speaker 3>Yeah.

682
00:34:33.679 --> 00:34:36.400
<v Speaker 1>Yeah, So nobody's ever knocked on my door and said, hey,

683
00:34:36.679 --> 00:34:37.760
<v Speaker 1>did you read that ULA?

684
00:34:38.000 --> 00:34:42.239
<v Speaker 3>Yeah. But if you remember, lawyers had a huge, huge

685
00:34:42.320 --> 00:34:44.639
<v Speaker 3>challenge when they first started trying to pick up open source,

686
00:34:44.679 --> 00:34:47.239
<v Speaker 3>and they held up everything saying no, no, no, we

687
00:34:47.320 --> 00:34:49.800
<v Speaker 3>can't pull source code into the company that open source

688
00:34:49.800 --> 00:34:53.079
<v Speaker 3>license until we understand what those licenses will do to

689
00:34:53.239 --> 00:34:57.760
<v Speaker 3>us and our company. The maintenance fee puts a legal

690
00:34:57.800 --> 00:35:00.320
<v Speaker 3>document in there that if a lawyer sees it and

691
00:35:00.360 --> 00:35:04.000
<v Speaker 3>you've accepted it, you're on the hook for it. I

692
00:35:04.039 --> 00:35:06.440
<v Speaker 3>believe it's written correctly. I've had another lawyer write it.

693
00:35:06.679 --> 00:35:08.400
<v Speaker 3>You're now on the hook. So any lawyer that saw

694
00:35:08.400 --> 00:35:11.000
<v Speaker 3>it inside the company be like, we're on the hook

695
00:35:11.079 --> 00:35:11.320
<v Speaker 3>for this.

696
00:35:12.000 --> 00:35:12.719
<v Speaker 2>Yeah, okay.

697
00:35:12.800 --> 00:35:15.920
<v Speaker 3>And this is actually important because there are many maintainers

698
00:35:15.960 --> 00:35:17.760
<v Speaker 3>out there that I've come out and said, oh, you know,

699
00:35:17.880 --> 00:35:20.639
<v Speaker 3>I would I would pay I you know, get how

700
00:35:20.639 --> 00:35:22.920
<v Speaker 3>sponsors is great. I would pay it, and my company,

701
00:35:23.079 --> 00:35:26.079
<v Speaker 3>you know, should pay it. But you know, the procurement team,

702
00:35:26.360 --> 00:35:28.880
<v Speaker 3>I just they they won't do anything. They're so hard

703
00:35:28.920 --> 00:35:32.199
<v Speaker 3>to get work through, and I believe them. Procurement teams

704
00:35:32.239 --> 00:35:34.440
<v Speaker 3>are very challenging with my own company. You know, we

705
00:35:34.440 --> 00:35:36.519
<v Speaker 3>can spend six months with the company and their procurement

706
00:35:36.519 --> 00:35:37.920
<v Speaker 3>team just trying to get them to pay us for

707
00:35:38.000 --> 00:35:39.960
<v Speaker 3>the legal agreement they already signed up for and the

708
00:35:40.000 --> 00:35:42.760
<v Speaker 3>services they're paying for. It's a challenge, I get it.

709
00:35:43.559 --> 00:35:46.559
<v Speaker 3>So let's create a system by which the curement team

710
00:35:46.719 --> 00:35:48.480
<v Speaker 3>has to pay it because the legal team will show

711
00:35:48.519 --> 00:35:50.639
<v Speaker 3>up and say, hey, you know this open source thing,

712
00:35:50.880 --> 00:35:52.840
<v Speaker 3>we already went through our time and figured out how

713
00:35:52.840 --> 00:35:55.159
<v Speaker 3>to deal with open source. Now you, as a procurement team,

714
00:35:55.559 --> 00:35:58.119
<v Speaker 3>you now need to figure out how to deal with

715
00:35:58.239 --> 00:36:01.119
<v Speaker 3>open source projects that require this maintenance because you have

716
00:36:01.199 --> 00:36:03.480
<v Speaker 3>to pay them because the license says that you have to.

717
00:36:03.599 --> 00:36:07.400
<v Speaker 1>And for big businesses with lawyers, I think that's probably

718
00:36:07.639 --> 00:36:11.159
<v Speaker 1>a valid thing. What about all the small businesses.

719
00:36:10.679 --> 00:36:12.679
<v Speaker 2>But that's that's who we want to pay.

720
00:36:12.840 --> 00:36:14.960
<v Speaker 1>But what about a small business that's making a million

721
00:36:15.000 --> 00:36:17.159
<v Speaker 1>dollars a year and it's Joe and his wife and

722
00:36:17.360 --> 00:36:19.360
<v Speaker 1>they don't have lawyers. You know, maybe they do, but

723
00:36:19.960 --> 00:36:21.760
<v Speaker 1>they're going to take the chance. How are you going

724
00:36:21.800 --> 00:36:23.639
<v Speaker 1>to enforce? How are you going to enforce it?

725
00:36:23.800 --> 00:36:28.280
<v Speaker 3>So I've been slow walking the enforcement past the legal

726
00:36:29.199 --> 00:36:32.159
<v Speaker 3>requirements that will hopefully build the structure that everything else

727
00:36:32.199 --> 00:36:36.280
<v Speaker 3>stands on. Okay, I've had people ask, hey, what do

728
00:36:36.320 --> 00:36:39.360
<v Speaker 3>you do with the issues in the Wicks tool set.

729
00:36:39.440 --> 00:36:41.840
<v Speaker 3>We've called out that you check a box if you're

730
00:36:41.960 --> 00:36:44.519
<v Speaker 3>using money and you go through our templates, it says

731
00:36:44.719 --> 00:36:47.519
<v Speaker 3>you're using this for monetary value. Check the box it

732
00:36:47.519 --> 00:36:50.920
<v Speaker 3>says you are sponsoring the project. So we're getting the

733
00:36:51.159 --> 00:36:52.679
<v Speaker 3>education and awareness out there.

734
00:36:52.719 --> 00:36:53.000
<v Speaker 2>Now.

735
00:36:54.280 --> 00:36:59.039
<v Speaker 3>There are some projects that I saw that lock their

736
00:36:59.159 --> 00:37:01.719
<v Speaker 3>issue tracker unless you sponsor.

737
00:37:01.519 --> 00:37:03.000
<v Speaker 2>So you can't submit an issue.

738
00:37:03.920 --> 00:37:05.519
<v Speaker 3>Enter that, you can't submit the issues, you can't get

739
00:37:05.559 --> 00:37:09.840
<v Speaker 3>the issues unless you sponsor the projects. That's doable through

740
00:37:09.920 --> 00:37:12.159
<v Speaker 3>GitHub sponsors. Straight up, that's.

741
00:37:11.920 --> 00:37:15.199
<v Speaker 1>Only if you're making money, right What about the student who.

742
00:37:15.079 --> 00:37:18.760
<v Speaker 3>Isn't Again, So that's the challenge of the enforcement on

743
00:37:18.760 --> 00:37:21.119
<v Speaker 3>that front for people that aren't making money. We have

744
00:37:21.159 --> 00:37:23.880
<v Speaker 3>to find a place in there. After I made this announcement,

745
00:37:24.599 --> 00:37:27.719
<v Speaker 3>the GitHub sponsors lead reached out to me and we

746
00:37:27.760 --> 00:37:30.719
<v Speaker 3>had some conversations about what could be done. So there,

747
00:37:31.440 --> 00:37:33.639
<v Speaker 3>what I'm saying is right now, we're in the beginning,

748
00:37:33.880 --> 00:37:38.000
<v Speaker 3>and I want to start the enforcement by assuming that

749
00:37:38.679 --> 00:37:41.840
<v Speaker 3>the developers that said I want to be able to

750
00:37:42.320 --> 00:37:44.760
<v Speaker 3>help you and maintain your project, but I can't get

751
00:37:44.760 --> 00:37:48.960
<v Speaker 3>through procurement now have the tool they need to go

752
00:37:49.039 --> 00:37:51.079
<v Speaker 3>to their legal team and say, I now need to

753
00:37:51.119 --> 00:37:54.239
<v Speaker 3>pay this project because it has a legal requirement. Please

754
00:37:54.280 --> 00:37:57.159
<v Speaker 3>help me solve this issue with the procurement team.

755
00:37:57.559 --> 00:38:01.039
<v Speaker 2>And people have told me, but also coming to them

756
00:38:01.079 --> 00:38:04.039
<v Speaker 2>with the documents to say here's how it solved exactly.

757
00:38:04.199 --> 00:38:07.719
<v Speaker 3>Yeah, it's not. Before it was like, you know, let's

758
00:38:07.719 --> 00:38:10.039
<v Speaker 3>say as an individual contributed company and you're using this

759
00:38:10.079 --> 00:38:11.920
<v Speaker 3>project that you want to support it, and you're like, yes,

760
00:38:12.440 --> 00:38:13.880
<v Speaker 3>I want to help them, and you go to your

761
00:38:13.920 --> 00:38:16.119
<v Speaker 3>boss and your boss says, no, dude, too much work.

762
00:38:16.320 --> 00:38:19.119
<v Speaker 3>Let's not bother. Just just go do it and be done.

763
00:38:20.280 --> 00:38:23.039
<v Speaker 3>Now you're able to go to the boss and boss say, hey, boss,

764
00:38:23.159 --> 00:38:25.400
<v Speaker 3>there's now this legal requirement. We have to do this.

765
00:38:26.119 --> 00:38:27.960
<v Speaker 3>Boss will be like, well, if we're going to continue

766
00:38:28.000 --> 00:38:29.639
<v Speaker 3>this project, we have to go do with legal, we

767
00:38:29.679 --> 00:38:31.800
<v Speaker 3>have to go do with procurement. They now have that tool,

768
00:38:32.159 --> 00:38:34.280
<v Speaker 3>will they maybe say, you know what, forget it. Let's

769
00:38:34.320 --> 00:38:37.039
<v Speaker 3>just go use a different project that's free, that doesn't

770
00:38:37.079 --> 00:38:41.280
<v Speaker 3>have this open source maintenance fee. Absolutely, that may absolutely happen.

771
00:38:41.320 --> 00:38:44.320
<v Speaker 1>So I have ideas. I have some ideas, which always

772
00:38:44.360 --> 00:38:47.920
<v Speaker 1>happens when I have these great conversations with guys like you.

773
00:38:47.960 --> 00:38:51.400
<v Speaker 1>But one idea is to have a sort of an

774
00:38:51.400 --> 00:38:57.039
<v Speaker 1>outside agency that does enforcement. And I don't because I think,

775
00:38:57.159 --> 00:39:00.079
<v Speaker 1>you know, software developers, they don't want to be in

776
00:39:00.119 --> 00:39:03.199
<v Speaker 1>that position. You know, nobody wants to be the bad

777
00:39:03.239 --> 00:39:06.039
<v Speaker 1>guy and have to on top of having to write

778
00:39:06.079 --> 00:39:08.239
<v Speaker 1>good code. Now you got to wake up every morning

779
00:39:08.280 --> 00:39:10.679
<v Speaker 1>and wonder who's not paying me that needs to be

780
00:39:10.679 --> 00:39:14.239
<v Speaker 1>paying me. So an outside agency is not like a

781
00:39:14.400 --> 00:39:17.199
<v Speaker 1>union or something, but just somebody that works on behalf

782
00:39:17.280 --> 00:39:21.599
<v Speaker 1>of contributors to enforce this. The other thing that I

783
00:39:21.639 --> 00:39:24.920
<v Speaker 1>was thinking of was is gone from my head. It's

784
00:39:24.960 --> 00:39:25.360
<v Speaker 1>just gone.

785
00:39:25.599 --> 00:39:28.920
<v Speaker 3>These ideas are great. I want the ideas, and honestly,

786
00:39:29.880 --> 00:39:32.199
<v Speaker 3>if someone comes up with an idea and is inspired

787
00:39:32.239 --> 00:39:35.360
<v Speaker 3>by the open Source Maintenance Fee and says, ah, this

788
00:39:35.440 --> 00:39:38.000
<v Speaker 3>is a good idea, but it is fatally flawed this way.

789
00:39:38.039 --> 00:39:41.079
<v Speaker 3>But I can create a system that works better. I

790
00:39:41.119 --> 00:39:44.159
<v Speaker 3>hope that happens. Or people say, hey, here are different

791
00:39:44.199 --> 00:39:47.880
<v Speaker 3>ways that you can do enforcement with the structure that

792
00:39:47.880 --> 00:39:50.239
<v Speaker 3>the open Source Maintenance fee happens, I'm going to write

793
00:39:50.239 --> 00:39:52.880
<v Speaker 3>them down. I have a discussion list on the open

794
00:39:52.880 --> 00:39:55.039
<v Speaker 3>Source Maintenance Fee dot org. It says, hey, if you

795
00:39:55.079 --> 00:39:57.719
<v Speaker 3>have more facts that your more ideas, you want to add,

796
00:39:57.960 --> 00:40:00.880
<v Speaker 3>more questions that need to be answered, let's put them

797
00:40:00.960 --> 00:40:03.280
<v Speaker 3>up there. There is a place to have the conversation

798
00:40:03.440 --> 00:40:06.079
<v Speaker 3>to say, here's what we need to do. And I

799
00:40:06.239 --> 00:40:09.079
<v Speaker 3>want to be really clear. The Wix tool set is

800
00:40:09.079 --> 00:40:12.239
<v Speaker 3>the first project to apply the open Source Maintenance Fee,

801
00:40:12.280 --> 00:40:15.000
<v Speaker 3>and we did so on the seventh, so a week

802
00:40:15.039 --> 00:40:16.119
<v Speaker 3>ago today.

803
00:40:15.840 --> 00:40:18.199
<v Speaker 2>The seventh of April, of April of.

804
00:40:18.199 --> 00:40:20.360
<v Speaker 3>Twenty twenty five, the seventh of April twenty twenty five,

805
00:40:20.360 --> 00:40:24.159
<v Speaker 3>so a week ago today. That has put all the

806
00:40:24.199 --> 00:40:26.679
<v Speaker 3>pieces in place, and I've been then using that experience

807
00:40:26.719 --> 00:40:30.239
<v Speaker 3>to update the step by step list for maintainers on

808
00:40:30.280 --> 00:40:33.039
<v Speaker 3>the open Source Maintenance Fee dot org site. So if

809
00:40:33.039 --> 00:40:34.760
<v Speaker 3>you want to go through it. It just lays out

810
00:40:34.800 --> 00:40:37.000
<v Speaker 3>all the five or seventh steps you have to do

811
00:40:37.320 --> 00:40:38.039
<v Speaker 3>to work your way through.

812
00:40:38.079 --> 00:40:40.400
<v Speaker 1>It's really cool, right, so I found I remembered the

813
00:40:40.440 --> 00:40:43.639
<v Speaker 1>second idea. Okay, the second idea was to require by

814
00:40:43.760 --> 00:40:48.599
<v Speaker 1>law companies to publish as software bill of materials. So

815
00:40:48.760 --> 00:40:51.440
<v Speaker 1>on every website in there about page or whatever, there

816
00:40:51.480 --> 00:40:53.960
<v Speaker 1>should be a link to a s bomb page and

817
00:40:54.000 --> 00:40:57.280
<v Speaker 1>then every dependency that they've taken must be listed there.

818
00:40:57.840 --> 00:40:59.880
<v Speaker 1>And that way would it be easier for an auditor,

819
00:40:59.880 --> 00:41:01.719
<v Speaker 1>even if the auditor was GitHub?

820
00:41:02.039 --> 00:41:03.039
<v Speaker 2>Right yep, you know.

821
00:41:03.119 --> 00:41:05.840
<v Speaker 1>GitHub seems like the logical place where this kind of

822
00:41:05.880 --> 00:41:09.079
<v Speaker 1>thing would happen for getthub repost. But maybe in another place.

823
00:41:09.119 --> 00:41:09.519
<v Speaker 1>I don't know.

824
00:41:09.719 --> 00:41:12.159
<v Speaker 3>I actually had someone ask me if we would try

825
00:41:12.199 --> 00:41:16.519
<v Speaker 3>to get an SPDX identifier for the OSMF.

826
00:41:16.639 --> 00:41:16.719
<v Speaker 2>So.

827
00:41:17.159 --> 00:41:24.159
<v Speaker 3>SPDX is the software what identity system They have a

828
00:41:24.199 --> 00:41:26.239
<v Speaker 3>way of saying s bombs. Basically, they're one of the

829
00:41:26.360 --> 00:41:29.400
<v Speaker 3>standards for specifying s bombs and one of the big

830
00:41:29.519 --> 00:41:32.519
<v Speaker 3>features they've provided are the standard list for all the

831
00:41:32.599 --> 00:41:34.320
<v Speaker 3>various open source licenses out there.

832
00:41:34.360 --> 00:41:38.159
<v Speaker 1>Because it's advantageous for every software company to have an

833
00:41:38.280 --> 00:41:42.760
<v Speaker 1>s bomb, right Yes, it's absolutely advantageous to them. Yes,

834
00:41:42.800 --> 00:41:45.440
<v Speaker 1>because of security problems, right, and so you know when

835
00:41:45.480 --> 00:41:47.480
<v Speaker 1>there's a problem, oh, we're using.

836
00:41:47.239 --> 00:41:50.079
<v Speaker 3>That, right. And if the maintenance fee was in SPDX,

837
00:41:50.599 --> 00:41:53.480
<v Speaker 3>then you would just use the identifier and then you'd know, hey,

838
00:41:53.480 --> 00:41:55.559
<v Speaker 3>they're already doing this, and they would they'd all roll

839
00:41:55.599 --> 00:41:58.239
<v Speaker 3>down the direction that you're saying. Now. Yeah, there's only

840
00:41:58.239 --> 00:42:00.559
<v Speaker 3>one project using the open source maintenance fee right now,

841
00:42:00.880 --> 00:42:05.199
<v Speaker 3>and we are slowly working our way through the experience

842
00:42:05.239 --> 00:42:08.960
<v Speaker 3>of what does it mean to do so? And enforcement

843
00:42:09.039 --> 00:42:12.760
<v Speaker 3>is an area where I'm trying to be extremely respectful

844
00:42:12.800 --> 00:42:17.880
<v Speaker 3>to the challenges that I know individual developers will have

845
00:42:18.360 --> 00:42:21.920
<v Speaker 3>inside their companies. I worked in Microsoft, I know big

846
00:42:21.960 --> 00:42:25.199
<v Speaker 3>company challenges. I spent a lot of time with lawyers

847
00:42:25.320 --> 00:42:26.800
<v Speaker 3>when I was first trying to get the WISK tools

848
00:42:26.800 --> 00:42:29.039
<v Speaker 3>set released as an open source I think part of

849
00:42:29.079 --> 00:42:31.880
<v Speaker 3>that training helped me design the open source maintenance fee

850
00:42:32.719 --> 00:42:34.880
<v Speaker 3>is learn how to use lawyers to help you get

851
00:42:34.920 --> 00:42:39.280
<v Speaker 3>a problem solved. Where we go through enforcement is a question.

852
00:42:40.519 --> 00:42:44.400
<v Speaker 3>I think getting the first foundation and then normalizing the

853
00:42:44.480 --> 00:42:49.800
<v Speaker 3>idea that maintainers should be paid to maintain the projects,

854
00:42:50.519 --> 00:42:53.559
<v Speaker 3>and that if you don't want to use the project,

855
00:42:53.679 --> 00:42:57.039
<v Speaker 3>and you don't want to pay a maintainer money for

856
00:42:57.320 --> 00:42:59.480
<v Speaker 3>them maintaining the project, then you can go take the

857
00:42:59.519 --> 00:43:02.400
<v Speaker 3>source code because it's still available, it's still a source.

858
00:43:02.679 --> 00:43:05.519
<v Speaker 3>You can go take the source code and maintain it yourself,

859
00:43:06.280 --> 00:43:08.000
<v Speaker 3>which is the alternative.

860
00:43:07.519 --> 00:43:10.239
<v Speaker 1>You know, in the interest of security. This is the

861
00:43:10.239 --> 00:43:13.480
<v Speaker 1>same reason that that bill got pass that requires everybody

862
00:43:13.519 --> 00:43:17.400
<v Speaker 1>to allow cookies, yes or no. Right that is required

863
00:43:17.440 --> 00:43:20.880
<v Speaker 1>by law right in GDPR. Yeah, the GDPR. And so

864
00:43:22.119 --> 00:43:25.320
<v Speaker 1>just like that the way that got passed, this could

865
00:43:25.320 --> 00:43:27.960
<v Speaker 1>be you know, you you must have an s bomb

866
00:43:28.119 --> 00:43:30.039
<v Speaker 1>and you must be able to well.

867
00:43:29.920 --> 00:43:32.920
<v Speaker 2>I would point out that that is not enforced. No

868
00:43:32.960 --> 00:43:36.079
<v Speaker 2>one has ever been charged for not doing that. Yeah, so,

869
00:43:36.880 --> 00:43:39.079
<v Speaker 2>and yet lots of people have done it. Like enforcement

870
00:43:39.119 --> 00:43:41.840
<v Speaker 2>is a separate issue here, yea, And I would argue

871
00:43:42.159 --> 00:43:46.519
<v Speaker 2>long before you get to anywhere near that, you can

872
00:43:46.639 --> 00:43:50.079
<v Speaker 2>have nudges from within GitHub. Like the main thing we're

873
00:43:50.079 --> 00:43:53.039
<v Speaker 2>hoping for is a get hub. Here is poke at

874
00:43:53.320 --> 00:43:58.480
<v Speaker 2>obvious large organizations that are utilizing these resources to write, Hey,

875
00:43:58.679 --> 00:44:00.000
<v Speaker 2>you know you should be making a contry.

876
00:44:00.280 --> 00:44:03.719
<v Speaker 3>Here is the path and to basically put a system

877
00:44:03.760 --> 00:44:06.760
<v Speaker 3>in place that starts allowing people to do the right thing.

878
00:44:07.079 --> 00:44:09.960
<v Speaker 2>Yeah, make it reduced to friction doing the right thing.

879
00:44:10.119 --> 00:44:12.800
<v Speaker 3>He says, Look, you have to do this. So now

880
00:44:13.039 --> 00:44:14.880
<v Speaker 3>the people that want to do the right thing are

881
00:44:14.920 --> 00:44:18.199
<v Speaker 3>now empowered to go take care of the larger systems

882
00:44:18.519 --> 00:44:22.000
<v Speaker 3>that naturally would not change or continue to run the

883
00:44:22.000 --> 00:44:25.119
<v Speaker 3>way they do. And we will continue to have large

884
00:44:25.159 --> 00:44:28.280
<v Speaker 3>companies with their procurement systems which are designed not to

885
00:44:28.320 --> 00:44:32.840
<v Speaker 3>spend money to you know, not spend money on maintainers

886
00:44:33.199 --> 00:44:36.519
<v Speaker 3>for these projects. I mean. One of the interesting comments

887
00:44:36.559 --> 00:44:40.000
<v Speaker 3>I got very recently was someone left a comment saying, hey,

888
00:44:40.679 --> 00:44:44.119
<v Speaker 3>I will need some extra verification of to give you money.

889
00:44:44.159 --> 00:44:46.400
<v Speaker 3>I will need some extra verification to know that you're

890
00:44:46.440 --> 00:44:49.440
<v Speaker 3>not a terrorist organization, right right, because my procurement team

891
00:44:49.480 --> 00:44:53.880
<v Speaker 3>can't fund terrorist organizations. And I was like, sure, whatever

892
00:44:53.920 --> 00:44:57.000
<v Speaker 3>you need, let me know, we'll answer those questions. But

893
00:44:57.039 --> 00:45:00.079
<v Speaker 3>then I stopped and said, it is harder for the

894
00:45:00.000 --> 00:45:04.000
<v Speaker 3>the procurement team. The procurement team has higher standards than

895
00:45:04.159 --> 00:45:06.840
<v Speaker 3>the developers do for taking the code, like you already

896
00:45:06.840 --> 00:45:10.760
<v Speaker 3>took the code the binary code usually and are using it,

897
00:45:11.280 --> 00:45:13.719
<v Speaker 3>and I don't remember a background check or anything like

898
00:45:13.760 --> 00:45:17.079
<v Speaker 3>that to take the bus. I heard terror because I

899
00:45:17.320 --> 00:45:19.559
<v Speaker 3>use my code. What we have done is create some

900
00:45:19.719 --> 00:45:24.159
<v Speaker 3>artificially high bar on the procurement and the sustaining the

901
00:45:24.239 --> 00:45:27.880
<v Speaker 3>project if projects want to be sustained by money, and

902
00:45:28.360 --> 00:45:30.039
<v Speaker 3>the way that you can take the code into the

903
00:45:30.039 --> 00:45:33.119
<v Speaker 3>sources world. And we've also created a culture where I

904
00:45:33.360 --> 00:45:36.000
<v Speaker 3>just take it and I don't have to do anything

905
00:45:36.039 --> 00:45:37.239
<v Speaker 3>else after that.

906
00:45:36.840 --> 00:45:39.840
<v Speaker 2>Well, and there's an advantage to that too, because you

907
00:45:39.920 --> 00:45:42.199
<v Speaker 2>want to take it out for a spin. You want

908
00:45:42.239 --> 00:45:44.440
<v Speaker 2>to prove that it's valuable to the organization, Like you

909
00:45:44.519 --> 00:45:46.360
<v Speaker 2>need to get to a place before you even have

910
00:45:46.400 --> 00:45:49.000
<v Speaker 2>the conversation about you know, do I want to spend

911
00:45:49.039 --> 00:45:51.679
<v Speaker 2>money on this or not? I mean, I do appreciate

912
00:45:51.760 --> 00:45:54.800
<v Speaker 2>and I've included the link to how wix tool sets

913
00:45:54.800 --> 00:45:56.840
<v Speaker 2>maintenance fee is set up where it's based on the

914
00:45:56.880 --> 00:45:58.840
<v Speaker 2>size of the organization with the size of the contribution.

915
00:45:59.000 --> 00:46:02.519
<v Speaker 2>Is because this now roll the other way where a

916
00:46:02.719 --> 00:46:06.760
<v Speaker 2>CFO should be able to go to gethub and say, hey,

917
00:46:07.360 --> 00:46:11.480
<v Speaker 2>what libraries is my company using? What is the total

918
00:46:11.519 --> 00:46:14.880
<v Speaker 2>fee I should be paying. My experience with CFOs is

919
00:46:15.280 --> 00:46:17.679
<v Speaker 2>they'll kind of check once a year, but don't make

920
00:46:17.719 --> 00:46:19.119
<v Speaker 2>it more complicated than that.

921
00:46:19.599 --> 00:46:22.440
<v Speaker 3>And so we fell upon I fell upon GitHub sponsors

922
00:46:22.480 --> 00:46:25.519
<v Speaker 3>because it was very straightforward for a lot of maintainers

923
00:46:25.559 --> 00:46:29.199
<v Speaker 3>to be able to access that directly without having to

924
00:46:29.199 --> 00:46:31.559
<v Speaker 3>do a whole lot of extra work. And also because

925
00:46:31.599 --> 00:46:35.840
<v Speaker 3>gethub sponsors has may have relationships has larritionships a lot

926
00:46:35.880 --> 00:46:40.679
<v Speaker 3>of companies through their enterprise system, and through that enterprise system,

927
00:46:40.800 --> 00:46:44.280
<v Speaker 3>you can say pay for sponsorships by invoice. It doesn't

928
00:46:44.280 --> 00:46:46.159
<v Speaker 3>have to be a credit card. So you can walk up

929
00:46:46.199 --> 00:46:49.039
<v Speaker 3>with an invoice to get Hub and say here, I

930
00:46:49.119 --> 00:46:51.320
<v Speaker 3>want you know, give me. I think the minimum invoice

931
00:46:51.320 --> 00:46:53.159
<v Speaker 3>is like five thousand dollars. It's a pretty large number.

932
00:46:53.159 --> 00:46:55.920
<v Speaker 3>But you can pay an invoice in bulk and know

933
00:46:56.199 --> 00:46:58.519
<v Speaker 3>I will pay my maintenance fees, you know, in bulk

934
00:46:58.599 --> 00:47:01.320
<v Speaker 3>for this amount of time for all projects.

935
00:47:01.800 --> 00:47:03.400
<v Speaker 2>Yeah, so GitHub will disperse it.

936
00:47:03.440 --> 00:47:04.079
<v Speaker 3>There's a process.

937
00:47:04.320 --> 00:47:06.719
<v Speaker 2>Well that's important, right, Like that's the important part of it.

938
00:47:06.760 --> 00:47:08.840
<v Speaker 3>And it can also wire straight into your enterprise buss.

939
00:47:08.880 --> 00:47:12.039
<v Speaker 3>So if you're already paying for repose and you know

940
00:47:12.280 --> 00:47:15.320
<v Speaker 3>actions and all time, and you know space inside GitHub

941
00:47:15.719 --> 00:47:18.320
<v Speaker 3>with they already have that, then your sponsors just end

942
00:47:18.400 --> 00:47:22.079
<v Speaker 3>up as line items inside that nice payment system.

943
00:47:22.119 --> 00:47:22.519
<v Speaker 2>Already.

944
00:47:22.679 --> 00:47:24.960
<v Speaker 1>I'll tell you what we don't want. We don't want

945
00:47:25.039 --> 00:47:30.679
<v Speaker 1>the Spotify model. Like imagine GitHub. In order for you

946
00:47:30.719 --> 00:47:33.400
<v Speaker 1>to access any of this open store of source stuff,

947
00:47:33.800 --> 00:47:36.039
<v Speaker 1>you'd have to pay GitHub, you know, ten dollars a

948
00:47:36.039 --> 00:47:38.840
<v Speaker 1>month or thirty dollars a month or whatever, and then

949
00:47:38.880 --> 00:47:41.239
<v Speaker 1>you can use whatever you want for free, and then

950
00:47:41.320 --> 00:47:44.760
<v Speaker 1>that gets dispersed among all of the projects. Like that

951
00:47:44.840 --> 00:47:48.440
<v Speaker 1>model is horrible. It's horrible for the music business, and

952
00:47:48.480 --> 00:47:50.880
<v Speaker 1>it would be even more horrible for the software business.

953
00:47:51.159 --> 00:47:53.119
<v Speaker 1>I'm just the anti patterns are community.

954
00:47:53.199 --> 00:47:55.719
<v Speaker 3>I've seen proposals for doing that through like Newgate, like

955
00:47:56.239 --> 00:47:58.719
<v Speaker 3>nugat would get a bulk upload and then send out

956
00:47:58.760 --> 00:47:59.880
<v Speaker 3>whoever has most downloads.

957
00:48:00.079 --> 00:48:01.000
<v Speaker 2>I don't like that at all.

958
00:48:01.360 --> 00:48:03.840
<v Speaker 3>I don't like any of those systems either, because they

959
00:48:03.880 --> 00:48:06.559
<v Speaker 3>all can be gamed. With the numbers. With the open

960
00:48:06.599 --> 00:48:09.000
<v Speaker 3>source maintenance fee, you basically say, here are the projects

961
00:48:09.039 --> 00:48:12.480
<v Speaker 3>I use. Whatever you know in your package reference or

962
00:48:12.480 --> 00:48:14.360
<v Speaker 3>your package cafig. If you're still using that, you look

963
00:48:14.400 --> 00:48:17.440
<v Speaker 3>at your packages you depend on. You chose them. They

964
00:48:17.480 --> 00:48:19.119
<v Speaker 3>didn't get in there because someone out of them. You

965
00:48:19.199 --> 00:48:21.360
<v Speaker 3>chose them. You go to each others project, you go, oh,

966
00:48:21.480 --> 00:48:22.760
<v Speaker 3>there's the fee for that one. There's a feed for

967
00:48:22.800 --> 00:48:24.039
<v Speaker 3>that win there's a feed for that, and there's a fee,

968
00:48:24.039 --> 00:48:26.320
<v Speaker 3>but there all of the things that I use and

969
00:48:26.320 --> 00:48:28.719
<v Speaker 3>the people that I depend on, I've now paid the fee.

970
00:48:29.440 --> 00:48:31.719
<v Speaker 3>You're done. You don't have to go down some crazy train,

971
00:48:32.159 --> 00:48:33.199
<v Speaker 3>you know, tree.

972
00:48:32.920 --> 00:48:36.880
<v Speaker 2>And ultimately the maintainers are setting the fear for their projects.

973
00:48:36.920 --> 00:48:37.239
<v Speaker 3>Correct.

974
00:48:37.280 --> 00:48:40.079
<v Speaker 2>And if you don't like that fee, don't use that project.

975
00:48:40.159 --> 00:48:42.800
<v Speaker 3>Right, if a fee is like ten thousand dollars per month,

976
00:48:42.920 --> 00:48:45.519
<v Speaker 3>you might go, hmm, I think I can have an

977
00:48:45.559 --> 00:48:49.280
<v Speaker 3>engineer use that source FEDE and maintain it myself and

978
00:48:49.360 --> 00:48:51.760
<v Speaker 3>all the overhead that goes with staying on top of

979
00:48:51.760 --> 00:48:54.840
<v Speaker 3>the source code, being awarable, security vulnerabilities, that whole list

980
00:48:54.880 --> 00:48:57.400
<v Speaker 3>I brought back. You're like, yeah, that makes sense. But

981
00:48:57.920 --> 00:49:01.639
<v Speaker 3>for a small company, ten dollars And I've had many

982
00:49:01.719 --> 00:49:05.639
<v Speaker 3>business people tell me ten dollars is too low, just flat.

983
00:49:05.840 --> 00:49:09.159
<v Speaker 1>That depends on depends on the value right that you're providing, correct.

984
00:49:09.199 --> 00:49:12.000
<v Speaker 3>And so the Wix toolset I use as a tiered model.

985
00:49:12.039 --> 00:49:13.760
<v Speaker 3>So we're going to try to also show that where

986
00:49:13.800 --> 00:49:16.440
<v Speaker 3>if you're a small company less than twenty people, it's ten,

987
00:49:16.519 --> 00:49:19.320
<v Speaker 3>if you're twenty to one hundred people, it's forty. And

988
00:49:19.360 --> 00:49:21.920
<v Speaker 3>if you're over that at sixty. That tiered model basic

989
00:49:21.960 --> 00:49:23.599
<v Speaker 3>to say that you're getting more value out of it

990
00:49:23.599 --> 00:49:28.320
<v Speaker 3>as a bigger company, that those tiering systems will see

991
00:49:28.320 --> 00:49:30.360
<v Speaker 3>how all that works. But the goal is basically, look,

992
00:49:30.440 --> 00:49:32.400
<v Speaker 3>nobody's arguing that ten dollars is too much.

993
00:49:32.480 --> 00:49:34.920
<v Speaker 2>Yeah, right, like it just if it is.

994
00:49:35.000 --> 00:49:38.000
<v Speaker 3>It's like a dev at one hundred thousand dollars a year,

995
00:49:38.039 --> 00:49:39.800
<v Speaker 3>it's like two hours of their time for the year.

996
00:49:40.360 --> 00:49:42.400
<v Speaker 3>So if you can take the source code, build it,

997
00:49:43.000 --> 00:49:45.119
<v Speaker 3>maintain it, keep up the date on all those things

998
00:49:45.119 --> 00:49:46.960
<v Speaker 3>for less than two dollars per year, then that your

999
00:49:47.000 --> 00:49:49.719
<v Speaker 3>procurement team's right. You should copy the code and maintain

1000
00:49:49.719 --> 00:49:53.559
<v Speaker 3>it yourself, right, right, But two hours is not a

1001
00:49:53.559 --> 00:49:56.159
<v Speaker 3>lot of time to keep up even build a project

1002
00:49:56.199 --> 00:49:58.480
<v Speaker 3>and keep tracking. Come on, it doesn't work, and that's

1003
00:49:58.480 --> 00:50:01.159
<v Speaker 3>why we want maintainers. Do you see the reactions when

1004
00:50:01.159 --> 00:50:04.480
<v Speaker 3>other projects say, hey, we're gonna not be open source anymore.

1005
00:50:04.800 --> 00:50:07.079
<v Speaker 3>You can see people being upset. She's like, look, you

1006
00:50:07.119 --> 00:50:09.639
<v Speaker 3>have the source code, you can build it, and they're like, oh,

1007
00:50:09.719 --> 00:50:11.679
<v Speaker 3>that takes work. I'm like, wait, so.

1008
00:50:11.719 --> 00:50:14.239
<v Speaker 2>You know it takes work. You know enough to know

1009
00:50:14.320 --> 00:50:15.480
<v Speaker 2>why I'm where I am.

1010
00:50:15.519 --> 00:50:18.480
<v Speaker 3>You're complaining that it takes work, but we're not doing

1011
00:50:18.519 --> 00:50:21.760
<v Speaker 3>anything to support the people doing that work. And I

1012
00:50:21.800 --> 00:50:23.800
<v Speaker 3>want to be really, really really clear, because I don't

1013
00:50:23.800 --> 00:50:26.559
<v Speaker 3>think I've said this yet. These are not support contracts.

1014
00:50:26.800 --> 00:50:29.159
<v Speaker 3>These are not I if you're going to get fixed

1015
00:50:29.159 --> 00:50:31.239
<v Speaker 3>my bugs, you're going to fix my features, you're going

1016
00:50:31.320 --> 00:50:34.000
<v Speaker 3>to write the code. It's not that, it's essentially the

1017
00:50:34.039 --> 00:50:36.920
<v Speaker 3>work it takes to keep a project running that people

1018
00:50:36.960 --> 00:50:38.559
<v Speaker 3>don't see. I know a lot of people don't even

1019
00:50:38.599 --> 00:50:41.440
<v Speaker 3>know that's there, but just sucks up so much time

1020
00:50:41.480 --> 00:50:43.920
<v Speaker 3>of a Maintainer's so much energy out of a maintainer.

1021
00:50:44.039 --> 00:50:47.000
<v Speaker 1>Have you published the documents and the mechanisms to go

1022
00:50:47.039 --> 00:50:49.679
<v Speaker 1>ahead and do this in your own projects? Like if

1023
00:50:49.719 --> 00:50:52.480
<v Speaker 1>somebody's listening and they say, yeah, I want to implement

1024
00:50:52.519 --> 00:50:54.719
<v Speaker 1>this in my project, do you have a little zip

1025
00:50:54.719 --> 00:50:57.360
<v Speaker 1>file they can download and with instructions and everything.

1026
00:50:57.400 --> 00:50:57.559
<v Speaker 2>Yeah.

1027
00:50:57.599 --> 00:51:00.199
<v Speaker 3>So if you go to open Source Maintenance Fee dot org,

1028
00:51:01.280 --> 00:51:03.679
<v Speaker 3>you will get presented with two options at the top.

1029
00:51:03.760 --> 00:51:06.360
<v Speaker 3>If you're a consumer. It explains why the open source

1030
00:51:06.400 --> 00:51:09.159
<v Speaker 3>maintenance fee is there. And I have a six minute

1031
00:51:09.199 --> 00:51:13.199
<v Speaker 3>video where I tell pieces of this story in one

1032
00:51:13.280 --> 00:51:15.400
<v Speaker 3>unified video, and then it breaks it down with the

1033
00:51:15.440 --> 00:51:17.920
<v Speaker 3>fact and things like that. There's a separate route you

1034
00:51:17.960 --> 00:51:20.679
<v Speaker 3>go through as a maintainer, and that essentially lays out

1035
00:51:20.719 --> 00:51:23.400
<v Speaker 3>the Hey, you're a maintainer. Here's why you should consider

1036
00:51:23.440 --> 00:51:26.400
<v Speaker 3>taking a maintenance fee all the work you're doing. Because

1037
00:51:26.440 --> 00:51:28.119
<v Speaker 3>when I talk to maintainers, a lot of them had

1038
00:51:28.159 --> 00:51:30.199
<v Speaker 3>never thought about all the work they'd been doing. But

1039
00:51:30.280 --> 00:51:32.079
<v Speaker 3>as I was talking to them, when I was first

1040
00:51:32.119 --> 00:51:33.960
<v Speaker 3>vetting this idea, a lot of them would like get

1041
00:51:34.000 --> 00:51:36.000
<v Speaker 3>to that point. They all start nodding, going, oh, yeah,

1042
00:51:36.039 --> 00:51:37.880
<v Speaker 3>I do a lot of wow, And I thought, oh,

1043
00:51:37.880 --> 00:51:39.880
<v Speaker 3>that's a lot of work, isn't it. So there's that,

1044
00:51:40.079 --> 00:51:42.599
<v Speaker 3>and then there's next one is this five step process.

1045
00:51:42.639 --> 00:51:45.639
<v Speaker 3>I think of the steps to do, and the first

1046
00:51:45.639 --> 00:51:49.880
<v Speaker 3>step is communicate the change. Tell your community that you're

1047
00:51:49.920 --> 00:51:52.639
<v Speaker 3>going to introduce a maintenance fee at some point in

1048
00:51:52.679 --> 00:51:54.519
<v Speaker 3>time in the future, with the date whatever that date

1049
00:51:54.599 --> 00:51:56.519
<v Speaker 3>is for your product. And then it says here's how

1050
00:51:56.519 --> 00:51:59.000
<v Speaker 3>you can set up with GIOB sponsors. And then here's

1051
00:51:59.039 --> 00:52:01.239
<v Speaker 3>what you do and you read me, and then here's

1052
00:52:01.280 --> 00:52:04.800
<v Speaker 3>the EULA. By the way, here's a EULA already man

1053
00:52:05.280 --> 00:52:07.880
<v Speaker 3>verified by the fire Giant lawyers. So if you want it,

1054
00:52:07.960 --> 00:52:10.559
<v Speaker 3>you can have it. It should work for you, no problem.

1055
00:52:10.880 --> 00:52:12.960
<v Speaker 3>I can't guarantee that. My lawyer won't let me tell

1056
00:52:13.000 --> 00:52:15.679
<v Speaker 3>you that. We guarantee that because lawyers won't ever do that.

1057
00:52:16.119 --> 00:52:17.920
<v Speaker 2>You're a lawyer.

1058
00:52:18.239 --> 00:52:20.800
<v Speaker 3>But it's good and because we got feedback on the

1059
00:52:20.840 --> 00:52:23.440
<v Speaker 3>first draft that I had up there that was not good.

1060
00:52:23.480 --> 00:52:25.400
<v Speaker 3>It had problems, and I got plenty of feedback from

1061
00:52:25.440 --> 00:52:28.599
<v Speaker 3>the internet that it was bad. But we fixed those bugs.

1062
00:52:28.639 --> 00:52:30.760
<v Speaker 3>No problem. And then it goes through on how to

1063
00:52:30.800 --> 00:52:33.320
<v Speaker 3>add the EULA to your package. And I have steps

1064
00:52:33.320 --> 00:52:38.880
<v Speaker 3>for both MPM, for for MPM and for new gits

1065
00:52:38.880 --> 00:52:40.639
<v Speaker 3>because those are the ones that I understand enough of

1066
00:52:40.760 --> 00:52:42.239
<v Speaker 3>to do that. But if people come along and say, hey,

1067
00:52:42.280 --> 00:52:44.400
<v Speaker 3>here's how I could do it for other types, I'd

1068
00:52:44.440 --> 00:52:48.079
<v Speaker 3>love to get that information on the website. But it's

1069
00:52:48.320 --> 00:52:51.119
<v Speaker 3>it's like a five step process. And the big one

1070
00:52:51.199 --> 00:52:55.039
<v Speaker 3>up front is copy this blank you know this message,

1071
00:52:55.039 --> 00:52:57.599
<v Speaker 3>replace the date, and send it to the place where

1072
00:52:57.639 --> 00:53:00.920
<v Speaker 3>your people are. Create an issue, pin the top, put

1073
00:53:00.920 --> 00:53:04.000
<v Speaker 3>a discussion, put at the top, say we're doing this,

1074
00:53:05.239 --> 00:53:07.079
<v Speaker 3>and then you do the rest of the steps and

1075
00:53:07.159 --> 00:53:10.719
<v Speaker 3>it will take you a day, I mean or two

1076
00:53:10.800 --> 00:53:13.599
<v Speaker 3>to do it. It's not hard to step up. Just

1077
00:53:13.719 --> 00:53:15.360
<v Speaker 3>had to get the I mean the hardest part was

1078
00:53:15.360 --> 00:53:17.920
<v Speaker 3>getting the yula put together that passed all the rules.

1079
00:53:18.079 --> 00:53:20.599
<v Speaker 3>Now you just copy and paste it and replace your

1080
00:53:20.639 --> 00:53:23.039
<v Speaker 3>license inside your your nigga peck and had.

1081
00:53:23.159 --> 00:53:25.000
<v Speaker 1>I can't believe we haven't asked you this question, but

1082
00:53:25.079 --> 00:53:27.000
<v Speaker 1>how did it work out for you so far? And

1083
00:53:27.159 --> 00:53:28.559
<v Speaker 1>how long has it been in place?

1084
00:53:28.880 --> 00:53:30.119
<v Speaker 3>It's been seven days?

1085
00:53:31.280 --> 00:53:32.239
<v Speaker 1>Wow, Okay.

1086
00:53:32.280 --> 00:53:34.639
<v Speaker 3>At the point of recording, it's been in force in

1087
00:53:34.719 --> 00:53:38.239
<v Speaker 3>seven days. It has been announced for a month and

1088
00:53:38.239 --> 00:53:41.360
<v Speaker 3>a half ish, because I announced it four weeks right

1089
00:53:41.360 --> 00:53:42.880
<v Speaker 3>after the maintenance fee was announced, which was the end

1090
00:53:42.880 --> 00:53:47.760
<v Speaker 3>of February, okay. And I got a lot of feedback

1091
00:53:47.880 --> 00:53:53.639
<v Speaker 3>and various questions up front, not a lot of pushback

1092
00:53:53.960 --> 00:53:58.559
<v Speaker 3>on doing it, not a lot of pushback on why

1093
00:53:58.920 --> 00:54:01.679
<v Speaker 3>or none of that real negativity of that. It could

1094
00:54:01.719 --> 00:54:03.320
<v Speaker 3>be that they're not saying it. I'm sure they're just

1095
00:54:03.320 --> 00:54:04.920
<v Speaker 3>not saying out loud they're playing people. I'm sure they're

1096
00:54:05.000 --> 00:54:06.480
<v Speaker 3>very upset that we're making.

1097
00:54:06.360 --> 00:54:06.920
<v Speaker 2>Do this work.

1098
00:54:07.079 --> 00:54:09.159
<v Speaker 3>I have got the feedback from some people say, hey,

1099
00:54:09.599 --> 00:54:11.119
<v Speaker 3>this is a lot of work to go through our

1100
00:54:11.199 --> 00:54:14.480
<v Speaker 3>legal team and our procurement team, and I'm like yep, yep,

1101
00:54:15.119 --> 00:54:17.480
<v Speaker 3>we would pay you money, but the procurement team's really

1102
00:54:17.519 --> 00:54:20.000
<v Speaker 3>a problem. I'm like, yeah, I know, like, well what

1103
00:54:20.039 --> 00:54:22.000
<v Speaker 3>do I do. I'm like, dude, it's your procurement team.

1104
00:54:22.639 --> 00:54:25.320
<v Speaker 3>Like you're going to have to educate them, and every

1105
00:54:25.480 --> 00:54:27.840
<v Speaker 3>company's procurement team needs to be educated so.

1106
00:54:28.119 --> 00:54:30.400
<v Speaker 2>Well, and you're going to build up more language around

1107
00:54:30.400 --> 00:54:32.639
<v Speaker 2>how to talk to your procurrement team as this goes by,

1108
00:54:32.760 --> 00:54:35.719
<v Speaker 2>because part of this is what's the cost of us

1109
00:54:35.760 --> 00:54:38.559
<v Speaker 2>moving off of this project or maintaining itself and like

1110
00:54:38.920 --> 00:54:42.719
<v Speaker 2>showing larger dollar signs to the CFO, then get this

1111
00:54:42.840 --> 00:54:45.159
<v Speaker 2>through procurement so we can keep working.

1112
00:54:45.840 --> 00:54:47.800
<v Speaker 3>So one of the feedback I got from people was

1113
00:54:49.000 --> 00:54:50.880
<v Speaker 3>our one idea I got out there was hey, be

1114
00:54:50.880 --> 00:54:52.599
<v Speaker 3>cool if you had a list of companies that had

1115
00:54:52.599 --> 00:54:55.679
<v Speaker 3>already adopted this as yeah, we're doing this, so I'll

1116
00:54:55.719 --> 00:54:58.960
<v Speaker 3>try to go there. We're early in this, and that's

1117
00:54:58.960 --> 00:55:00.599
<v Speaker 3>why I was really happy you got had me on

1118
00:55:00.639 --> 00:55:01.239
<v Speaker 3>because I just.

1119
00:55:01.199 --> 00:55:04.239
<v Speaker 2>Wanted super early stages. I think the main thing you

1120
00:55:04.320 --> 00:55:07.920
<v Speaker 2>READNACT right now, Rob, more than anything is more projects

1121
00:55:07.920 --> 00:55:08.920
<v Speaker 2>to set up like this.

1122
00:55:09.159 --> 00:55:11.840
<v Speaker 3>Yeah, So that's my feeling is that I was That's

1123
00:55:11.880 --> 00:55:13.679
<v Speaker 3>why I'm really glad you guys had me here is

1124
00:55:13.719 --> 00:55:16.800
<v Speaker 3>because we can get the message out to maintainers so

1125
00:55:16.800 --> 00:55:20.559
<v Speaker 3>the day can start going, Yeah, you know what I am.

1126
00:55:20.920 --> 00:55:23.719
<v Speaker 3>I know exactly what he's saying. I know exactly how

1127
00:55:23.760 --> 00:55:27.360
<v Speaker 3>he feels. And when I first announced this at the

1128
00:55:27.400 --> 00:55:30.840
<v Speaker 3>end of February, I got so many dms from maintainers

1129
00:55:31.119 --> 00:55:33.119
<v Speaker 3>and you know them, you know who they are. They

1130
00:55:33.159 --> 00:55:36.760
<v Speaker 3>DM me saying this is brilliant. I was like, great,

1131
00:55:37.119 --> 00:55:38.960
<v Speaker 3>but I didn't have the ule at that time, and

1132
00:55:39.519 --> 00:55:42.280
<v Speaker 3>there's a leap of faith that you have to do it.

1133
00:55:42.320 --> 00:55:45.199
<v Speaker 3>We've seen a couple so I want to talk about

1134
00:55:45.199 --> 00:55:47.599
<v Speaker 3>the commercialization that projects has been going through, because that's

1135
00:55:47.840 --> 00:55:50.960
<v Speaker 3>that's what we're kind of I'm hoping we can counter here.

1136
00:55:51.400 --> 00:55:53.800
<v Speaker 3>But the idea that maintainers will be like, you know what,

1137
00:55:54.760 --> 00:55:58.280
<v Speaker 3>my time is worth something, sure, and I should be

1138
00:55:58.360 --> 00:56:00.800
<v Speaker 3>paid for this set of work that I am doing.

1139
00:56:00.880 --> 00:56:02.840
<v Speaker 3>That actually is taking a lot of energy out of me.

1140
00:56:03.159 --> 00:56:05.199
<v Speaker 3>And if I could put this into my project, I'm

1141
00:56:05.199 --> 00:56:07.880
<v Speaker 3>not going to retire. I might not have enough users

1142
00:56:07.880 --> 00:56:10.519
<v Speaker 3>to make a business, but one developer I talked to

1143
00:56:10.599 --> 00:56:16.800
<v Speaker 3>said he probably has fifty ten to fifty companies using

1144
00:56:16.880 --> 00:56:19.000
<v Speaker 3>his software. I was like, so that's like, you know,

1145
00:56:19.039 --> 00:56:22.079
<v Speaker 3>one hundred to five hundred bucks a month. He's like, yeah,

1146
00:56:22.119 --> 00:56:25.440
<v Speaker 3>that's about a weekend. Okay. Oh if I had five

1147
00:56:25.519 --> 00:56:27.599
<v Speaker 3>hundred bucks a month that I could do something fun

1148
00:56:27.639 --> 00:56:30.440
<v Speaker 3>on a weekend, then I could spend the other weekend

1149
00:56:30.719 --> 00:56:33.639
<v Speaker 3>maintaining my project. Because he's just like, why am I bothering? Yeah,

1150
00:56:33.679 --> 00:56:36.159
<v Speaker 3>he's and he'll walk. Those companies will be out of luck.

1151
00:56:36.480 --> 00:56:39.199
<v Speaker 2>But you hit on the key point, which is the

1152
00:56:39.239 --> 00:56:42.840
<v Speaker 2>alternative is they head towards commercialization, which is going to

1153
00:56:42.840 --> 00:56:45.639
<v Speaker 2>make it even more expensive for a bunch of people

1154
00:56:45.639 --> 00:56:48.519
<v Speaker 2>who want to use this. It's going to make ask

1155
00:56:48.559 --> 00:56:50.760
<v Speaker 2>a developer to do thing I maintainer, do things they

1156
00:56:50.760 --> 00:56:54.280
<v Speaker 2>don't want to do, like operating a business like that.

1157
00:56:54.559 --> 00:56:57.519
<v Speaker 2>That is a weaker choice. Then here's the low friction

1158
00:56:57.599 --> 00:56:59.559
<v Speaker 2>way that lets everybody keep doing what they're good.

1159
00:56:59.360 --> 00:57:02.840
<v Speaker 3>At, and it walks away from open source, which I

1160
00:57:02.920 --> 00:57:05.360
<v Speaker 3>don't want. I don't want that to be the way.

1161
00:57:05.199 --> 00:57:07.079
<v Speaker 2>The alternative open source starts to implode.

1162
00:57:07.159 --> 00:57:10.239
<v Speaker 3>Yeah right, It basically says, you know what open source failed,

1163
00:57:10.679 --> 00:57:14.239
<v Speaker 3>and that requires me to say, yeah, no, that idea

1164
00:57:14.280 --> 00:57:18.199
<v Speaker 3>that I had well in nineteen ninety nine, and then

1165
00:57:18.320 --> 00:57:20.840
<v Speaker 3>finally made a reality in two thousand and four that

1166
00:57:20.960 --> 00:57:22.719
<v Speaker 3>you know, companies should do open source and it should

1167
00:57:22.760 --> 00:57:25.039
<v Speaker 3>be a thing, and people and developer should do open source.

1168
00:57:25.079 --> 00:57:27.480
<v Speaker 3>You should be able to go out there and create

1169
00:57:27.519 --> 00:57:30.840
<v Speaker 3>communities around your source code. Wow, that should be possible.

1170
00:57:30.880 --> 00:57:33.480
<v Speaker 3>It just says no, don't or don't be successful because

1171
00:57:33.519 --> 00:57:34.599
<v Speaker 3>you will end up in a space.

1172
00:57:34.760 --> 00:57:37.199
<v Speaker 2>Yeah, you can do it, you just won't be successful.

1173
00:57:36.760 --> 00:57:38.559
<v Speaker 3>Where you hate it. Yeah, just don't be successful. Don't

1174
00:57:38.719 --> 00:57:41.159
<v Speaker 3>don't have your project work out because you will end

1175
00:57:41.239 --> 00:57:42.920
<v Speaker 3>up in a space that you want, or if you do,

1176
00:57:43.079 --> 00:57:45.039
<v Speaker 3>you have to enter that space where I don't care

1177
00:57:45.199 --> 00:57:47.159
<v Speaker 3>about any of you, which is a completely different way

1178
00:57:47.199 --> 00:57:49.079
<v Speaker 3>of interacting with your project and the community. It's not

1179
00:57:49.159 --> 00:57:53.360
<v Speaker 3>a community. It pains me and I'm I'm very conflicted

1180
00:57:53.400 --> 00:57:57.079
<v Speaker 3>in this whole space still because I'm seeing people commercializing

1181
00:57:57.119 --> 00:58:00.960
<v Speaker 3>their projects. At the same time, I couldn't reach out.

1182
00:58:00.960 --> 00:58:02.840
<v Speaker 3>I couldn't reach out to everybody. So I'm hoping here,

1183
00:58:02.880 --> 00:58:04.519
<v Speaker 3>at least take a little maintenance fee and go you

1184
00:58:04.559 --> 00:58:06.519
<v Speaker 3>know what, I will follow that because there's a list

1185
00:58:06.639 --> 00:58:08.440
<v Speaker 3>or no, no, I'm going to go route like that,

1186
00:58:08.480 --> 00:58:10.760
<v Speaker 3>but a different way or a different spin on it great.

1187
00:58:10.880 --> 00:58:13.039
<v Speaker 3>I want to see where people go. I just want

1188
00:58:13.039 --> 00:58:15.320
<v Speaker 3>maintainers to have an option that they don't have to

1189
00:58:15.360 --> 00:58:19.119
<v Speaker 3>give up and commercialize or just walk away, and they

1190
00:58:19.119 --> 00:58:21.480
<v Speaker 3>can have a space that you know what, I could

1191
00:58:21.519 --> 00:58:26.440
<v Speaker 3>fund a bit of my world here and feel good

1192
00:58:26.599 --> 00:58:31.000
<v Speaker 3>about this space and if you know, and they'll have

1193
00:58:31.039 --> 00:58:34.920
<v Speaker 3>other maintainers with them. I'm out here, right. So people

1194
00:58:34.920 --> 00:58:36.360
<v Speaker 3>told me I was gonna get fired at Microsoft when

1195
00:58:36.360 --> 00:58:37.480
<v Speaker 3>I said I was going to try to open source

1196
00:58:37.480 --> 00:58:41.400
<v Speaker 3>my little project. It didn't. I was there for eight

1197
00:58:41.440 --> 00:58:44.559
<v Speaker 3>more years until I decided to retire. I'm doing this now.

1198
00:58:44.880 --> 00:58:46.760
<v Speaker 3>I was afraid I was going to get lambasted off

1199
00:58:46.760 --> 00:58:50.280
<v Speaker 3>the internet. I haven't been, and I hope so we

1200
00:58:50.280 --> 00:58:53.000
<v Speaker 3>could do something to change the ecosystem, because that's where

1201
00:58:53.000 --> 00:58:53.519
<v Speaker 3>I want us.

1202
00:58:53.880 --> 00:58:56.559
<v Speaker 1>Well, I have a few open source projects that are

1203
00:58:56.599 --> 00:58:59.679
<v Speaker 1>popular that then I think I might visit this with

1204
00:59:01.280 --> 00:59:03.480
<v Speaker 1>So yeah, I'm going to be looking through my repos

1205
00:59:03.519 --> 00:59:03.880
<v Speaker 1>and it.

1206
00:59:03.760 --> 00:59:06.639
<v Speaker 2>Looks like a weekend's worth of work. Yeah. To learn

1207
00:59:06.679 --> 00:59:09.320
<v Speaker 2>the pattern, yeah, and put it into your project.

1208
00:59:09.360 --> 00:59:12.800
<v Speaker 3>Yeah. Yah, Yeah, you follow pattern and if there's issues,

1209
00:59:12.880 --> 00:59:15.280
<v Speaker 3>you know, send them to me and will revise the

1210
00:59:15.400 --> 00:59:16.599
<v Speaker 3>document and make it better.

1211
00:59:16.679 --> 00:59:18.719
<v Speaker 2>Yeah. And the more we can refine the material the better.

1212
00:59:18.960 --> 00:59:23.119
<v Speaker 3>Yeah, yeah, exactly, it's good stuff. Yeah, that's that's the

1213
00:59:24.480 --> 00:59:26.280
<v Speaker 3>I hope we can get to a better space.

1214
00:59:26.440 --> 00:59:28.079
<v Speaker 1>I'm sure we will at some point.

1215
00:59:28.199 --> 00:59:30.599
<v Speaker 3>Can I add a couple of gripes at the end here? Yeah,

1216
00:59:30.639 --> 00:59:32.159
<v Speaker 3>go ahead, you could try to stick where you want,

1217
00:59:32.159 --> 00:59:34.760
<v Speaker 3>all right. So one people will say it's a rug pull.

1218
00:59:35.920 --> 00:59:38.440
<v Speaker 3>You're going to get that the whole open source maintenance fee,

1219
00:59:38.559 --> 00:59:41.480
<v Speaker 3>any charging for anything turns into rug poole. I don't

1220
00:59:41.480 --> 00:59:43.320
<v Speaker 3>have a good answer that, because they're not entirely wrong.

1221
00:59:43.440 --> 00:59:44.960
<v Speaker 3>It is a bit of a rug pull. It is

1222
00:59:45.119 --> 00:59:46.639
<v Speaker 3>we're changing the rules on you.

1223
00:59:46.679 --> 00:59:49.079
<v Speaker 2>The ultimate rug pool is a project you're depending on

1224
00:59:49.199 --> 00:59:52.159
<v Speaker 2>no longer being dependent and being maintained. Right, which rug

1225
00:59:52.159 --> 00:59:53.400
<v Speaker 2>pole would you like? Yeah?

1226
00:59:53.440 --> 00:59:56.360
<v Speaker 3>Yeah, the alternative is exactly. The alternative is they just

1227
00:59:56.400 --> 01:00:00.480
<v Speaker 3>go away. And my hope is that we can get

1228
01:00:00.559 --> 01:00:02.519
<v Speaker 3>out get to a place where it's no longer a

1229
01:00:02.639 --> 01:00:05.280
<v Speaker 3>rug pole. Because everybody expects it that companies walk up

1230
01:00:05.280 --> 01:00:08.159
<v Speaker 3>to a project, go man, this one doesn't take a

1231
01:00:08.199 --> 01:00:10.559
<v Speaker 3>maintenance fee or anything. How do we know that the

1232
01:00:10.599 --> 01:00:13.320
<v Speaker 3>companies the project is going to stick around for us?

1233
01:00:13.480 --> 01:00:15.039
<v Speaker 3>So I'd love for us to get to the other

1234
01:00:15.079 --> 01:00:17.840
<v Speaker 3>side where it's not a rug pull, it's a you

1235
01:00:17.960 --> 01:00:19.840
<v Speaker 3>need to do this so that we can, like, we

1236
01:00:19.840 --> 01:00:22.000
<v Speaker 3>would like to have some interaction here, so we know

1237
01:00:22.519 --> 01:00:24.679
<v Speaker 3>that you'll continue to maintain this project for us. So

1238
01:00:24.679 --> 01:00:27.760
<v Speaker 3>I'd love for the to turn around. Maintainers may still

1239
01:00:27.760 --> 01:00:29.400
<v Speaker 3>say I don't want money, because I don't want money,

1240
01:00:29.519 --> 01:00:31.719
<v Speaker 3>that's fine. I'd love for it to be turned around,

1241
01:00:31.719 --> 01:00:34.880
<v Speaker 3>so it's not a rug pull. The second right is

1242
01:00:34.920 --> 01:00:38.400
<v Speaker 3>that I've been seeing this a lot as the commercialization

1243
01:00:38.480 --> 01:00:42.800
<v Speaker 3>has started happening, or as this whole all these issues

1244
01:00:42.840 --> 01:00:45.599
<v Speaker 3>have popped up. I see people saying they shouldn't have

1245
01:00:45.679 --> 01:00:48.159
<v Speaker 3>made an open source in the first place if they

1246
01:00:48.159 --> 01:00:51.000
<v Speaker 3>didn't want to give it away for free, and it

1247
01:00:51.519 --> 01:00:54.199
<v Speaker 3>just it. It makes me so mad.

1248
01:00:54.360 --> 01:00:56.239
<v Speaker 2>Is an awesome piece of ignorance there.

1249
01:00:57.039 --> 01:01:01.400
<v Speaker 3>Because I didn't make it open source to make it free.

1250
01:01:01.840 --> 01:01:05.239
<v Speaker 3>I made it open source so that people could join

1251
01:01:05.800 --> 01:01:08.440
<v Speaker 3>and we could build something right right, But that's not

1252
01:01:08.480 --> 01:01:11.280
<v Speaker 3>what happened. The fact that the source code is available

1253
01:01:11.519 --> 01:01:14.239
<v Speaker 3>for you to do as you wish with it, as

1254
01:01:14.280 --> 01:01:19.000
<v Speaker 3>in freedom to go forth, is what this is about.

1255
01:01:19.559 --> 01:01:22.840
<v Speaker 3>It was never about me giving my time away for

1256
01:01:23.079 --> 01:01:28.159
<v Speaker 3>twenty five years for free and having people not appreciate it.

1257
01:01:28.199 --> 01:01:31.000
<v Speaker 3>That was never the goal. And it also is never

1258
01:01:31.039 --> 01:01:32.719
<v Speaker 3>the goal that we'd get to the end twenty five

1259
01:01:32.800 --> 01:01:36.480
<v Speaker 3>years later and say, haha, I'm now going to charge

1260
01:01:36.519 --> 01:01:38.480
<v Speaker 3>you for this thing that you become dependent on.

1261
01:01:39.519 --> 01:01:42.360
<v Speaker 2>That was the goal. That's what I wanted all along.

1262
01:01:42.679 --> 01:01:45.119
<v Speaker 1>Like, come on, well, and the fact is right, you're

1263
01:01:45.119 --> 01:01:45.599
<v Speaker 1>not paying.

1264
01:01:45.880 --> 01:01:46.920
<v Speaker 3>No maintainer's doing that.

1265
01:01:47.320 --> 01:01:49.079
<v Speaker 1>You're not paying if you're not making money on it.

1266
01:01:49.079 --> 01:01:51.159
<v Speaker 1>If you are making money on it, it should be

1267
01:01:51.199 --> 01:01:52.639
<v Speaker 1>less of an issue exactly.

1268
01:01:52.920 --> 01:01:56.039
<v Speaker 3>But this whole attitude I see about. They never should

1269
01:01:56.039 --> 01:01:57.599
<v Speaker 3>have made it free in the first place.

1270
01:01:57.679 --> 01:02:01.159
<v Speaker 1>Say just I get so torq staggering bullshit.

1271
01:02:01.280 --> 01:02:05.360
<v Speaker 2>That never made it free. I expected contributions. They never came.

1272
01:02:05.920 --> 01:02:10.480
<v Speaker 2>Now I'm buried either pay me or contribute. Well, not anymore.

1273
01:02:11.079 --> 01:02:13.800
<v Speaker 3>You know, I don't even expect contributions, like like, let's

1274
01:02:13.840 --> 01:02:17.079
<v Speaker 3>be like, even as a maintainer, I didn't expect contributions.

1275
01:02:17.159 --> 01:02:20.920
<v Speaker 3>I wanted people talking about it, helping people participating, working together.

1276
01:02:21.320 --> 01:02:26.320
<v Speaker 3>I would have my project suffered significantly in documentation because

1277
01:02:26.360 --> 01:02:29.519
<v Speaker 3>I'd hope that people would contribute what they learned is

1278
01:02:29.559 --> 01:02:31.800
<v Speaker 3>a great contribution and just write it down and give

1279
01:02:31.840 --> 01:02:33.599
<v Speaker 3>it back to us. Nobody did that. They wrote it

1280
01:02:33.599 --> 01:02:36.159
<v Speaker 3>on their own blogs in their own places, and they

1281
01:02:36.199 --> 01:02:38.480
<v Speaker 3>spread it all about the internet. They never came back

1282
01:02:38.480 --> 01:02:40.920
<v Speaker 3>to a project. That's probably partly a failure on my

1283
01:02:41.039 --> 01:02:43.920
<v Speaker 3>maintenance of my project and my doctition and my community.

1284
01:02:44.239 --> 01:02:47.159
<v Speaker 3>But the goal was that people would work together and

1285
01:02:47.159 --> 01:02:48.679
<v Speaker 3>we could all be set up ninjas together.

1286
01:02:48.960 --> 01:02:49.159
<v Speaker 2>Yep.

1287
01:02:49.280 --> 01:02:52.239
<v Speaker 3>Right, those sixteen people you talked about the beginning, Yeah,

1288
01:02:52.400 --> 01:02:55.119
<v Speaker 3>those my people, right, that's why we're out here, right,

1289
01:02:55.440 --> 01:02:59.559
<v Speaker 3>we're making these things happen, and we are not alone.

1290
01:03:00.239 --> 01:03:02.320
<v Speaker 3>And then there's way, way, way too many people are

1291
01:03:02.320 --> 01:03:03.800
<v Speaker 3>out here. Well, it's free, so I'm just going to

1292
01:03:03.920 --> 01:03:06.400
<v Speaker 3>use it. And I can't believe that you didn't take

1293
01:03:06.440 --> 01:03:08.800
<v Speaker 3>care of I issue ten years ago when someone else

1294
01:03:08.880 --> 01:03:09.239
<v Speaker 3>opened it.

1295
01:03:09.519 --> 01:03:13.400
<v Speaker 2>Yeah. The original mantra of the open source community was

1296
01:03:13.440 --> 01:03:18.000
<v Speaker 2>this small group of peers building stuff and helping each

1297
01:03:18.039 --> 01:03:20.639
<v Speaker 2>other to make it better. Right, And that's I think

1298
01:03:20.719 --> 01:03:24.199
<v Speaker 2>one tenth of one percent of the audience is actually

1299
01:03:24.239 --> 01:03:26.119
<v Speaker 2>out there. And I'm not saying anything bad about that.

1300
01:03:26.159 --> 01:03:28.840
<v Speaker 2>It's like, but recognize where you're sitting. Yeah, there's a

1301
01:03:28.840 --> 01:03:30.880
<v Speaker 2>whole other show here to talk about. How do we

1302
01:03:31.960 --> 01:03:36.039
<v Speaker 2>work with contributors to just recognize their value. But we

1303
01:03:36.079 --> 01:03:38.320
<v Speaker 2>can do that today. Let's work on the reality of

1304
01:03:38.320 --> 01:03:40.039
<v Speaker 2>where we are right now, which is that most of

1305
01:03:40.079 --> 01:03:43.400
<v Speaker 2>these open source projects have a maintainer and that person

1306
01:03:43.440 --> 01:03:44.559
<v Speaker 2>needs help. Rob.

1307
01:03:44.920 --> 01:03:48.159
<v Speaker 1>We got to pull the clock here and say thank

1308
01:03:48.199 --> 01:03:50.920
<v Speaker 1>you very much. This is great. It's a great idea,

1309
01:03:51.079 --> 01:03:54.440
<v Speaker 1>it's great stuff. I hope that I can get involved

1310
01:03:54.599 --> 01:03:57.840
<v Speaker 1>in it, and I hope other people listening will evaluate

1311
01:03:57.880 --> 01:04:02.320
<v Speaker 1>their open source projects and see whether this makes sense

1312
01:04:02.480 --> 01:04:02.719
<v Speaker 1>to you.

1313
01:04:03.039 --> 01:04:05.480
<v Speaker 3>It's the beginning of a conversation that we need to have.

1314
01:04:06.159 --> 01:04:09.000
<v Speaker 3>I'm hoping it can unlock more ideas so that we

1315
01:04:09.159 --> 01:04:12.199
<v Speaker 3>get to a place that is sustainable for all these maintainers.

1316
01:04:12.800 --> 01:04:14.400
<v Speaker 3>Thanks Rob, Thanks guys.

1317
01:04:14.119 --> 01:04:16.280
<v Speaker 1>And thank you for listening, and we'll see you next

1318
01:04:16.320 --> 01:04:39.239
<v Speaker 1>time on dot net rocks. Dot dot net Rocks is

1319
01:04:39.280 --> 01:04:43.000
<v Speaker 1>brought to you by Franklin's Net and produced by Pop Studios,

1320
01:04:43.360 --> 01:04:47.400
<v Speaker 1>a full service audio, video and post production facility located

1321
01:04:47.400 --> 01:04:50.360
<v Speaker 1>physically in New London, Connecticut, and of course in the

1322
01:04:50.400 --> 01:04:55.480
<v Speaker 1>cloud online at pwop dot com. Visit our website at

1323
01:04:55.519 --> 01:04:57.360
<v Speaker 1>d O T N E t R O c k

1324
01:04:57.639 --> 01:05:02.440
<v Speaker 1>S dot com for RSS feeds, downloads, mobile apps, comments,

1325
01:05:02.760 --> 01:05:05.280
<v Speaker 1>and access to the full archives going back to show

1326
01:05:05.360 --> 01:05:09.079
<v Speaker 1>number one, recorded in September two thousand and two. And

1327
01:05:09.199 --> 01:05:11.599
<v Speaker 1>make sure you check out our sponsors. They keep us

1328
01:05:11.599 --> 01:05:15.079
<v Speaker 1>in business. Now go write some code. See you next time.

1329
01:05:16.000 --> 01:05:24.880
<v Speaker 3>You got JAD middle vans. Then I
