1 00:00:00,420 --> 00:00:05,910 [Music] 2 00:00:10,719 --> 00:00:15,519 Hello. Welcome again to PyCon Day Three. 3 00:00:13,840 --> 00:00:17,279 Uh it's my pleasure to announce 4 00:00:15,519 --> 00:00:19,119 Christopher Nogabau with his talk, The 5 00:00:17,279 --> 00:00:19,840 Death of Consequences. Take it away, 6 00:00:19,119 --> 00:00:21,390 Chris. 7 00:00:19,840 --> 00:00:23,519 Thank you. 8 00:00:21,390 --> 00:00:26,640 [Applause] 9 00:00:23,519 --> 00:00:28,080 Hi. I you've come to my opinion talk. 10 00:00:26,640 --> 00:00:29,760 This is a talk I prepared for a 11 00:00:28,080 --> 00:00:32,320 different conference which is slightly 12 00:00:29,760 --> 00:00:33,840 less lax on timing. It is going to run 13 00:00:32,320 --> 00:00:35,680 long. It's not going to run so long that 14 00:00:33,840 --> 00:00:37,120 you'll miss the next talk. But if you're 15 00:00:35,680 --> 00:00:38,559 getting antsy, it's okay. You will get 16 00:00:37,120 --> 00:00:41,840 time to go to another room at the end of 17 00:00:38,559 --> 00:00:43,920 it. Um, so yeah, again, my name 18 00:00:41,840 --> 00:00:45,600 you may know me from the talk I gave 19 00:00:43,920 --> 00:00:47,120 yesterday or the fact that I host 20 00:00:45,600 --> 00:00:50,160 lightning talks or various other things 21 00:00:47,120 --> 00:00:51,920 I do in the Python community. Um, you 22 00:00:50,160 --> 00:00:53,199 may have seen over the last year a lot 23 00:00:51,920 --> 00:00:55,600 of talks about open source 24 00:00:53,199 --> 00:00:57,199 sustainability, the way things are in 25 00:00:55,600 --> 00:00:59,280 open source. And I'm here to set the 26 00:00:57,199 --> 00:01:01,760 stage for those talks that you've seen. 27 00:00:59,280 --> 00:01:04,320 This is a talk about why things are the 28 00:01:01,760 --> 00:01:05,840 way they are in open source. Now, how 29 00:01:04,320 --> 00:01:08,000 this talk is going to work is that I'm 30 00:01:05,840 --> 00:01:09,600 going to start with some background. I'm 31 00:01:08,000 --> 00:01:11,840 going to selectively present some 32 00:01:09,600 --> 00:01:13,920 evidence and then I'm going to present 33 00:01:11,840 --> 00:01:16,560 the conclusions that follow directly 34 00:01:13,920 --> 00:01:18,320 from that evidence. 35 00:01:16,560 --> 00:01:21,200 If you're into rhetoric, you will 36 00:01:18,320 --> 00:01:23,600 recognize this as reductionism. 37 00:01:21,200 --> 00:01:24,720 This is necessary because I have only 30 38 00:01:23,600 --> 00:01:26,560 minutes which I'm going to use up 39 00:01:24,720 --> 00:01:30,080 entirely to try to deliver a clear 40 00:01:26,560 --> 00:01:33,119 message. You have been warned. 41 00:01:30,080 --> 00:01:35,680 So the talk, this talk is about the 42 00:01:33,119 --> 00:01:37,280 first golden age of open source which I 43 00:01:35,680 --> 00:01:39,200 believe everyone here in this room has 44 00:01:37,280 --> 00:01:41,520 lived through 45 00:01:39,200 --> 00:01:44,960 and is now in my view firmly and 46 00:01:41,520 --> 00:01:46,880 indisputably at its end. Two key events 47 00:01:44,960 --> 00:01:49,680 happened last year that I think signal 48 00:01:46,880 --> 00:01:51,600 that downfall. The first, which I spoke 49 00:01:49,680 --> 00:01:53,759 about at Monktoberfest last year. You 50 00:01:51,600 --> 00:01:55,680 can look up the video, stems from us as 51 00:01:53,759 --> 00:01:57,920 a community being unwilling to address 52 00:01:55,680 --> 00:02:00,079 the false and destructive narrative that 53 00:01:57,920 --> 00:02:02,719 being a terrible person makes you a more 54 00:02:00,079 --> 00:02:04,960 effective contributor to open source. 55 00:02:02,719 --> 00:02:07,920 The result of this was almost an 56 00:02:04,960 --> 00:02:10,080 international security incident. 57 00:02:07,920 --> 00:02:11,760 The other is that IBM announced that it 58 00:02:10,080 --> 00:02:13,440 was to acquire Hashi Corp in a 59 00:02:11,760 --> 00:02:15,840 transaction that closed earlier this 60 00:02:13,440 --> 00:02:18,160 year. This acquisition followed the 61 00:02:15,840 --> 00:02:20,640 rejection first by industry and then by 62 00:02:18,160 --> 00:02:23,599 the market of Hashi Corp's decision to 63 00:02:20,640 --> 00:02:25,440 rellic their suite of open-source tools, 64 00:02:23,599 --> 00:02:28,000 notably including Terraform under 65 00:02:25,440 --> 00:02:30,319 non-opensource terms that prevented 66 00:02:28,000 --> 00:02:32,239 cloud providers that Terraform was 67 00:02:30,319 --> 00:02:35,599 designed to interoperate with from 68 00:02:32,239 --> 00:02:38,239 offering services based on those tools. 69 00:02:35,599 --> 00:02:40,400 Hashi Corp's actions were a reaction 70 00:02:38,239 --> 00:02:43,120 like countless other open core companies 71 00:02:40,400 --> 00:02:45,040 to better larger better capitalized 72 00:02:43,120 --> 00:02:47,040 companies launching services that 73 00:02:45,040 --> 00:02:49,680 competed with their revenue streams 74 00:02:47,040 --> 00:02:51,120 using code that they had written. And 75 00:02:49,680 --> 00:02:53,200 while it makes sense to fight back 76 00:02:51,120 --> 00:02:54,480 against such extractive behavior, the 77 00:02:53,200 --> 00:02:56,480 way in which they did so was 78 00:02:54,480 --> 00:02:59,440 comprehensively rejected by people who 79 00:02:56,480 --> 00:03:01,360 care about open source. That rejection 80 00:02:59,440 --> 00:03:03,840 likely caused the drop in share price 81 00:03:01,360 --> 00:03:06,159 that enabled that acquisition. A 82 00:03:03,840 --> 00:03:08,239 complete failure of an open-source pro 83 00:03:06,159 --> 00:03:10,560 uh product business to operate as an 84 00:03:08,239 --> 00:03:12,480 independent entity. 85 00:03:10,560 --> 00:03:14,560 And ultimately the root cause of both of 86 00:03:12,480 --> 00:03:16,480 these things are the same. We as a 87 00:03:14,560 --> 00:03:19,360 movement have created incentives for 88 00:03:16,480 --> 00:03:20,800 people to perform undesirable behaviors. 89 00:03:19,360 --> 00:03:22,560 And today I want to talk about 90 00:03:20,800 --> 00:03:25,200 extractive behavior that leads to 91 00:03:22,560 --> 00:03:27,120 smaller projects becoming unsustainable 92 00:03:25,200 --> 00:03:29,440 and how we as a movement have actively 93 00:03:27,120 --> 00:03:31,519 chosen to incentivize extractive 94 00:03:29,440 --> 00:03:33,840 behavior and how we've thrown away our 95 00:03:31,519 --> 00:03:35,680 ability to fight back. 96 00:03:33,840 --> 00:03:38,000 So extractive behavior is not unique to 97 00:03:35,680 --> 00:03:39,680 open source. Many creative industries 98 00:03:38,000 --> 00:03:40,799 suffer from extractive behavior from 99 00:03:39,680 --> 00:03:44,319 corporations that are not 100 00:03:40,799 --> 00:03:45,840 disincentivized to do so. In 2023, a 101 00:03:44,319 --> 00:03:47,840 group of workers realized that their 102 00:03:45,840 --> 00:03:50,560 industry was likely to be significantly 103 00:03:47,840 --> 00:03:52,879 impacted by the rise of AI. That their 104 00:03:50,560 --> 00:03:54,560 work could be used to train AI models, 105 00:03:52,879 --> 00:03:56,959 which could eventually be used to 106 00:03:54,560 --> 00:03:59,840 devalue their work or worse still, 107 00:03:56,959 --> 00:04:01,840 completely replace their jobs. A threat 108 00:03:59,840 --> 00:04:03,680 that we as software engineers feel all 109 00:04:01,840 --> 00:04:05,280 the time at the moment. And yet, it 110 00:04:03,680 --> 00:04:08,720 wasn't the tech industry that stepped 111 00:04:05,280 --> 00:04:10,799 up. It was the entertainment industry. 112 00:04:08,720 --> 00:04:13,519 Both the writers unions and the actors 113 00:04:10,799 --> 00:04:15,680 unions for film and television in the US 114 00:04:13,519 --> 00:04:18,400 withdrew their labor for more than six 115 00:04:15,680 --> 00:04:20,720 months in protest to changes affecting 116 00:04:18,400 --> 00:04:23,040 their industry and threats that they saw 117 00:04:20,720 --> 00:04:24,880 on the horizon. Entertainment 118 00:04:23,040 --> 00:04:27,120 productions halted for more than 6 119 00:04:24,880 --> 00:04:29,199 months. But as a result, both these 120 00:04:27,120 --> 00:04:31,600 unions achieved long-term protection 121 00:04:29,199 --> 00:04:33,600 against their work or likenesses being 122 00:04:31,600 --> 00:04:36,000 exploited for AI training without their 123 00:04:33,600 --> 00:04:38,080 consent. 124 00:04:36,000 --> 00:04:39,840 Collective action is a balance against 125 00:04:38,080 --> 00:04:42,479 the power dynamics inherent in 126 00:04:39,840 --> 00:04:44,720 employment situations. It's easy for an 127 00:04:42,479 --> 00:04:47,040 employer to compel a single employee to 128 00:04:44,720 --> 00:04:48,800 perform undesirable work because the 129 00:04:47,040 --> 00:04:50,960 employer can threaten that employees 130 00:04:48,800 --> 00:04:52,960 livelihood. By holding each other in 131 00:04:50,960 --> 00:04:56,320 solidarity and acting towards the same 132 00:04:52,960 --> 00:04:58,000 goals using the same tactics, workers 133 00:04:56,320 --> 00:05:00,000 can impose consequences on their 134 00:04:58,000 --> 00:05:01,680 employers for making unreasonable 135 00:05:00,000 --> 00:05:03,600 demands. 136 00:05:01,680 --> 00:05:06,000 The most drastic form of collective 137 00:05:03,600 --> 00:05:08,960 action is the threat to withdraw labor, 138 00:05:06,000 --> 00:05:11,199 a strike. The theory behind it in simple 139 00:05:08,960 --> 00:05:13,120 terms is that collectively workers 140 00:05:11,199 --> 00:05:15,440 demand that their employer materially 141 00:05:13,120 --> 00:05:17,520 improve their conditions. This is a form 142 00:05:15,440 --> 00:05:19,759 of sacrifice on the part of the 143 00:05:17,520 --> 00:05:21,600 employer. If the employer does not meet 144 00:05:19,759 --> 00:05:23,360 the demands of the workers, then the 145 00:05:21,600 --> 00:05:25,759 workers can instead show that there are 146 00:05:23,360 --> 00:05:27,520 potentially worse economic outcomes than 147 00:05:25,759 --> 00:05:30,880 the sacrifice that is being asked of 148 00:05:27,520 --> 00:05:32,400 them collectively. And and key to this 149 00:05:30,880 --> 00:05:34,000 is that the workers show that they are 150 00:05:32,400 --> 00:05:36,320 also willing to make collective 151 00:05:34,000 --> 00:05:38,320 sacrifice. Withdrawing labor means 152 00:05:36,320 --> 00:05:40,800 withdrawing the right to get paid while 153 00:05:38,320 --> 00:05:42,720 they aren't working. And while they are 154 00:05:40,800 --> 00:05:44,880 not direct parties to the dispute, 155 00:05:42,720 --> 00:05:46,240 strike action creates inconvenience for 156 00:05:44,880 --> 00:05:48,000 consumers of the business that is 157 00:05:46,240 --> 00:05:49,600 subject to strike action. And this is 158 00:05:48,000 --> 00:05:51,199 why workers need to educate the 159 00:05:49,600 --> 00:05:53,680 consumers about the reasons for their 160 00:05:51,199 --> 00:05:56,320 action and why demands are reasonable 161 00:05:53,680 --> 00:05:58,080 and necessary. This builds understanding 162 00:05:56,320 --> 00:06:00,960 and hopefully compels long-term 163 00:05:58,080 --> 00:06:03,039 behavioral change. Performing your own 164 00:06:00,960 --> 00:06:05,520 education is key because you can be 165 00:06:03,039 --> 00:06:07,280 certain that the impacted employers will 166 00:06:05,520 --> 00:06:10,720 spend money to make their point of view 167 00:06:07,280 --> 00:06:12,240 known and you have to compete with that. 168 00:06:10,720 --> 00:06:14,000 So it goes without saying that this sort 169 00:06:12,240 --> 00:06:17,360 of action is devastating for everyone 170 00:06:14,000 --> 00:06:19,600 involved. It demands sacrifice. It 171 00:06:17,360 --> 00:06:22,240 hurts. It should only be used when 172 00:06:19,600 --> 00:06:24,319 negotiations completely break down. But 173 00:06:22,240 --> 00:06:26,240 the mere possibility of workers walking 174 00:06:24,319 --> 00:06:28,560 off the job for their needs is a strong 175 00:06:26,240 --> 00:06:30,319 signal that collectively workers are 176 00:06:28,560 --> 00:06:33,360 willing to make sacrifices in order to 177 00:06:30,319 --> 00:06:35,360 create consequences for non-compliance. 178 00:06:33,360 --> 00:06:38,080 And so labor organizing is built around 179 00:06:35,360 --> 00:06:40,240 solidarity, shared sacrifice, and using 180 00:06:38,080 --> 00:06:42,319 inconvenience as moments to actively 181 00:06:40,240 --> 00:06:45,039 educate the public so that they can 182 00:06:42,319 --> 00:06:48,080 change their behavior to disincentivize 183 00:06:45,039 --> 00:06:50,000 poor behavior by employers. 184 00:06:48,080 --> 00:06:51,520 And so we have the Foss uh movement 185 00:06:50,000 --> 00:06:53,440 which is made up of the free software 186 00:06:51,520 --> 00:06:55,759 movement which believes that maintaining 187 00:06:53,440 --> 00:06:57,919 freedoms of users to use their computers 188 00:06:55,759 --> 00:06:59,520 without restrictions is key and the 189 00:06:57,919 --> 00:07:01,280 open- source movement on the other hand 190 00:06:59,520 --> 00:07:03,680 that believes that software produced 191 00:07:01,280 --> 00:07:05,360 collaboratively has a distinct technical 192 00:07:03,680 --> 00:07:07,840 advantage to software that is produced 193 00:07:05,360 --> 00:07:09,520 in isolation. Both movements are 194 00:07:07,840 --> 00:07:11,840 collective responses to power 195 00:07:09,520 --> 00:07:13,840 imbalances. For free software, it's 196 00:07:11,840 --> 00:07:16,160 against developers and distributors of 197 00:07:13,840 --> 00:07:18,400 software who prevent users from 198 00:07:16,160 --> 00:07:20,720 modifying or redistributing code. And 199 00:07:18,400 --> 00:07:22,720 for open-source, it's against management 200 00:07:20,720 --> 00:07:25,440 who prevent developers from releasing 201 00:07:22,720 --> 00:07:27,360 code to be collaborated upon. 202 00:07:25,440 --> 00:07:29,039 The success of both of these movements 203 00:07:27,360 --> 00:07:30,960 depends on how its participants 204 00:07:29,039 --> 00:07:32,240 organize. So, let's go through the 205 00:07:30,960 --> 00:07:34,960 history of these movements with an 206 00:07:32,240 --> 00:07:36,560 organizers lens. We'll start with the 207 00:07:34,960 --> 00:07:39,840 free software movement and the emergence 208 00:07:36,560 --> 00:07:42,000 of copy left. Free software is to put 209 00:07:39,840 --> 00:07:44,240 very simply the philosophy that software 210 00:07:42,000 --> 00:07:46,400 needs to be unencumbered so that users 211 00:07:44,240 --> 00:07:49,120 may freely realize the full utility of 212 00:07:46,400 --> 00:07:51,440 their computers. They argue that users 213 00:07:49,120 --> 00:07:53,520 should be free to run, distribute, and 214 00:07:51,440 --> 00:07:55,280 modify the programs on their computer so 215 00:07:53,520 --> 00:07:57,599 that if a program does not do what they 216 00:07:55,280 --> 00:07:59,440 want, they can modify it to do so and 217 00:07:57,599 --> 00:08:00,879 share those modifications to help their 218 00:07:59,440 --> 00:08:02,639 neighbor. 219 00:08:00,879 --> 00:08:05,039 The free software movement thought of 220 00:08:02,639 --> 00:08:07,919 the need to liberate software as a moral 221 00:08:05,039 --> 00:08:09,919 imperative with proprietary software or 222 00:08:07,919 --> 00:08:12,240 closed source software impeding the 223 00:08:09,919 --> 00:08:14,879 utility of our computers and impeding 224 00:08:12,240 --> 00:08:18,000 the ability of us to help our neighbors 225 00:08:14,879 --> 00:08:19,440 realize the utility of their computers. 226 00:08:18,000 --> 00:08:22,000 The early free software movement 227 00:08:19,440 --> 00:08:24,639 produced two achievements. A technical 228 00:08:22,000 --> 00:08:27,599 project called GNU whose goal was to 229 00:08:24,639 --> 00:08:29,199 create a free software operating system. 230 00:08:27,599 --> 00:08:30,879 That project largely succeeded in 231 00:08:29,199 --> 00:08:33,360 producing free software tools for use 232 00:08:30,879 --> 00:08:36,159 with the operating system but failed to 233 00:08:33,360 --> 00:08:38,399 deliver the operating system itself. And 234 00:08:36,159 --> 00:08:40,479 the more lasting achievement was the new 235 00:08:38,399 --> 00:08:43,039 general public license which is a copy 236 00:08:40,479 --> 00:08:45,040 leftft license. If you wish to modify or 237 00:08:43,039 --> 00:08:46,320 redistribute software under a copy left 238 00:08:45,040 --> 00:08:48,080 license, you would need to distribute 239 00:08:46,320 --> 00:08:51,360 the source code including any 240 00:08:48,080 --> 00:08:53,519 modifications that you make. A copy left 241 00:08:51,360 --> 00:08:55,760 serves as a control on the production 242 00:08:53,519 --> 00:08:58,080 and distribution side of software. 243 00:08:55,760 --> 00:09:00,880 Developers can only use copy left parts 244 00:08:58,080 --> 00:09:02,800 if their product is itself copy left and 245 00:09:00,880 --> 00:09:05,279 distributors can only distribute copy 246 00:09:02,800 --> 00:09:06,720 left software if they also commit to 247 00:09:05,279 --> 00:09:09,360 distributing the source code along with 248 00:09:06,720 --> 00:09:11,360 any binaries. Indeed, if the GNU project 249 00:09:09,360 --> 00:09:14,399 in its formative years did all their 250 00:09:11,360 --> 00:09:16,399 development behind closed doors, copy 251 00:09:14,399 --> 00:09:18,240 left was a distribution tool to them. If 252 00:09:16,399 --> 00:09:19,920 a distributor broke the license, then 253 00:09:18,240 --> 00:09:23,600 GNU had the tools they needed to 254 00:09:19,920 --> 00:09:26,399 penalize that distributor. 255 00:09:23,600 --> 00:09:28,720 In his talk at Linux Confu 2017, RML 256 00:09:26,399 --> 00:09:30,240 left given coined a term app freedom, 257 00:09:28,720 --> 00:09:32,399 which is the argument that the freedom 258 00:09:30,240 --> 00:09:34,399 to make your computer do what you want 259 00:09:32,399 --> 00:09:37,040 is no longer dependent on having access 260 00:09:34,399 --> 00:09:39,200 to the source code. As the means of 261 00:09:37,040 --> 00:09:41,519 distribution of complete apps has become 262 00:09:39,200 --> 00:09:44,240 more streamlined, it's just as easy for 263 00:09:41,519 --> 00:09:46,640 an end user to swap one app for another 264 00:09:44,240 --> 00:09:48,959 one that better meets their needs and 265 00:09:46,640 --> 00:09:50,880 often for significantly lower cost than 266 00:09:48,959 --> 00:09:54,000 finding someone to modify some free 267 00:09:50,880 --> 00:09:55,920 software for you. In the world of app 268 00:09:54,000 --> 00:09:57,360 freedom, that is the freedom to choose a 269 00:09:55,920 --> 00:09:59,839 different app that meets your needs 270 00:09:57,360 --> 00:10:02,480 better, free software becomes just 271 00:09:59,839 --> 00:10:04,480 another option for a user to pick. 272 00:10:02,480 --> 00:10:06,240 Indeed, people who decide to commit to 273 00:10:04,480 --> 00:10:08,399 free software and only using free 274 00:10:06,240 --> 00:10:10,560 software get less utility from their 275 00:10:08,399 --> 00:10:12,320 computers than people for whom free 276 00:10:10,560 --> 00:10:15,519 software is just one of a sea of 277 00:10:12,320 --> 00:10:18,079 options. Take me for example. This is a 278 00:10:15,519 --> 00:10:20,880 Mac. I could be using Libre Office to 279 00:10:18,079 --> 00:10:23,600 write my talks, but I'm using Keynote. 280 00:10:20,880 --> 00:10:26,720 If I bound myself to free software, I 281 00:10:23,600 --> 00:10:28,480 could not make that choice. 282 00:10:26,720 --> 00:10:30,320 And from an organizing perspective, this 283 00:10:28,480 --> 00:10:33,120 is actually quite problematic because in 284 00:10:30,320 --> 00:10:35,760 the labor model, workers, employees, and 285 00:10:33,120 --> 00:10:38,320 consumers are made all to contend with a 286 00:10:35,760 --> 00:10:40,560 moral imperative. In the copy left 287 00:10:38,320 --> 00:10:41,920 model, only developers and distributors 288 00:10:40,560 --> 00:10:44,079 are asked to reckon with the moral 289 00:10:41,920 --> 00:10:46,880 imperative of free software. There is 290 00:10:44,079 --> 00:10:48,640 nowhere in that model where users are 291 00:10:46,880 --> 00:10:50,560 directly presented with a chance to 292 00:10:48,640 --> 00:10:52,399 educate themselves as to why they should 293 00:10:50,560 --> 00:10:55,680 care despite the movement being 294 00:10:52,399 --> 00:10:57,519 ostensibly about user freedom. 295 00:10:55,680 --> 00:10:59,600 So the Linux kernel was the first 296 00:10:57,519 --> 00:11:02,000 massive open-source project to organize 297 00:10:59,600 --> 00:11:03,600 itself online. This is before the norms 298 00:11:02,000 --> 00:11:05,680 of sharing and communicating that we're 299 00:11:03,600 --> 00:11:07,760 familiar with today were established. 300 00:11:05,680 --> 00:11:10,640 Linux wanted developers to organize 301 00:11:07,760 --> 00:11:13,200 under the same project. And copy left in 302 00:11:10,640 --> 00:11:15,120 this example is a stick. It's a stick to 303 00:11:13,200 --> 00:11:16,800 put to put the need to release source 304 00:11:15,120 --> 00:11:20,000 code in terms that businesses 305 00:11:16,800 --> 00:11:22,320 understood. You do it or you get sued. 306 00:11:20,000 --> 00:11:24,880 But it also gives you a carrot. Most 307 00:11:22,320 --> 00:11:26,160 large and longived code bases exhibit a 308 00:11:24,880 --> 00:11:28,399 phenomenon that RML called 309 00:11:26,160 --> 00:11:30,720 lithification, which is the tendency for 310 00:11:28,399 --> 00:11:33,839 software to grow in layers upon layers 311 00:11:30,720 --> 00:11:35,760 built on stable interfaces. If your code 312 00:11:33,839 --> 00:11:38,480 targets an older and more stable 313 00:11:35,760 --> 00:11:41,040 interface, then you have no incentive to 314 00:11:38,480 --> 00:11:44,720 contribute it upstream. you can keep it 315 00:11:41,040 --> 00:11:46,880 to yourself. This happened with BSD. 316 00:11:44,720 --> 00:11:49,360 Linux in those days did not have a 317 00:11:46,880 --> 00:11:51,120 stable interface and so it resisted 318 00:11:49,360 --> 00:11:53,120 lithification. 319 00:11:51,120 --> 00:11:55,279 If you wanted your kernel driver to keep 320 00:11:53,120 --> 00:11:57,200 working, you really did need to have it 321 00:11:55,279 --> 00:11:59,839 merged into mainline to ensure that it 322 00:11:57,200 --> 00:12:02,079 did not suddenly break. So copy left 323 00:11:59,839 --> 00:12:04,160 provided useful guarantees as well. If 324 00:12:02,079 --> 00:12:06,560 you submit a patch to the kernel, you 325 00:12:04,160 --> 00:12:08,639 are protected against someone using your 326 00:12:06,560 --> 00:12:10,880 patch that you've contributed upstream 327 00:12:08,639 --> 00:12:13,440 in an extractive fashion. If they 328 00:12:10,880 --> 00:12:16,399 produce new software using your patch, 329 00:12:13,440 --> 00:12:17,920 they have to release it as copy. 330 00:12:16,399 --> 00:12:19,760 So the copy left side of the free 331 00:12:17,920 --> 00:12:22,000 software movement made a tool that was 332 00:12:19,760 --> 00:12:23,920 successful in compelling much of the 333 00:12:22,000 --> 00:12:26,160 development and distribution side of the 334 00:12:23,920 --> 00:12:28,320 industry to release software with its 335 00:12:26,160 --> 00:12:30,320 source. And the consequence of focusing 336 00:12:28,320 --> 00:12:32,240 on the supply side of the economy was 337 00:12:30,320 --> 00:12:35,200 that there was no opportunity to educate 338 00:12:32,240 --> 00:12:37,360 the user base. Despite the user focused 339 00:12:35,200 --> 00:12:40,959 rhetoric, free software success was a 340 00:12:37,360 --> 00:12:43,120 labor model for developers. 341 00:12:40,959 --> 00:12:44,800 And what's fascinating about Linux is 342 00:12:43,120 --> 00:12:48,160 that Linux Torvalds was a second 343 00:12:44,800 --> 00:12:50,399 generation of copy left users. 344 00:12:48,160 --> 00:12:52,959 He emerged independently of the GNU 345 00:12:50,399 --> 00:12:56,880 project and instead saw that copy left 346 00:12:52,959 --> 00:12:58,800 was a good developer focused tool to 347 00:12:56,880 --> 00:13:01,120 ensure that all contributors fairly 348 00:12:58,800 --> 00:13:04,079 benefited from each other's work. Now 349 00:13:01,120 --> 00:13:05,839 Linux emerged in 1991. 350 00:13:04,079 --> 00:13:07,839 But that year another notable thing 351 00:13:05,839 --> 00:13:09,680 happened. The GNU project had got to the 352 00:13:07,839 --> 00:13:11,680 point where they released enough user 353 00:13:09,680 --> 00:13:13,920 space programs but they were ready to 354 00:13:11,680 --> 00:13:16,399 release a C library which every Unix 355 00:13:13,920 --> 00:13:18,480 system needs. But there were already 356 00:13:16,399 --> 00:13:20,399 many C libraries out there and there was 357 00:13:18,480 --> 00:13:22,639 no real advantage to making it fully 358 00:13:20,399 --> 00:13:25,920 copy left. And so the result was a thing 359 00:13:22,639 --> 00:13:28,240 called the library GPL or the LGPL which 360 00:13:25,920 --> 00:13:30,000 is like the GPL in that if you modified 361 00:13:28,240 --> 00:13:32,720 covered code you would need to release 362 00:13:30,000 --> 00:13:34,160 the source code. But unlike the GPL you 363 00:13:32,720 --> 00:13:36,720 wouldn't have to release the source code 364 00:13:34,160 --> 00:13:38,880 of your own software that was otherwise 365 00:13:36,720 --> 00:13:40,639 closed source. And this makes a lot of 366 00:13:38,880 --> 00:13:44,480 sense for libraries that provide no 367 00:13:40,639 --> 00:13:46,959 competitive advantage to the author. 368 00:13:44,480 --> 00:13:48,720 In 1998, a group of people decided that 369 00:13:46,959 --> 00:13:51,440 we should refer to free software as 370 00:13:48,720 --> 00:13:52,880 opensource as a way to emphasize the 371 00:13:51,440 --> 00:13:55,440 technical advantage that source 372 00:13:52,880 --> 00:13:58,240 availability offered developers and 373 00:13:55,440 --> 00:14:00,880 deemphasize the moral imperative. So the 374 00:13:58,240 --> 00:14:03,120 free software foundation which remember 375 00:14:00,880 --> 00:14:05,440 successfully created a model to compel 376 00:14:03,120 --> 00:14:07,760 developers to produce free or now 377 00:14:05,440 --> 00:14:10,160 open-source software but had no real 378 00:14:07,760 --> 00:14:12,000 success in compelling user behavior 379 00:14:10,160 --> 00:14:13,600 decided that the moral imperative and 380 00:14:12,000 --> 00:14:15,519 user freedom should become their main 381 00:14:13,600 --> 00:14:17,440 focus 382 00:14:15,519 --> 00:14:19,360 and relatively soon after the rise of 383 00:14:17,440 --> 00:14:20,959 open source as an alternative 384 00:14:19,360 --> 00:14:23,279 justification for making source code 385 00:14:20,959 --> 00:14:24,880 available the free software foundation 386 00:14:23,279 --> 00:14:28,160 announced that they were renaming the 387 00:14:24,880 --> 00:14:30,480 library GPL to the lesser GPL. L to make 388 00:14:28,160 --> 00:14:33,120 it clear that not all libraries should 389 00:14:30,480 --> 00:14:34,880 be licensed under the LGPL. 390 00:14:33,120 --> 00:14:36,399 If you as an author want to encourage 391 00:14:34,880 --> 00:14:39,040 more developers to release free 392 00:14:36,399 --> 00:14:41,120 software, you should license your wares 393 00:14:39,040 --> 00:14:43,440 under the GPL so that they can't choose 394 00:14:41,120 --> 00:14:45,839 to use your software unless they use the 395 00:14:43,440 --> 00:14:47,920 GPL. It was a very highly nuanced read. 396 00:14:45,839 --> 00:14:51,040 It spelled out why you should actively 397 00:14:47,920 --> 00:14:52,959 think about your license choices, 398 00:14:51,040 --> 00:14:54,720 which was put under a headline, why you 399 00:14:52,959 --> 00:14:56,639 shouldn't use the library GPL for your 400 00:14:54,720 --> 00:14:58,320 next library. 401 00:14:56,639 --> 00:15:00,720 And the result of this headline was 402 00:14:58,320 --> 00:15:02,800 exactly what you would expect. Library 403 00:15:00,720 --> 00:15:05,360 developers stopped using the library 404 00:15:02,800 --> 00:15:07,040 GPL. However, the result was not the 405 00:15:05,360 --> 00:15:10,560 mass migration to copy left that the 406 00:15:07,040 --> 00:15:12,160 free software foundation recommended. 407 00:15:10,560 --> 00:15:14,399 Because following the rise of open 408 00:15:12,160 --> 00:15:16,639 source a few years earlier, we started 409 00:15:14,399 --> 00:15:18,880 to see a new breed of open source. 410 00:15:16,639 --> 00:15:20,639 Developers at product companies realized 411 00:15:18,880 --> 00:15:22,639 that they could take advantage of the 412 00:15:20,639 --> 00:15:24,800 technical benefits of open source and 413 00:15:22,639 --> 00:15:27,519 would release parts of their web apps 414 00:15:24,800 --> 00:15:29,440 under open- source licenses. This is how 415 00:15:27,519 --> 00:15:31,680 we got Ruby on Rails. It was a byproduct 416 00:15:29,440 --> 00:15:33,839 of a task tracking tool. This is how we 417 00:15:31,680 --> 00:15:36,160 got Django, which was the back end for a 418 00:15:33,839 --> 00:15:38,160 newspaper. 419 00:15:36,160 --> 00:15:39,920 Product companies where they knew a view 420 00:15:38,160 --> 00:15:42,079 of open-source as technically 421 00:15:39,920 --> 00:15:44,800 advantageous realized the trick was not 422 00:15:42,079 --> 00:15:46,399 to open source everything but to open 423 00:15:44,800 --> 00:15:49,120 source the parts of their application 424 00:15:46,399 --> 00:15:50,959 that offered them no differentiation. 425 00:15:49,120 --> 00:15:53,759 If every web app needs to talk to a 426 00:15:50,959 --> 00:15:56,079 database and produce forms then you 427 00:15:53,759 --> 00:15:57,839 commoditize that code leaving product 428 00:15:56,079 --> 00:15:59,519 developers to focus on what their 429 00:15:57,839 --> 00:16:01,360 business perceived as its competitive 430 00:15:59,519 --> 00:16:03,759 advantage. 431 00:16:01,360 --> 00:16:05,920 In this business model, strong copy left 432 00:16:03,759 --> 00:16:07,839 does not make sense as an option. And 433 00:16:05,920 --> 00:16:10,079 that also assumes that developers are 434 00:16:07,839 --> 00:16:11,759 even in a position to make the decision 435 00:16:10,079 --> 00:16:13,680 to release as copy left in the first 436 00:16:11,759 --> 00:16:15,440 place. 437 00:16:13,680 --> 00:16:17,600 And so despite focusing their rhetoric 438 00:16:15,440 --> 00:16:20,079 on user freedoms, free software's core 439 00:16:17,600 --> 00:16:22,000 organizing model that is copy left 440 00:16:20,079 --> 00:16:24,079 binding developers without that 441 00:16:22,000 --> 00:16:26,560 mechanism to educate users, it saw a 442 00:16:24,079 --> 00:16:28,399 real failure. These developers of of 443 00:16:26,560 --> 00:16:30,639 Django and Rails and things like that 444 00:16:28,399 --> 00:16:32,399 were users of open-source and they were 445 00:16:30,639 --> 00:16:35,040 embarking on their first large 446 00:16:32,399 --> 00:16:37,440 open-source projects. These developers 447 00:16:35,040 --> 00:16:39,279 were not predisposed to free software 448 00:16:37,440 --> 00:16:40,880 and free software had thrown away its 449 00:16:39,279 --> 00:16:42,720 tools to welcome people into the 450 00:16:40,880 --> 00:16:44,959 movement. 451 00:16:42,720 --> 00:16:47,120 Weak copy left like the LGPL was the 452 00:16:44,959 --> 00:16:49,360 exact copy left model that translated to 453 00:16:47,120 --> 00:16:52,320 these new developers views of the world. 454 00:16:49,360 --> 00:16:54,079 But with the official line being this, 455 00:16:52,320 --> 00:16:56,959 then it's no surprise that people looked 456 00:16:54,079 --> 00:16:58,720 elsewhere. Django, Rails, and basically 457 00:16:56,959 --> 00:17:01,440 every major library to emerge around 458 00:16:58,720 --> 00:17:04,000 that time used licenses that bind no 459 00:17:01,440 --> 00:17:06,160 behaviors on the lency other than giving 460 00:17:04,000 --> 00:17:07,600 attribution to the original developer. 461 00:17:06,160 --> 00:17:10,559 These are the so-called permissive 462 00:17:07,600 --> 00:17:13,120 licenses. And binding on licenses is the 463 00:17:10,559 --> 00:17:14,799 stick in Linux's organizing model. And 464 00:17:13,120 --> 00:17:16,559 these projects decided from the 465 00:17:14,799 --> 00:17:18,799 information available to them that it 466 00:17:16,559 --> 00:17:20,720 wasn't worth it. 467 00:17:18,799 --> 00:17:23,360 And as for the carrot, well, the the 468 00:17:20,720 --> 00:17:24,880 platform effects of GitHub replicated 469 00:17:23,360 --> 00:17:26,480 for small projects at least the 470 00:17:24,880 --> 00:17:28,880 collaborative effects of the Linux 471 00:17:26,480 --> 00:17:30,559 kernel. If you host on GitHub, when you 472 00:17:28,880 --> 00:17:32,880 fork a library, it's really easy to stay 473 00:17:30,559 --> 00:17:34,559 in sync with mainline. It's trivial to 474 00:17:32,880 --> 00:17:36,960 merge from external contributors who 475 00:17:34,559 --> 00:17:38,960 make bug fixes. There are mildly 476 00:17:36,960 --> 00:17:41,679 punitive behaviors that make it slightly 477 00:17:38,960 --> 00:17:43,520 painful to make your code closed source. 478 00:17:41,679 --> 00:17:45,600 GitHub charged a monthly fee to take 479 00:17:43,520 --> 00:17:47,440 things private. 480 00:17:45,600 --> 00:17:49,840 But the consequence of not participating 481 00:17:47,440 --> 00:17:52,559 in GitHub's commons was inconvenience. 482 00:17:49,840 --> 00:17:54,720 You either spent time or money. And this 483 00:17:52,559 --> 00:17:57,520 is generally speaking enough to keep 484 00:17:54,720 --> 00:17:59,679 most people in line. It does not stop 485 00:17:57,520 --> 00:18:03,120 people with means from maintaining their 486 00:17:59,679 --> 00:18:04,720 own closed source fork. 487 00:18:03,120 --> 00:18:06,400 So by the end of the first decade of 488 00:18:04,720 --> 00:18:08,000 this millennium, we really had the basis 489 00:18:06,400 --> 00:18:09,840 for what we think of as open source 490 00:18:08,000 --> 00:18:11,919 today. 491 00:18:09,840 --> 00:18:13,760 The things that generate value or 492 00:18:11,919 --> 00:18:16,000 represent competitive advantage should 493 00:18:13,760 --> 00:18:18,160 be kept proprietary so that they can be 494 00:18:16,000 --> 00:18:20,080 a source of revenue that others cannot 495 00:18:18,160 --> 00:18:21,919 exploit. 496 00:18:20,080 --> 00:18:23,760 Code that does not differentiate you 497 00:18:21,919 --> 00:18:25,679 from your competitor should be open 498 00:18:23,760 --> 00:18:27,760 sourced so that you can immortalize the 499 00:18:25,679 --> 00:18:29,919 maintenance costs across your entire 500 00:18:27,760 --> 00:18:32,000 industry and that you should use 501 00:18:29,919 --> 00:18:34,480 permissive licensing because copy left 502 00:18:32,000 --> 00:18:36,960 threatened your revenue and weak copy 503 00:18:34,480 --> 00:18:39,600 was somehow inappropriate. 504 00:18:36,960 --> 00:18:42,400 And so open- source code is not revenue 505 00:18:39,600 --> 00:18:45,200 generating code. It is a side effect 506 00:18:42,400 --> 00:18:47,280 with less need to be protected. 507 00:18:45,200 --> 00:18:49,760 And so the model of open source that won 508 00:18:47,280 --> 00:18:51,679 was simple. A commons was built out of 509 00:18:49,760 --> 00:18:54,720 the code that did not constitute a 510 00:18:51,679 --> 00:18:56,640 competitive advantage for its creators. 511 00:18:54,720 --> 00:18:58,240 The code you develop uh you derive 512 00:18:56,640 --> 00:19:00,880 economic benefit from would be 513 00:18:58,240 --> 00:19:03,840 proprietary. Anything that's open source 514 00:19:00,880 --> 00:19:05,840 is a side effect of production. And but 515 00:19:03,840 --> 00:19:08,000 even though it's a side effect, somebody 516 00:19:05,840 --> 00:19:10,880 still has to produce the code. And so 517 00:19:08,000 --> 00:19:12,799 that creates perverse incentives, the 518 00:19:10,880 --> 00:19:14,559 use of permissive licensing means that 519 00:19:12,799 --> 00:19:17,679 consumers are released from all 520 00:19:14,559 --> 00:19:20,400 obligation around the code. And so by 521 00:19:17,679 --> 00:19:22,720 definition, any consumer of a piece of 522 00:19:20,400 --> 00:19:25,200 open-source infrastructure is able to 523 00:19:22,720 --> 00:19:27,919 gain more economic advantage than its 524 00:19:25,200 --> 00:19:31,880 producer because they did not have to do 525 00:19:27,919 --> 00:19:31,880 the work to create it. 526 00:19:31,919 --> 00:19:36,080 And so when we emerged in the era where 527 00:19:33,760 --> 00:19:37,679 open source had won, we had a free 528 00:19:36,080 --> 00:19:40,080 software movement that was focused on 529 00:19:37,679 --> 00:19:43,840 users that created no compelling reason 530 00:19:40,080 --> 00:19:45,200 for for its users to participate. 531 00:19:43,840 --> 00:19:47,760 But it did create a burden for 532 00:19:45,200 --> 00:19:49,760 developers. And we also had an open- 533 00:19:47,760 --> 00:19:52,160 source movement where businesses that 534 00:19:49,760 --> 00:19:54,480 didn't write open-source infrastructure 535 00:19:52,160 --> 00:19:58,200 were at an economic advantage to the 536 00:19:54,480 --> 00:19:58,200 businesses that did. 537 00:20:00,640 --> 00:20:06,320 just let you get that photo. 538 00:20:03,120 --> 00:20:08,240 So that brings us to 2012 which is a 539 00:20:06,320 --> 00:20:10,240 notable year because a bunch of 540 00:20:08,240 --> 00:20:12,799 companies successfully sought venture 541 00:20:10,240 --> 00:20:15,360 funding to produce open-source tools as 542 00:20:12,799 --> 00:20:17,440 a product effort. This was a direction 543 00:20:15,360 --> 00:20:18,960 that ignored the successes in open 544 00:20:17,440 --> 00:20:20,640 source that had emerged the previous 545 00:20:18,960 --> 00:20:22,640 year. 546 00:20:20,640 --> 00:20:24,640 They didn't have the product revenue 547 00:20:22,640 --> 00:20:26,799 streams of the open- source as a side 548 00:20:24,640 --> 00:20:28,799 effect movement and they did this 549 00:20:26,799 --> 00:20:31,200 without the tools to organize against 550 00:20:28,799 --> 00:20:33,120 extractive behavior by organizations 551 00:20:31,200 --> 00:20:35,919 that are not yet motivated to play by 552 00:20:33,120 --> 00:20:37,600 the rules. The business model was to 553 00:20:35,919 --> 00:20:40,000 release open-source code under 554 00:20:37,600 --> 00:20:42,720 permissive licenses as their core 555 00:20:40,000 --> 00:20:45,280 activity and then attempt to build value 556 00:20:42,720 --> 00:20:46,960 added services on top of that. 557 00:20:45,280 --> 00:20:52,080 What those services were actually going 558 00:20:46,960 --> 00:20:54,400 to be was ambiguous at the time. 559 00:20:52,080 --> 00:20:56,080 Hashi Corp started trading publicly in 560 00:20:54,400 --> 00:20:58,720 2022. 561 00:20:56,080 --> 00:21:00,799 That is, they had reached the limit of 562 00:20:58,720 --> 00:21:03,360 what they could do with venture capital 563 00:21:00,799 --> 00:21:04,640 and instead sought market validation for 564 00:21:03,360 --> 00:21:06,480 their products and their business 565 00:21:04,640 --> 00:21:08,559 approach. 566 00:21:06,480 --> 00:21:10,400 And within a year, they decided that 567 00:21:08,559 --> 00:21:12,640 they could no longer meet their owner's 568 00:21:10,400 --> 00:21:15,440 metrics of success by releasing 569 00:21:12,640 --> 00:21:17,360 permissively licensed open-source tools. 570 00:21:15,440 --> 00:21:19,360 They relicensed all of their products 571 00:21:17,360 --> 00:21:22,640 under a source available license that 572 00:21:19,360 --> 00:21:25,360 locked out competitors. The industry and 573 00:21:22,640 --> 00:21:27,919 then the market rejected their choice. 574 00:21:25,360 --> 00:21:30,880 Their stock price precipitously dropped 575 00:21:27,919 --> 00:21:33,360 and within six months they accepted a 576 00:21:30,880 --> 00:21:37,159 buyout offer from IBM for less than 577 00:21:33,360 --> 00:21:37,159 their IPO value. 578 00:21:37,679 --> 00:21:42,480 And sure, businesses get acquired all 579 00:21:39,760 --> 00:21:44,720 the time. But in this case, this created 580 00:21:42,480 --> 00:21:46,320 n and a half years of noise, saying that 581 00:21:44,720 --> 00:21:48,640 they could go it alone and make this 582 00:21:46,320 --> 00:21:50,880 work, producing open-source software as 583 00:21:48,640 --> 00:21:53,840 a business activity that they projected 584 00:21:50,880 --> 00:21:55,760 as being sustainable before the investor 585 00:21:53,840 --> 00:21:58,640 demands came home to roost. And there 586 00:21:55,760 --> 00:22:01,520 are, of course, consequences to 587 00:21:58,640 --> 00:22:03,919 accepting strings attached money. They 588 00:22:01,520 --> 00:22:06,640 couldn't make it work. And as a result, 589 00:22:03,919 --> 00:22:08,480 we've lost 10 years of success. Uh we've 590 00:22:06,640 --> 00:22:11,360 lost 10 years seeing scores of 591 00:22:08,480 --> 00:22:13,919 phosphocused startups founded by a meme 592 00:22:11,360 --> 00:22:15,679 on the myth that merely receiving money 593 00:22:13,919 --> 00:22:18,480 is all it takes to make a project 594 00:22:15,679 --> 00:22:19,840 sustainable. 595 00:22:18,480 --> 00:22:21,840 And this is what I mean when I say that 596 00:22:19,840 --> 00:22:24,240 we're in a golden age. It's now clear 597 00:22:21,840 --> 00:22:28,080 that we can't just find money by saying 598 00:22:24,240 --> 00:22:30,240 that Foss is a product in and of itself. 599 00:22:28,080 --> 00:22:31,919 We have to rebuild with new assumptions. 600 00:22:30,240 --> 00:22:34,080 And it's still not completely clear to 601 00:22:31,919 --> 00:22:36,480 me that there even could be a successful 602 00:22:34,080 --> 00:22:39,280 business model built around open-source 603 00:22:36,480 --> 00:22:41,600 as the product. Because as we've seen 604 00:22:39,280 --> 00:22:43,360 over the course of decades, we as a 605 00:22:41,600 --> 00:22:45,200 movement have made choices to reject 606 00:22:43,360 --> 00:22:47,679 economic tools that give us a fighting 607 00:22:45,200 --> 00:22:49,520 chance of being sustainable. Indeed, 608 00:22:47,679 --> 00:22:52,720 we've seen that we've made a series of 609 00:22:49,520 --> 00:22:54,799 choices that every time results in 610 00:22:52,720 --> 00:22:56,880 producers of open source having to 611 00:22:54,799 --> 00:22:59,440 shoulder a burden that is greater than 612 00:22:56,880 --> 00:23:01,440 that of our consumers. 613 00:22:59,440 --> 00:23:03,600 If our current model of open source was 614 00:23:01,440 --> 00:23:05,360 a business, we would be spending more 615 00:23:03,600 --> 00:23:08,080 than we're taking in. We would be 616 00:23:05,360 --> 00:23:10,320 trading while insolvent. 617 00:23:08,080 --> 00:23:12,080 And because we choose to not bind on our 618 00:23:10,320 --> 00:23:14,559 users, we create a situation where our 619 00:23:12,080 --> 00:23:16,559 users become our competitors. 620 00:23:14,559 --> 00:23:18,320 Licensing without consequences makes us 621 00:23:16,559 --> 00:23:20,960 complicit in creating competitors with 622 00:23:18,320 --> 00:23:22,480 no external baggage. They don't have to 623 00:23:20,960 --> 00:23:24,480 pay to maintain the software that 624 00:23:22,480 --> 00:23:26,159 they're building upon. And so they can 625 00:23:24,480 --> 00:23:28,240 focus entirely on building revenue 626 00:23:26,159 --> 00:23:30,080 streams. You know, businesses, they do 627 00:23:28,240 --> 00:23:31,919 what they're allowed to do. And so, if 628 00:23:30,080 --> 00:23:33,600 we don't penalize behavior, they're 629 00:23:31,919 --> 00:23:35,600 going to do whatever is cheapest and 630 00:23:33,600 --> 00:23:38,159 makes them the most money. That's what 631 00:23:35,600 --> 00:23:39,760 businesses do. And this is a problem 632 00:23:38,159 --> 00:23:41,760 because as a movement, whenever we've 633 00:23:39,760 --> 00:23:43,760 been presented with tools to organize 634 00:23:41,760 --> 00:23:46,000 and ensure that extractive behavior is 635 00:23:43,760 --> 00:23:47,360 not possible, we've chosen the more 636 00:23:46,000 --> 00:23:49,120 convenient option without any 637 00:23:47,360 --> 00:23:51,679 consideration of the consequences of 638 00:23:49,120 --> 00:23:53,919 that choice. And the result is that open 639 00:23:51,679 --> 00:23:56,240 source has no inherent reason to be 640 00:23:53,919 --> 00:23:58,240 sustainable. And at least that's true 641 00:23:56,240 --> 00:24:00,880 for any independent project that hasn't 642 00:23:58,240 --> 00:24:03,120 chosen to organize. 643 00:24:00,880 --> 00:24:05,280 Which leads me to talk about Kubernetes, 644 00:24:03,120 --> 00:24:06,480 which is probably the biggest success in 645 00:24:05,280 --> 00:24:09,679 corporate level collaborative 646 00:24:06,480 --> 00:24:12,000 open-source since Linux. Unlike Linux, 647 00:24:09,679 --> 00:24:13,600 Kubernetes is permissively licensed, 648 00:24:12,000 --> 00:24:15,279 just like most open source tools that 649 00:24:13,600 --> 00:24:18,240 are produced today. So, it doesn't have 650 00:24:15,279 --> 00:24:20,960 the organizing benefits of copy. But 651 00:24:18,240 --> 00:24:23,440 Kubernetes as a project still organizes 652 00:24:20,960 --> 00:24:25,120 to ensure that businesses play fairly. 653 00:24:23,440 --> 00:24:27,360 It just does it in a different way that 654 00:24:25,120 --> 00:24:29,120 businesses understand. 655 00:24:27,360 --> 00:24:31,200 Kubernetes is maintained by the 656 00:24:29,120 --> 00:24:33,360 cloudnative computing foundation which 657 00:24:31,200 --> 00:24:36,159 is a trade organization. This is 658 00:24:33,360 --> 00:24:38,400 otherwise known as a 501c6 organization 659 00:24:36,159 --> 00:24:41,279 which is a sort of nonprofit under US 660 00:24:38,400 --> 00:24:43,520 tax law that allows member corporations 661 00:24:41,279 --> 00:24:45,600 to work together to do work that 662 00:24:43,520 --> 00:24:48,799 improves the conditions in which all of 663 00:24:45,600 --> 00:24:51,279 them trade. Now that sounds a lot like 664 00:24:48,799 --> 00:24:52,640 organizing. 665 00:24:51,279 --> 00:24:55,120 The main thing that the cloudnative 666 00:24:52,640 --> 00:24:57,039 computing foundation sells are seats on 667 00:24:55,120 --> 00:24:58,799 their governing board which appoints a 668 00:24:57,039 --> 00:25:00,880 voting majority of the foundation's 669 00:24:58,799 --> 00:25:02,400 technical oversight committee. And this 670 00:25:00,880 --> 00:25:04,559 committee sets the technical direction 671 00:25:02,400 --> 00:25:06,559 for its projects including Kubernetes. 672 00:25:04,559 --> 00:25:08,320 And those appointed members ensure that 673 00:25:06,559 --> 00:25:10,559 the decisions are made in the best 674 00:25:08,320 --> 00:25:13,039 interests of the corporations that 675 00:25:10,559 --> 00:25:15,120 appointed them. If you don't pay to join 676 00:25:13,039 --> 00:25:16,799 the foundation, you don't get a say in 677 00:25:15,120 --> 00:25:19,679 the technical direction of the project. 678 00:25:16,799 --> 00:25:23,440 and even worse, your competitors will be 679 00:25:19,679 --> 00:25:25,919 able to make decisions in your absence. 680 00:25:23,440 --> 00:25:27,679 Kubernetes has organized effectively. 681 00:25:25,919 --> 00:25:30,159 This governance model is sustainable 682 00:25:27,679 --> 00:25:32,320 because the stakes of not participating 683 00:25:30,159 --> 00:25:34,240 for each individual member organization 684 00:25:32,320 --> 00:25:36,559 is made in terms that these sponsors 685 00:25:34,240 --> 00:25:38,320 understand and the proceeds of 686 00:25:36,559 --> 00:25:40,480 sponsorship pay for things beyond just 687 00:25:38,320 --> 00:25:43,200 governance. Some of the maintenance is 688 00:25:40,480 --> 00:25:45,120 also paid for. The CloudNative Computing 689 00:25:43,200 --> 00:25:47,919 Foundation is a properly successful way 690 00:25:45,120 --> 00:25:50,000 for corporations to organize around a 691 00:25:47,919 --> 00:25:52,240 permissively licensed project with 692 00:25:50,000 --> 00:25:54,480 stakes far greater than we as small 693 00:25:52,240 --> 00:25:57,200 project maintainers are willing to even 694 00:25:54,480 --> 00:25:59,200 consider imposing. 695 00:25:57,200 --> 00:26:01,679 And that's the thing like big tech 696 00:25:59,200 --> 00:26:04,240 corporations that are extractive when it 697 00:26:01,679 --> 00:26:07,120 comes to small and independent projects 698 00:26:04,240 --> 00:26:08,640 organize when it's their own projects. 699 00:26:07,120 --> 00:26:11,120 There are consequences for not 700 00:26:08,640 --> 00:26:14,960 participating. the corporations that 701 00:26:11,120 --> 00:26:16,240 should participate generally do. 702 00:26:14,960 --> 00:26:17,840 And when you look at where corporate 703 00:26:16,240 --> 00:26:19,760 money and support for maintenance is 704 00:26:17,840 --> 00:26:21,760 going, it's not going to the projects 705 00:26:19,760 --> 00:26:23,440 that fail to organize. It's going to the 706 00:26:21,760 --> 00:26:25,360 ones where there is risk in not 707 00:26:23,440 --> 00:26:27,039 participating. 708 00:26:25,360 --> 00:26:29,840 Independent projects with permissive 709 00:26:27,039 --> 00:26:31,600 licensing generates no risk. And if 710 00:26:29,840 --> 00:26:34,480 there's no risk to extractive behavior, 711 00:26:31,600 --> 00:26:36,480 they're going to keep on doing it. And 712 00:26:34,480 --> 00:26:38,320 that leads us to the point we're at now. 713 00:26:36,480 --> 00:26:40,159 We have corporates who understand and 714 00:26:38,320 --> 00:26:41,760 have built structures around preventing 715 00:26:40,159 --> 00:26:43,840 extractive behavior for the projects 716 00:26:41,760 --> 00:26:46,080 that they contribute to. And because we 717 00:26:43,840 --> 00:26:48,880 don't stop them, many of them continue 718 00:26:46,080 --> 00:26:51,840 to apply extractive behavior. 719 00:26:48,880 --> 00:26:53,360 So what do we do about it? 720 00:26:51,840 --> 00:26:54,880 Firstly, we need to accept that the 721 00:26:53,360 --> 00:26:57,279 tools that formed the basis of 722 00:26:54,880 --> 00:26:59,919 organizing back when free software was 723 00:26:57,279 --> 00:27:02,240 new have now been completely defanged. 724 00:26:59,919 --> 00:27:05,360 The primary threat of copy was fear of 725 00:27:02,240 --> 00:27:07,360 being sued by bigname copyright holders. 726 00:27:05,360 --> 00:27:09,600 These days, the corporate stakeholders 727 00:27:07,360 --> 00:27:12,960 in Linux use the same trade association 728 00:27:09,600 --> 00:27:14,799 model as Kubernetes does. 729 00:27:12,960 --> 00:27:17,279 Corporate contributors now have at their 730 00:27:14,799 --> 00:27:20,159 disposal tools that are more useful to 731 00:27:17,279 --> 00:27:22,000 them than the fear of copy suits. And 732 00:27:20,159 --> 00:27:23,520 because we as a community of independent 733 00:27:22,000 --> 00:27:26,000 developers have stopped caring about 734 00:27:23,520 --> 00:27:28,240 copy theft, corporations aren't worried 735 00:27:26,000 --> 00:27:30,880 about being sued by us and routinely 736 00:27:28,240 --> 00:27:32,720 breach copy licenses. 737 00:27:30,880 --> 00:27:34,960 The single most important test case in 738 00:27:32,720 --> 00:27:37,279 copy left history is taking place in 739 00:27:34,960 --> 00:27:39,760 California at the moment. Vizio is a 740 00:27:37,279 --> 00:27:41,679 manufacturer that produces TVs that run 741 00:27:39,760 --> 00:27:44,559 Linux and they failed to produce source 742 00:27:41,679 --> 00:27:46,240 code when requested by users. The 743 00:27:44,559 --> 00:27:48,400 developers who bind distributors to the 744 00:27:46,240 --> 00:27:51,600 GPL have established standing in legal 745 00:27:48,400 --> 00:27:53,360 circles to sue to enforce copy theft, 746 00:27:51,600 --> 00:27:56,240 but it's not currently clear that third 747 00:27:53,360 --> 00:27:58,320 parties have that standing. SFC versus 748 00:27:56,240 --> 00:28:00,880 Vizio is a test case to establish 749 00:27:58,320 --> 00:28:03,360 standing for third parties. If it 750 00:28:00,880 --> 00:28:05,679 succeeds, then owners of devices with 751 00:28:03,360 --> 00:28:08,320 GPL software can demand that software 752 00:28:05,679 --> 00:28:10,399 like the licenses says say they can from 753 00:28:08,320 --> 00:28:12,640 the manufacturer and they can make a 754 00:28:10,399 --> 00:28:15,279 credible threat of legal action if the 755 00:28:12,640 --> 00:28:16,960 manufacturer does not comply. 756 00:28:15,279 --> 00:28:19,279 And from a right to repair perspective, 757 00:28:16,960 --> 00:28:21,200 this would be huge. We would be able to 758 00:28:19,279 --> 00:28:23,200 inspect and modify the software that our 759 00:28:21,200 --> 00:28:25,679 devices run on. But from the perspective 760 00:28:23,200 --> 00:28:28,000 of making open source more sustainable, 761 00:28:25,679 --> 00:28:30,080 this achieves basically nothing. It 762 00:28:28,000 --> 00:28:32,080 doesn't make a new funer of open- source 763 00:28:30,080 --> 00:28:33,600 projects. It doesn't contribute 764 00:28:32,080 --> 00:28:35,919 development time that would ease the 765 00:28:33,600 --> 00:28:38,240 maintenance burden on Linux. It just 766 00:28:35,919 --> 00:28:41,919 compels a TV manufacturer to do a bit 767 00:28:38,240 --> 00:28:44,080 more inconvenient work. 768 00:28:41,919 --> 00:28:47,279 And so while enforcement is entirely 769 00:28:44,080 --> 00:28:48,559 necessary and I donate to conservies so 770 00:28:47,279 --> 00:28:51,279 that they can keep doing this 771 00:28:48,559 --> 00:28:54,399 enforcement work, the fruits of copy 772 00:28:51,279 --> 00:28:56,640 enforcement are increasingly myopic. So 773 00:28:54,399 --> 00:28:59,440 let me revise my statement. Licensing as 774 00:28:56,640 --> 00:29:01,840 an organizing tool is dead. Licensing is 775 00:28:59,440 --> 00:29:04,480 a way to get what you want through the 776 00:29:01,840 --> 00:29:07,919 courts. So unless you have the means to 777 00:29:04,480 --> 00:29:09,760 sue every non-compliant actor, licensing 778 00:29:07,919 --> 00:29:12,559 will not bring about comprehensive 779 00:29:09,760 --> 00:29:14,399 behavioral change. Any movement that 780 00:29:12,559 --> 00:29:15,919 founds itself on license compliance is 781 00:29:14,399 --> 00:29:18,320 going to be doomed to failure because we 782 00:29:15,919 --> 00:29:20,880 as a movement gave up licensing as a 783 00:29:18,320 --> 00:29:23,440 socially acceptable way for us to compel 784 00:29:20,880 --> 00:29:25,600 non-extractive behavior. Extractive 785 00:29:23,440 --> 00:29:27,840 organizations will not take organ uh 786 00:29:25,600 --> 00:29:30,799 licensing seriously. 787 00:29:27,840 --> 00:29:32,559 So what remains for us? The strike 788 00:29:30,799 --> 00:29:34,799 action model asks us to consider what 789 00:29:32,559 --> 00:29:36,399 we're willing to sacrifice in order to 790 00:29:34,799 --> 00:29:39,840 show that we're serious about demands 791 00:29:36,399 --> 00:29:41,440 that we have. Um what could work as a 792 00:29:39,840 --> 00:29:43,600 movement? We've shown we're unwilling to 793 00:29:41,440 --> 00:29:45,440 impose consequences in favor of growth 794 00:29:43,600 --> 00:29:47,200 as a movement and we work in 795 00:29:45,440 --> 00:29:48,880 environments where there is risk in 796 00:29:47,200 --> 00:29:50,960 talking about impeding the revenue 797 00:29:48,880 --> 00:29:54,320 streams of our employers or of our 798 00:29:50,960 --> 00:29:56,240 sponsors. So let's look to labor. 799 00:29:54,320 --> 00:29:57,919 Starting with solidarity and community 800 00:29:56,240 --> 00:30:00,799 building would go a long way to making 801 00:29:57,919 --> 00:30:03,120 safe spaces spaces for us to even start 802 00:30:00,799 --> 00:30:04,480 talking about this. And we need to be 803 00:30:03,120 --> 00:30:06,880 willing to talk about what sort of 804 00:30:04,480 --> 00:30:08,640 consequences we can impose because not 805 00:30:06,880 --> 00:30:11,279 talking about consequences is what got 806 00:30:08,640 --> 00:30:13,120 us here in the first place. As a 807 00:30:11,279 --> 00:30:15,600 movement, we're unwilling to impose 808 00:30:13,120 --> 00:30:18,000 consequences for extracting behavior. 809 00:30:15,600 --> 00:30:20,000 But we need to work together. If just 810 00:30:18,000 --> 00:30:21,919 one project or one community support 811 00:30:20,000 --> 00:30:24,399 provider continues to fail to impose 812 00:30:21,919 --> 00:30:26,720 consequences for extractive behavior, 813 00:30:24,399 --> 00:30:29,440 then that extractive behavior is being 814 00:30:26,720 --> 00:30:31,440 allowed to continue. 815 00:30:29,440 --> 00:30:33,679 And we've seen that the industry and the 816 00:30:31,440 --> 00:30:36,240 market reacts really poorly to shutting 817 00:30:33,679 --> 00:30:38,480 out bad actors with no remedy. If we 818 00:30:36,240 --> 00:30:41,279 create a way to encourage organizations 819 00:30:38,480 --> 00:30:43,840 to stop engaging in extractive behavior, 820 00:30:41,279 --> 00:30:46,799 we absolutely need a way to bring those 821 00:30:43,840 --> 00:30:48,000 organizations back in to engage in a way 822 00:30:46,799 --> 00:30:50,559 that makes the projects more 823 00:30:48,000 --> 00:30:52,799 sustainable. And this is one hypothesis 824 00:30:50,559 --> 00:30:55,279 for why the market completely rejected 825 00:30:52,799 --> 00:30:57,520 these relicicensing. 826 00:30:55,279 --> 00:31:00,320 It locks out a potential revenue stream 827 00:30:57,520 --> 00:31:01,919 or source of collaboration. Terraform's 828 00:31:00,320 --> 00:31:05,120 selling point was that it is a better 829 00:31:01,919 --> 00:31:07,600 way to deploy to AWS. So removing all 830 00:31:05,120 --> 00:31:10,240 chances of them collaborating with AWS 831 00:31:07,600 --> 00:31:12,880 was a terrible idea. The technical 832 00:31:10,240 --> 00:31:14,399 outcomes of these relic licenses are bad 833 00:31:12,880 --> 00:31:16,320 as well as being bad for the business 834 00:31:14,399 --> 00:31:18,159 side of things. 835 00:31:16,320 --> 00:31:19,919 So I entitled this talk the death of 836 00:31:18,159 --> 00:31:22,320 consequences because free and open 837 00:31:19,919 --> 00:31:24,399 source software is a movement that is 838 00:31:22,320 --> 00:31:27,120 clearly not built on caring about the 839 00:31:24,399 --> 00:31:29,279 consequences of our decisions. But not 840 00:31:27,120 --> 00:31:31,039 caring about consequences comes with its 841 00:31:29,279 --> 00:31:32,960 own consequences. 842 00:31:31,039 --> 00:31:35,120 without questioning the basis on which 843 00:31:32,960 --> 00:31:37,279 we're willing to work. Then the tools 844 00:31:35,120 --> 00:31:39,120 for addressing sustainability 845 00:31:37,279 --> 00:31:41,679 operate entirely within the framework 846 00:31:39,120 --> 00:31:43,600 that we've laid out for ourselves. 847 00:31:41,679 --> 00:31:46,000 Feeling confident about any funding 848 00:31:43,600 --> 00:31:47,760 model requires us to ignore the 849 00:31:46,000 --> 00:31:50,640 consequences that we've built into our 850 00:31:47,760 --> 00:31:53,039 system. Every FOST developer that we pay 851 00:31:50,640 --> 00:31:55,360 to produce software in this system 852 00:31:53,039 --> 00:31:57,519 creates more software that can be 853 00:31:55,360 --> 00:31:58,960 extracted. 854 00:31:57,519 --> 00:32:01,840 And that's how I've reached the end of 855 00:31:58,960 --> 00:32:04,159 the first age of go of open source. If 856 00:32:01,840 --> 00:32:08,600 we want a second golden age, well, maybe 857 00:32:04,159 --> 00:32:08,600 let's start by not doing it alone. 858 00:32:12,240 --> 00:32:17,120 So, I don't have time for questions. 859 00:32:15,440 --> 00:32:18,960 If you do want to chat to me about this, 860 00:32:17,120 --> 00:32:20,240 have an argument, whatever, I will be 861 00:32:18,960 --> 00:32:22,559 hanging around the back of the room or 862 00:32:20,240 --> 00:32:25,120 in the hallway for the next few minutes. 863 00:32:22,559 --> 00:32:27,120 Thank you. So, is this one? Thank you so 864 00:32:25,120 --> 00:32:29,279 much, Christopher. What a compelling and 865 00:32:27,120 --> 00:32:30,960 engaging argument presented. One more 866 00:32:29,279 --> 00:32:36,689 time. 867 00:32:30,960 --> 00:32:36,689 [Applause]