0 00:00:00,000 --> 00:00:30,000 Dear viewer, these subtitles were generated by a machine via the service Trint and therefore are (very) buggy. If you are capable, please help us to create good quality subtitles: https://c3subtitles.de/talk/574 Thanks! 1 00:00:09,060 --> 00:00:11,519 In this next talk, we will talk about 2 00:00:11,520 --> 00:00:12,520 philosophy. 3 00:00:13,560 --> 00:00:15,839 This is Peter Stoga. 4 00:00:15,840 --> 00:00:18,389 He has many years of experience 5 00:00:18,390 --> 00:00:20,999 in software, hardware, security 6 00:00:21,000 --> 00:00:23,339 and networking and 7 00:00:23,340 --> 00:00:25,110 and now failure 8 00:00:29,430 --> 00:00:30,430 because. 9 00:00:38,470 --> 00:00:40,789 PETA is going to tell you his story with 10 00:00:40,790 --> 00:00:43,389 this lip USPI 11 00:00:43,390 --> 00:00:45,489 and about mistakes and 12 00:00:45,490 --> 00:00:47,469 things that he learned with that, give 13 00:00:47,470 --> 00:00:48,719 him a warm welcome. 14 00:00:48,720 --> 00:00:49,720 Liz. 15 00:00:57,080 --> 00:00:59,779 Hello, my name is Peter, I am a failed 16 00:00:59,780 --> 00:01:01,369 open source project maintainer. 17 00:01:10,100 --> 00:01:12,619 All right, so I will. 18 00:01:12,620 --> 00:01:14,539 This is not a technical talk, I will talk 19 00:01:14,540 --> 00:01:16,879 a bit about what the abuse is 20 00:01:16,880 --> 00:01:18,979 because of that just mentioned briefly, 21 00:01:18,980 --> 00:01:21,289 I will mention a few things 22 00:01:21,290 --> 00:01:23,449 that I've seen in 23 00:01:23,450 --> 00:01:25,519 the live USB community and in related 24 00:01:25,520 --> 00:01:27,289 communities over the time that I've been 25 00:01:27,290 --> 00:01:28,669 involved. 26 00:01:28,670 --> 00:01:30,919 I will tell you 27 00:01:30,920 --> 00:01:34,039 my story will try to tell you my story. 28 00:01:34,040 --> 00:01:35,659 I will talk about the mistakes that I 29 00:01:35,660 --> 00:01:37,729 made and I 30 00:01:37,730 --> 00:01:39,649 will talk about what I learned from all 31 00:01:39,650 --> 00:01:41,659 of this, hopefully. 32 00:01:44,620 --> 00:01:47,229 So Libya's B is a 33 00:01:47,230 --> 00:01:49,299 software library for programmers 34 00:01:49,300 --> 00:01:50,300 that want to 35 00:01:51,550 --> 00:01:53,799 communicate with USB devices of 36 00:01:53,800 --> 00:01:55,400 different kinds in an easy way. 37 00:01:56,550 --> 00:01:58,809 It's pretty widely 38 00:01:58,810 --> 00:02:00,399 used in Linux systems. 39 00:02:00,400 --> 00:02:02,980 It's also used as a Mac OS software 40 00:02:04,270 --> 00:02:06,489 and even some Windows software 41 00:02:06,490 --> 00:02:07,449 here and there. 42 00:02:07,450 --> 00:02:09,489 If you've used a USB printer or USB 43 00:02:09,490 --> 00:02:11,829 scanner, some digital camera, 44 00:02:11,830 --> 00:02:13,839 some media player, and it's not unlikely 45 00:02:13,840 --> 00:02:15,909 that you've actually been using the USB 46 00:02:15,910 --> 00:02:17,709 or the software that you've been using 47 00:02:17,710 --> 00:02:20,169 has been using the USB 48 00:02:20,170 --> 00:02:21,999 freebies he has implemented. 49 00:02:22,000 --> 00:02:24,339 Let me use B on their own for licensing 50 00:02:24,340 --> 00:02:26,809 reasons. As far as I understand, the DP 51 00:02:26,810 --> 00:02:29,049 is there's an L 52 00:02:29,050 --> 00:02:31,239 GPL library, 53 00:02:31,240 --> 00:02:33,579 which means that it's 54 00:02:33,580 --> 00:02:35,739 not quite as a license, is 55 00:02:35,740 --> 00:02:37,599 not quite as permissive as the BSD 56 00:02:37,600 --> 00:02:39,669 project. And and so they chose 57 00:02:39,670 --> 00:02:40,960 to write their own. 58 00:02:42,130 --> 00:02:44,109 This is not a technical talk about device 59 00:02:44,110 --> 00:02:46,209 drivers. As I said, I gave 60 00:02:46,210 --> 00:02:48,819 a technical talk about USB and 61 00:02:48,820 --> 00:02:50,770 and the be five years ago. 62 00:02:51,790 --> 00:02:53,109 There's the link. 63 00:02:53,110 --> 00:02:54,459 There's the link. 64 00:02:54,460 --> 00:02:55,779 Check it out if you're interested in 65 00:02:55,780 --> 00:02:56,780 that. 66 00:03:04,540 --> 00:03:06,639 So while 67 00:03:06,640 --> 00:03:09,039 involved in Libya's beehive, 68 00:03:09,040 --> 00:03:11,319 I've noticed or observed 69 00:03:11,320 --> 00:03:13,599 that even though this is a pretty, 70 00:03:13,600 --> 00:03:15,399 pretty widely used library and I'm 71 00:03:15,400 --> 00:03:17,559 pretty, pretty common project, there are 72 00:03:17,560 --> 00:03:20,079 very few people actually working on 73 00:03:20,080 --> 00:03:22,179 on development here, which is a 74 00:03:22,180 --> 00:03:24,280 shame. I wish there were more. 75 00:03:26,030 --> 00:03:27,669 There are also there's also a. 76 00:03:30,860 --> 00:03:33,049 There seems to be this this 77 00:03:33,050 --> 00:03:35,659 tendency to not work together 78 00:03:35,660 --> 00:03:38,659 very much in the 79 00:03:38,660 --> 00:03:41,119 extended liberties community, I would say 80 00:03:41,120 --> 00:03:44,509 there are many different liberties, be 81 00:03:44,510 --> 00:03:46,999 alternatives or sort of variants 82 00:03:47,000 --> 00:03:49,759 of the abuse concept, and 83 00:03:49,760 --> 00:03:51,889 they traditionally haven't done much 84 00:03:51,890 --> 00:03:54,109 to work together or 85 00:03:54,110 --> 00:03:56,509 they've even started because 86 00:03:56,510 --> 00:03:58,729 of disagreements while attempting 87 00:03:58,730 --> 00:04:00,679 to work together or after trying to work 88 00:04:00,680 --> 00:04:01,609 together. 89 00:04:01,610 --> 00:04:03,649 So there's that original abuse by zero 90 00:04:03,650 --> 00:04:05,129 one. That's the very first one. 91 00:04:05,130 --> 00:04:07,319 Then there was the the Lemieux's B 92 00:04:07,320 --> 00:04:09,649 1.0, which is where I, 93 00:04:09,650 --> 00:04:11,830 uh, I was the maintainer. 94 00:04:12,920 --> 00:04:14,359 Meanwhile, there was the Lemieux's B 95 00:04:14,360 --> 00:04:16,518 Win32 project, which was completely 96 00:04:16,519 --> 00:04:18,619 standalone. It 97 00:04:18,620 --> 00:04:20,898 it's sort of compatible 98 00:04:20,899 --> 00:04:22,989 with Libya's P zero one. 99 00:04:22,990 --> 00:04:24,499 Well, it is compatible, but it also 100 00:04:24,500 --> 00:04:26,749 extends Libya's zero one. 101 00:04:26,750 --> 00:04:28,130 It adds new features 102 00:04:29,750 --> 00:04:31,999 and it's made specifically for 103 00:04:32,000 --> 00:04:34,069 Windows. But the developers 104 00:04:34,070 --> 00:04:36,049 working on Libya's Win32, they didn't 105 00:04:36,050 --> 00:04:38,239 really make any effort to 106 00:04:38,240 --> 00:04:40,399 to join the sort of the rebels 107 00:04:40,400 --> 00:04:42,469 or the original Libya as we project. 108 00:04:42,470 --> 00:04:44,629 They just kept to themselves 109 00:04:44,630 --> 00:04:46,220 and made their own thing, 110 00:04:47,360 --> 00:04:49,459 which caused some confusion for 111 00:04:49,460 --> 00:04:51,589 the users because they had to. 112 00:04:51,590 --> 00:04:53,869 They all they knew was that, 113 00:04:53,870 --> 00:04:56,059 well, this this kind of software 114 00:04:56,060 --> 00:04:57,919 or digital camera software or whatever it 115 00:04:57,920 --> 00:05:00,139 uses the be. So I need 116 00:05:00,140 --> 00:05:02,329 why do I need to what's 117 00:05:02,330 --> 00:05:03,319 the difference? 118 00:05:03,320 --> 00:05:05,719 Why do I need one or the other? 119 00:05:05,720 --> 00:05:07,739 And of course, I only got worse when the 120 00:05:07,740 --> 00:05:09,889 USB 1.0 121 00:05:09,890 --> 00:05:11,749 started working differently and started 122 00:05:11,750 --> 00:05:13,699 requiring programmers to do different 123 00:05:13,700 --> 00:05:15,769 things to use the new 124 00:05:15,770 --> 00:05:18,049 features which live USB 125 00:05:18,050 --> 00:05:19,309 Win32 didn't support. 126 00:05:19,310 --> 00:05:21,169 I never wanted to support and development 127 00:05:21,170 --> 00:05:22,850 hadn't stopped a long time ago. 128 00:05:23,870 --> 00:05:25,099 And there's open USB. 129 00:05:25,100 --> 00:05:27,279 I'll come back to that in a bit. 130 00:05:27,280 --> 00:05:28,489 Then there's Libya SBX. 131 00:05:28,490 --> 00:05:30,709 I'll come back to that in a bit too. 132 00:05:30,710 --> 00:05:32,869 And on the side of that there's 133 00:05:32,870 --> 00:05:34,999 Libya's becae so the 134 00:05:35,000 --> 00:05:38,119 first group of these there, 135 00:05:38,120 --> 00:05:40,249 they're sort of similar open USB is 136 00:05:40,250 --> 00:05:41,869 probably the most difference. 137 00:05:41,870 --> 00:05:43,610 They decided to make their 138 00:05:45,050 --> 00:05:46,049 some large changes. 139 00:05:46,050 --> 00:05:49,039 The music is also different. 140 00:05:49,040 --> 00:05:51,169 It's got its own on line 141 00:05:51,170 --> 00:05:52,879 simply because I don't know exactly how 142 00:05:52,880 --> 00:05:53,839 many developers there are. 143 00:05:53,840 --> 00:05:56,029 I think there's there aren't really many. 144 00:05:56,030 --> 00:05:57,799 There's probably also one or two, but I 145 00:05:57,800 --> 00:05:58,489 don't know for sure. 146 00:05:58,490 --> 00:06:00,799 So I wanted to mention 147 00:06:00,800 --> 00:06:01,800 it separately. 148 00:06:04,830 --> 00:06:07,439 So moving on to to my story, I 149 00:06:07,440 --> 00:06:09,570 joined the project in 2003. 150 00:06:12,060 --> 00:06:14,339 I just wanted to use live because I 151 00:06:14,340 --> 00:06:16,589 was interested 152 00:06:16,590 --> 00:06:19,349 in using technology, it seemed seemed 153 00:06:19,350 --> 00:06:21,059 new or it was new and it seemed 154 00:06:21,060 --> 00:06:22,060 interesting and useful. 155 00:06:24,150 --> 00:06:26,339 I I was a 156 00:06:27,660 --> 00:06:29,309 mostly lurking subscriber. 157 00:06:29,310 --> 00:06:30,539 I read the mailing list. 158 00:06:30,540 --> 00:06:32,609 I tried to try 159 00:06:32,610 --> 00:06:34,319 to answer questions when I could. 160 00:06:34,320 --> 00:06:36,749 I tried to contribute to the community 161 00:06:36,750 --> 00:06:37,750 as as you do, 162 00:06:39,510 --> 00:06:41,429 of course, according to what time I had 163 00:06:41,430 --> 00:06:42,430 and so on. 164 00:06:43,470 --> 00:06:45,599 A few years later, 2005, 165 00:06:45,600 --> 00:06:47,729 starting winter 2005 and 166 00:06:47,730 --> 00:06:50,069 going all through the year of 2006, 167 00:06:51,120 --> 00:06:52,979 sudden Sun Microsystems. 168 00:06:52,980 --> 00:06:53,980 Anyone remember them? 169 00:06:55,680 --> 00:06:57,059 All right. 170 00:06:57,060 --> 00:06:58,060 If you had OK, 171 00:07:00,450 --> 00:07:03,089 a few of them joined 172 00:07:03,090 --> 00:07:04,649 the mailing list and joined the live 173 00:07:04,650 --> 00:07:06,329 music community. And they were they were 174 00:07:06,330 --> 00:07:08,519 working on what it seemed to be a thin 175 00:07:08,520 --> 00:07:10,739 client, USB support or something. 176 00:07:10,740 --> 00:07:13,559 They wanted to have USB over the network. 177 00:07:13,560 --> 00:07:14,560 So they were 178 00:07:15,690 --> 00:07:18,059 they were driving the or 179 00:07:18,060 --> 00:07:19,499 trying to drive. They were putting a lot 180 00:07:19,500 --> 00:07:22,319 of effort into the project and trying to 181 00:07:22,320 --> 00:07:24,449 trying to set a direction. 182 00:07:24,450 --> 00:07:26,819 But the the maintainer 183 00:07:26,820 --> 00:07:28,649 at the time, Yohannes, had felt he didn't 184 00:07:28,650 --> 00:07:30,359 really agree with them and a few other 185 00:07:30,360 --> 00:07:32,459 people, including myself and some 186 00:07:32,460 --> 00:07:34,049 others, we also didn't really agree with 187 00:07:34,050 --> 00:07:35,050 him. 188 00:07:35,700 --> 00:07:37,899 So what happened then is in January 189 00:07:37,900 --> 00:07:40,109 2007 and I had almost forgotten 190 00:07:40,110 --> 00:07:42,419 about this after after winter there, 191 00:07:42,420 --> 00:07:44,969 uh, the some people, they they published 192 00:07:44,970 --> 00:07:47,519 or started a friendly 193 00:07:47,520 --> 00:07:49,319 FAQ called Open USB. 194 00:07:49,320 --> 00:07:50,789 That's a separate project. 195 00:07:50,790 --> 00:07:52,859 And they did it, uh, they did 196 00:07:52,860 --> 00:07:54,539 it in a fine way. 197 00:07:54,540 --> 00:07:56,809 I think we had some some 198 00:07:56,810 --> 00:07:59,549 sometimes difficult discussions 199 00:07:59,550 --> 00:08:01,829 before they started 200 00:08:01,830 --> 00:08:03,959 open use. Be trying to figure out how 201 00:08:03,960 --> 00:08:05,669 the next version of Libya's vote was 202 00:08:05,670 --> 00:08:07,229 going to work. And they had their vision 203 00:08:07,230 --> 00:08:10,199 and other people had another vision. 204 00:08:10,200 --> 00:08:11,909 They went off and they did their thing. 205 00:08:11,910 --> 00:08:14,009 They got a new name and 206 00:08:14,010 --> 00:08:16,439 and they went for it. 207 00:08:16,440 --> 00:08:17,399 It wasn't successful. 208 00:08:17,400 --> 00:08:19,559 But but, you know, you never 209 00:08:19,560 --> 00:08:20,560 know. 210 00:08:20,970 --> 00:08:23,069 And I think they I think they did really 211 00:08:23,070 --> 00:08:24,070 the right thing. 212 00:08:26,510 --> 00:08:28,519 A couple of months later, the then 213 00:08:28,520 --> 00:08:30,799 maintainer U.A., that felt he offered 214 00:08:30,800 --> 00:08:33,139 me to to take over the abuse 215 00:08:33,140 --> 00:08:35,599 project. He said he was, 216 00:08:37,610 --> 00:08:39,769 um, he was he had spent 217 00:08:39,770 --> 00:08:41,839 a lot of energy discussing 218 00:08:41,840 --> 00:08:43,729 with this these UCB people. 219 00:08:43,730 --> 00:08:46,099 And he didn't 220 00:08:46,100 --> 00:08:47,329 he didn't have fun in the project 221 00:08:47,330 --> 00:08:49,429 anymore. And he said he was 222 00:08:49,430 --> 00:08:51,589 happy to let me take over or he would 223 00:08:51,590 --> 00:08:52,999 be happy, too. 224 00:08:53,000 --> 00:08:54,709 He mentioned that there might be another 225 00:08:54,710 --> 00:08:56,929 few people who could take over as well. 226 00:08:56,930 --> 00:08:59,239 And I thought about this and I was really 227 00:08:59,240 --> 00:09:01,409 happy to to 228 00:09:01,410 --> 00:09:02,449 to get this offer. 229 00:09:02,450 --> 00:09:04,609 But I didn't feel that I 230 00:09:04,610 --> 00:09:06,739 had been in their project long 231 00:09:06,740 --> 00:09:08,569 enough. I didn't feel that I knew the 232 00:09:08,570 --> 00:09:10,349 code well enough. 233 00:09:10,350 --> 00:09:12,649 Um, even though I 234 00:09:12,650 --> 00:09:14,779 agreed with him on many points, 235 00:09:14,780 --> 00:09:16,849 I still it 236 00:09:16,850 --> 00:09:18,439 didn't feel like I would be able to do a 237 00:09:18,440 --> 00:09:20,539 good job. So I said thank 238 00:09:20,540 --> 00:09:21,739 you, but but no thank you. 239 00:09:21,740 --> 00:09:23,449 But I'll stay in the community and I'll 240 00:09:23,450 --> 00:09:25,729 try to contribute and continue 241 00:09:25,730 --> 00:09:26,730 to contribute. 242 00:09:28,370 --> 00:09:30,529 So then nothing happened because Yohanan, 243 00:09:30,530 --> 00:09:32,329 he was he was. 244 00:09:32,330 --> 00:09:34,070 He was tired and. 245 00:09:35,290 --> 00:09:37,179 Essentially, there was no active 246 00:09:37,180 --> 00:09:39,399 maintainer in the project for 247 00:09:39,400 --> 00:09:41,589 for some time until 248 00:09:41,590 --> 00:09:44,289 January 2008, when 249 00:09:44,290 --> 00:09:47,079 Daniel Drake, who came along, 250 00:09:47,080 --> 00:09:49,179 started working quite, quite 251 00:09:49,180 --> 00:09:51,279 a bit on on the code, he had 252 00:09:51,280 --> 00:09:53,439 already done something similar 253 00:09:53,440 --> 00:09:55,479 for some fingerprint software that he 254 00:09:55,480 --> 00:09:57,669 wanted to implement or that he had 255 00:09:57,670 --> 00:09:58,670 implemented and. 256 00:10:01,680 --> 00:10:03,929 What he had ideas that he had 257 00:10:03,930 --> 00:10:05,939 for USB device communication, they fit 258 00:10:05,940 --> 00:10:08,219 well with a project, so he 259 00:10:08,220 --> 00:10:10,319 naturally fitted 260 00:10:10,320 --> 00:10:12,439 in this position 261 00:10:12,440 --> 00:10:14,129 of the new Mentana. 262 00:10:14,130 --> 00:10:16,259 Yohannes announced it and 263 00:10:16,260 --> 00:10:18,419 everybody was happy. I was also super 264 00:10:18,420 --> 00:10:19,770 happy to have Daniel and 265 00:10:22,170 --> 00:10:23,279 I continued. 266 00:10:23,280 --> 00:10:25,589 And in summer 267 00:10:25,590 --> 00:10:26,859 later in summer, I. 268 00:10:26,860 --> 00:10:28,949 I set up a track, 269 00:10:28,950 --> 00:10:31,109 a bug tracker and some source 270 00:10:31,110 --> 00:10:33,179 code hosting for for the 271 00:10:33,180 --> 00:10:34,180 project. 272 00:10:34,750 --> 00:10:36,899 And Daniel continued 273 00:10:36,900 --> 00:10:39,329 development. So Daniel made the first USB 274 00:10:39,330 --> 00:10:41,939 one zero release after he had started 275 00:10:41,940 --> 00:10:44,609 and in 2008, and 276 00:10:44,610 --> 00:10:47,399 he made several releases and then 277 00:10:47,400 --> 00:10:49,529 in 2010 and in spring 278 00:10:49,530 --> 00:10:51,929 he released one zero eight. 279 00:10:51,930 --> 00:10:54,119 So that was the last 280 00:10:54,120 --> 00:10:56,349 um, the last Lemieux's 281 00:10:56,350 --> 00:10:58,709 to be released that he made or released. 282 00:10:58,710 --> 00:10:59,710 And 283 00:11:01,230 --> 00:11:02,309 two months later. 284 00:11:02,310 --> 00:11:04,529 So end of 2009, 285 00:11:04,530 --> 00:11:06,629 beginning of 2010, there was a 286 00:11:06,630 --> 00:11:09,689 lot of work going on trying 287 00:11:09,690 --> 00:11:11,969 out to add Windows support 288 00:11:11,970 --> 00:11:13,529 to leave USB 1.0 and 289 00:11:14,610 --> 00:11:16,109 out of no where they came, this new 290 00:11:16,110 --> 00:11:17,939 contributor who was pretty active on the 291 00:11:17,940 --> 00:11:19,080 mailing list. And 292 00:11:23,130 --> 00:11:25,109 very clearly he put a lot of a lot of 293 00:11:25,110 --> 00:11:26,849 time, a lot of effort into the abuse me 294 00:11:26,850 --> 00:11:28,589 and I had. 295 00:11:28,590 --> 00:11:30,179 I had actually created a ticket, number 296 00:11:30,180 --> 00:11:32,309 one, in the new bug tracker, which was to 297 00:11:32,310 --> 00:11:34,229 add Windows support. 298 00:11:34,230 --> 00:11:36,419 So and I always thought that there was 299 00:11:36,420 --> 00:11:38,309 this was an important step for live USB 300 00:11:38,310 --> 00:11:40,349 and for several different reasons, you 301 00:11:40,350 --> 00:11:41,609 know, get more open source software 302 00:11:41,610 --> 00:11:43,499 working on Windows, but also maybe 303 00:11:43,500 --> 00:11:45,299 tricked some Windows developers in to 304 00:11:45,300 --> 00:11:46,949 start using the USB and then we get the 305 00:11:46,950 --> 00:11:47,949 Linux support for free. 306 00:11:47,950 --> 00:11:48,950 Right. 307 00:11:49,760 --> 00:11:51,869 Um, so I was I was 308 00:11:51,870 --> 00:11:54,089 excited that somebody was working on on 309 00:11:54,090 --> 00:11:55,349 Windows because I didn't know anything 310 00:11:55,350 --> 00:11:57,839 about how Windows USB worked. 311 00:11:57,840 --> 00:11:59,999 Really, the little I knew was 312 00:12:00,000 --> 00:12:02,129 that it was pretty complicated. 313 00:12:03,960 --> 00:12:06,089 So anyway, this guy 314 00:12:06,090 --> 00:12:08,729 joined and he sent some some 315 00:12:08,730 --> 00:12:10,889 he didn't send actual 316 00:12:10,890 --> 00:12:13,209 patches the way you generate them with 317 00:12:13,210 --> 00:12:15,389 with get normally and 318 00:12:15,390 --> 00:12:16,319 send them to a mailing list. 319 00:12:16,320 --> 00:12:18,209 But he sent some tips without any 320 00:12:18,210 --> 00:12:20,399 committee message and and not so 321 00:12:20,400 --> 00:12:22,139 structured. And I gave him a lot of 322 00:12:22,140 --> 00:12:24,299 feedback about these. 323 00:12:24,300 --> 00:12:26,399 And I was 324 00:12:26,400 --> 00:12:28,679 I was expecting that 325 00:12:28,680 --> 00:12:30,299 he would send another round of patches, 326 00:12:30,300 --> 00:12:32,459 as normally happens in open source 327 00:12:32,460 --> 00:12:34,709 projects with at least 328 00:12:34,710 --> 00:12:36,659 some of these these things addressed 329 00:12:36,660 --> 00:12:38,609 where he had sort of thought about what I 330 00:12:38,610 --> 00:12:39,689 the feedback I had given. 331 00:12:39,690 --> 00:12:41,819 And, um, 332 00:12:41,820 --> 00:12:44,039 you know, that didn't really happen. 333 00:12:44,040 --> 00:12:45,040 So there were. 334 00:12:46,750 --> 00:12:48,879 There were new patches, but not much 335 00:12:48,880 --> 00:12:50,290 of the feedback had been 336 00:12:51,760 --> 00:12:52,760 considered. 337 00:12:53,680 --> 00:12:55,839 So this continued through 338 00:12:55,840 --> 00:12:57,129 the beginning of 2010. 339 00:12:57,130 --> 00:12:59,229 And one of the last things that 340 00:12:59,230 --> 00:13:01,959 Daniel did before he 341 00:13:01,960 --> 00:13:04,539 he moved on was to commit some 342 00:13:04,540 --> 00:13:06,639 some of the Windows support into 343 00:13:06,640 --> 00:13:08,230 Libya's one one 1.0. 344 00:13:13,000 --> 00:13:14,799 Now, I I wasn't 345 00:13:15,940 --> 00:13:17,589 I thought that was too early. 346 00:13:17,590 --> 00:13:20,049 I didn't think this code was was quite, 347 00:13:20,050 --> 00:13:22,209 quite there yet, but Danielle 348 00:13:22,210 --> 00:13:24,279 had hadn't done it and I didn't really 349 00:13:24,280 --> 00:13:25,280 want to 350 00:13:27,250 --> 00:13:30,009 object or I didn't want to 351 00:13:30,010 --> 00:13:32,319 revert the source code, undo 352 00:13:32,320 --> 00:13:33,909 what he had done. I thought that was a 353 00:13:33,910 --> 00:13:36,129 bit respect, showing not 354 00:13:36,130 --> 00:13:37,719 so much respect for for the previous 355 00:13:37,720 --> 00:13:39,039 maintainer. 356 00:13:39,040 --> 00:13:41,199 So I sort of the solution that 357 00:13:41,200 --> 00:13:43,299 I saw was, OK, let's let's fix this up 358 00:13:43,300 --> 00:13:45,249 and let's get the next release out 359 00:13:45,250 --> 00:13:47,499 because it's high time. 360 00:13:47,500 --> 00:13:49,479 It's nice to have releases every now and 361 00:13:49,480 --> 00:13:50,919 then, but I also felt that it was 362 00:13:50,920 --> 00:13:53,319 important not to add too many new bugs 363 00:13:53,320 --> 00:13:54,969 or leave too many bugs. 364 00:13:54,970 --> 00:13:57,459 Or like if we release something 365 00:13:57,460 --> 00:13:59,409 with Windows support for the very first 366 00:13:59,410 --> 00:14:00,670 time, at least it should work. 367 00:14:01,970 --> 00:14:04,299 And that took that took a long 368 00:14:04,300 --> 00:14:05,300 time. 369 00:14:06,070 --> 00:14:08,409 The development in this this time 370 00:14:08,410 --> 00:14:10,569 it wasn't I wasn't working so well 371 00:14:10,570 --> 00:14:12,669 together with this this guy 372 00:14:12,670 --> 00:14:14,529 who joined who did much of the windows 373 00:14:14,530 --> 00:14:15,530 work 374 00:14:17,380 --> 00:14:19,659 endless email threads 375 00:14:19,660 --> 00:14:20,529 on the mailing list. 376 00:14:20,530 --> 00:14:23,049 And during this time, a lot of people, 377 00:14:23,050 --> 00:14:25,179 they just abandoned the project because 378 00:14:25,180 --> 00:14:27,189 they couldn't keep up with the volume of 379 00:14:27,190 --> 00:14:29,259 email. And I found it hard to I 380 00:14:29,260 --> 00:14:31,689 don't know what what other guy, how 381 00:14:31,690 --> 00:14:33,749 he felt about it, but, um, 382 00:14:35,050 --> 00:14:36,219 he kept doing it anyway. 383 00:14:36,220 --> 00:14:38,319 And I 384 00:14:38,320 --> 00:14:40,389 I was still happy that there 385 00:14:40,390 --> 00:14:41,390 was a Windows developer, 386 00:14:42,700 --> 00:14:44,919 but I also 387 00:14:44,920 --> 00:14:46,719 felt that it was very difficult. 388 00:14:46,720 --> 00:14:49,149 I really felt how difficult 389 00:14:49,150 --> 00:14:51,969 it was to work together and 390 00:14:51,970 --> 00:14:53,109 I kept pushing forward. 391 00:14:53,110 --> 00:14:55,059 I'm I can be pretty stubborn sometimes. 392 00:14:55,060 --> 00:14:57,309 So I kept pushing forward and just 393 00:14:57,310 --> 00:14:58,929 trying to work on the code and trying to 394 00:14:58,930 --> 00:15:01,419 get the the 395 00:15:01,420 --> 00:15:03,039 the windows support into shape. 396 00:15:03,040 --> 00:15:05,319 And finally made a release candidate, 397 00:15:05,320 --> 00:15:07,180 the first one in 2011. 398 00:15:08,500 --> 00:15:10,929 And then later, um, 399 00:15:10,930 --> 00:15:13,119 a few months later, there was one 400 00:15:13,120 --> 00:15:14,919 person on the mailing list, somebody else 401 00:15:14,920 --> 00:15:17,139 who who who sends 402 00:15:17,140 --> 00:15:18,140 or who wrote this 403 00:15:19,270 --> 00:15:21,519 fundamental, incomprehensible and 404 00:15:21,520 --> 00:15:24,129 it seems unresolvable disparity 405 00:15:24,130 --> 00:15:27,099 between what you see as reasonable 406 00:15:27,100 --> 00:15:29,319 and the right way to conduct development 407 00:15:29,320 --> 00:15:31,539 and what the rest of us 408 00:15:31,540 --> 00:15:32,540 feel. 409 00:15:33,790 --> 00:15:35,529 This was just one of these kinds of 410 00:15:35,530 --> 00:15:37,089 emails. There were lots of them. 411 00:15:37,090 --> 00:15:39,279 And of course, this didn't help 412 00:15:39,280 --> 00:15:41,799 my motivation very much, but 413 00:15:41,800 --> 00:15:43,959 and not even not helping 414 00:15:43,960 --> 00:15:45,819 my motivation. It was hard it was hard to 415 00:15:45,820 --> 00:15:47,919 hear this, but I kept going because 416 00:15:47,920 --> 00:15:50,139 I I felt that we 417 00:15:50,140 --> 00:15:52,449 should get these Windows support done 418 00:15:52,450 --> 00:15:53,559 and and released. 419 00:15:56,550 --> 00:15:58,829 A few months later, still April 420 00:15:58,830 --> 00:16:00,899 19th, 2012, there was an 421 00:16:00,900 --> 00:16:03,109 email thread and started on the abuse 422 00:16:03,110 --> 00:16:05,279 mailing list announcing a 423 00:16:05,280 --> 00:16:07,469 hostile talk with the subject, you'd 424 00:16:07,470 --> 00:16:08,009 be dead. 425 00:16:08,010 --> 00:16:10,590 Long live if you live Newsbeat X 426 00:16:12,180 --> 00:16:14,309 and yes, to celebrate. 427 00:16:14,310 --> 00:16:17,069 So this is the Windows guy who was also, 428 00:16:17,070 --> 00:16:18,070 um. 429 00:16:19,750 --> 00:16:21,640 Driving the Lilliput SBX 430 00:16:23,140 --> 00:16:25,479 initiation or, yes, 431 00:16:25,480 --> 00:16:26,480 Falke, 432 00:16:27,850 --> 00:16:28,850 he, 433 00:16:30,460 --> 00:16:32,539 um, he said yes or 434 00:16:32,540 --> 00:16:33,819 Roach to celebrate the two year 435 00:16:33,820 --> 00:16:35,949 anniversary of the last public release 436 00:16:35,950 --> 00:16:38,019 of live USB, which is one way 437 00:16:38,020 --> 00:16:39,669 that Daniel made about a half a year 438 00:16:39,670 --> 00:16:41,769 before you made me maintainer. 439 00:16:43,370 --> 00:16:44,370 Um. 440 00:16:47,470 --> 00:16:49,539 They announced the abuse X and 441 00:16:49,540 --> 00:16:51,759 they think this two year anniversary is 442 00:16:51,760 --> 00:16:53,619 proof enough that Lemieux's B is a dead 443 00:16:53,620 --> 00:16:54,720 project. So they 444 00:16:55,960 --> 00:16:58,149 he's he's he's an excellent rhetoric. 445 00:16:58,150 --> 00:16:59,919 This person. He's very, very good at 446 00:16:59,920 --> 00:17:00,819 writing English. 447 00:17:00,820 --> 00:17:02,620 He's he's an Irish Irishman. 448 00:17:04,210 --> 00:17:06,368 And if you look at the 449 00:17:06,369 --> 00:17:08,588 abuse, B X, so they started their own 450 00:17:08,589 --> 00:17:10,239 mailing list on SourceForge. 451 00:17:10,240 --> 00:17:11,588 And if you look through the archives, you 452 00:17:11,589 --> 00:17:13,118 can see that they worked quite a lot on 453 00:17:13,119 --> 00:17:14,140 this text before they 454 00:17:15,670 --> 00:17:18,249 sent it out to the to the mailing list. 455 00:17:18,250 --> 00:17:20,739 They, um, 456 00:17:20,740 --> 00:17:22,539 they had multiple iterations going 457 00:17:22,540 --> 00:17:24,909 through. And they really if you compare 458 00:17:24,910 --> 00:17:27,338 the versions, you can see how they really 459 00:17:27,339 --> 00:17:29,799 tweaked words and sentences 460 00:17:29,800 --> 00:17:32,979 here and there to create a very specific 461 00:17:32,980 --> 00:17:34,779 effect or to send a very specific 462 00:17:34,780 --> 00:17:37,269 message. It was very well engineered 463 00:17:37,270 --> 00:17:38,270 propaganda. 464 00:17:44,980 --> 00:17:46,619 They're saying that Lemieux's Baeza dead 465 00:17:46,620 --> 00:17:48,730 project and they're in their 466 00:17:50,290 --> 00:17:51,509 Falke announcement. 467 00:17:53,290 --> 00:17:54,789 Even though we've been working on it 468 00:17:54,790 --> 00:17:57,099 constantly for two years, so 469 00:17:57,100 --> 00:17:59,199 there are lots of committees in 470 00:17:59,200 --> 00:18:01,789 India and the repository 471 00:18:01,790 --> 00:18:03,969 public comments for anyone to see, there 472 00:18:03,970 --> 00:18:04,970 wasn't a release. 473 00:18:06,590 --> 00:18:08,349 A lot of users, they said, we want to 474 00:18:08,350 --> 00:18:09,759 release, we want to release, we want to 475 00:18:09,760 --> 00:18:11,529 release, and I want to release, too. 476 00:18:11,530 --> 00:18:13,149 But like I said, I didn't really want to 477 00:18:13,150 --> 00:18:15,039 release just anything I wanted to this 478 00:18:15,040 --> 00:18:18,279 window support to to be 479 00:18:18,280 --> 00:18:20,469 all right and not to have too many 480 00:18:20,470 --> 00:18:22,659 problems it needed to to to work 481 00:18:22,660 --> 00:18:24,309 on. Right. And I also wanted to fix as 482 00:18:24,310 --> 00:18:25,899 many bugs as possible in the in the 483 00:18:25,900 --> 00:18:26,900 previous version. 484 00:18:29,200 --> 00:18:30,609 They also mentioned here, if you're 485 00:18:30,610 --> 00:18:32,879 interested in submitting patches to to 486 00:18:32,880 --> 00:18:35,379 the live USB fork, 487 00:18:35,380 --> 00:18:37,659 please be aware that Libya SBX will soon 488 00:18:37,660 --> 00:18:39,459 have Garet and Jenkins' operational. 489 00:18:39,460 --> 00:18:41,329 So this was in 2012. 490 00:18:41,330 --> 00:18:43,389 There's there never was any Garrett 491 00:18:43,390 --> 00:18:45,489 or Jenkins for Libya SBX, by the 492 00:18:45,490 --> 00:18:47,739 way. But I. Well, anyway, so on 493 00:18:47,740 --> 00:18:49,959 April the 20th, some 20 494 00:18:49,960 --> 00:18:52,299 hours code sprinting later 495 00:18:52,300 --> 00:18:53,300 I 496 00:18:54,430 --> 00:18:56,859 put out the 109 release 497 00:18:56,860 --> 00:18:58,959 and it included some 498 00:18:58,960 --> 00:19:01,809 200, 260 commits 499 00:19:01,810 --> 00:19:03,069 since the previous version. 500 00:19:03,070 --> 00:19:04,809 So there was quite a lot of work that 501 00:19:04,810 --> 00:19:06,579 went into it, went into this. 502 00:19:06,580 --> 00:19:08,679 There's one 09 release over these 503 00:19:08,680 --> 00:19:10,209 two years since the last one. 504 00:19:10,210 --> 00:19:12,309 I think I spent about 2000 505 00:19:12,310 --> 00:19:14,019 hours roughly 506 00:19:15,040 --> 00:19:15,789 over two years. 507 00:19:15,790 --> 00:19:18,039 So that's about a half time, half time 508 00:19:18,040 --> 00:19:19,689 job, 20 hours a week 509 00:19:21,220 --> 00:19:22,220 on this project. 510 00:19:31,820 --> 00:19:33,619 But it wasn't enough and it wasn't I 511 00:19:33,620 --> 00:19:35,629 didn't do it, I didn't spend it on 512 00:19:35,630 --> 00:19:36,889 exactly the right things. 513 00:19:38,510 --> 00:19:40,789 There was this this people pushing 514 00:19:40,790 --> 00:19:43,129 for a release and I didn't deliver 515 00:19:43,130 --> 00:19:45,049 on the release. And I'll get back to 516 00:19:45,050 --> 00:19:46,050 that. 517 00:19:48,770 --> 00:19:51,079 So in May, just a few 518 00:19:51,080 --> 00:19:53,839 weeks later, RedHat employee 519 00:19:53,840 --> 00:19:55,279 who was also involved in the abuse 520 00:19:55,280 --> 00:19:57,499 because he had a blog 521 00:19:57,500 --> 00:19:59,809 which he was posting and 522 00:19:59,810 --> 00:20:01,909 he hadn't posted about Lemieux's be ex 523 00:20:01,910 --> 00:20:04,069 or Lemieux's be before, but he he posted 524 00:20:04,070 --> 00:20:06,289 this very short blog 525 00:20:06,290 --> 00:20:08,359 post just to two lines of text 526 00:20:08,360 --> 00:20:10,459 or one and a half line of text about 527 00:20:10,460 --> 00:20:13,009 how he had now switched the package 528 00:20:13,010 --> 00:20:14,629 for providing the little USB 529 00:20:14,630 --> 00:20:16,999 functionality and fedora over to use 530 00:20:17,000 --> 00:20:18,499 the fork lemieux's b x 531 00:20:19,820 --> 00:20:22,249 and it took maybe a week, 532 00:20:22,250 --> 00:20:24,229 maybe even maybe even less, just a few 533 00:20:24,230 --> 00:20:26,599 days for all the major distributions 534 00:20:26,600 --> 00:20:28,879 to to follow. 535 00:20:28,880 --> 00:20:30,799 They had suddenly also all of them 536 00:20:30,800 --> 00:20:33,109 switched to using the USB and 537 00:20:33,110 --> 00:20:35,299 I'm not a single one, got in touch 538 00:20:35,300 --> 00:20:37,669 with me to just sort of ask, OK, 539 00:20:37,670 --> 00:20:39,579 what's, what's going on. 540 00:20:39,580 --> 00:20:41,779 I guess nobody looked in the repository 541 00:20:41,780 --> 00:20:44,569 and saw that all the permits were 542 00:20:44,570 --> 00:20:46,759 or not all the comments, but that 543 00:20:46,760 --> 00:20:49,279 many comments were also 544 00:20:49,280 --> 00:20:50,749 by or involving me, 545 00:20:51,830 --> 00:20:53,569 the existing maintainer of the project. 546 00:20:53,570 --> 00:20:56,449 I'm I guess I don't know. 547 00:20:56,450 --> 00:20:57,949 I guess it was enough that fedora 548 00:20:57,950 --> 00:20:58,999 switched. 549 00:20:59,000 --> 00:21:00,709 I got I tried to get in touch with some 550 00:21:00,710 --> 00:21:02,989 of them. I sent the ARC 551 00:21:02,990 --> 00:21:05,779 Linux maintainers an email 552 00:21:05,780 --> 00:21:07,969 with I direct the amount, no 553 00:21:07,970 --> 00:21:10,279 mailing list, um, telling 554 00:21:10,280 --> 00:21:12,169 them how I felt about the situation and 555 00:21:12,170 --> 00:21:13,849 how it really broke my heart that nobody 556 00:21:13,850 --> 00:21:16,309 actually got in touch with me and 557 00:21:16,310 --> 00:21:18,409 or like I said, seemed to 558 00:21:18,410 --> 00:21:20,809 me bothered to look into 559 00:21:20,810 --> 00:21:23,689 some facts about this whole situation. 560 00:21:23,690 --> 00:21:26,449 And by accident, 561 00:21:26,450 --> 00:21:28,569 I later learned that 562 00:21:28,570 --> 00:21:30,679 or I got a link and this 563 00:21:30,680 --> 00:21:32,149 email was up on Pastebin. 564 00:21:32,150 --> 00:21:33,320 So thanks for that. 565 00:21:34,570 --> 00:21:36,470 I don't know. I found that strange. 566 00:21:39,520 --> 00:21:41,799 Oh, well, anyway, so there was this fork 567 00:21:41,800 --> 00:21:44,589 and there was still the original 568 00:21:44,590 --> 00:21:46,899 project, and we were working 569 00:21:46,900 --> 00:21:49,089 alongside, um, 570 00:21:49,090 --> 00:21:50,649 most of the people, they went to the fork 571 00:21:50,650 --> 00:21:52,659 because they saw there and there was a 572 00:21:52,660 --> 00:21:54,909 potential for new and exciting things. 573 00:21:54,910 --> 00:21:57,009 But the one guy who had 574 00:21:57,010 --> 00:21:59,199 always been working on the Mac OS 575 00:21:59,200 --> 00:22:01,359 support, he was sticking with the 576 00:22:01,360 --> 00:22:03,309 original project and 577 00:22:04,390 --> 00:22:06,939 he was also very outspoken against this 578 00:22:06,940 --> 00:22:08,589 hostile force. He said he disagreed very 579 00:22:08,590 --> 00:22:10,959 strongly with some of the technical 580 00:22:10,960 --> 00:22:13,089 decisions they made and also how 581 00:22:13,090 --> 00:22:15,069 how they had conducted themselves. 582 00:22:15,070 --> 00:22:17,349 And I was happy to have his support. 583 00:22:22,120 --> 00:22:23,120 No bugs. 584 00:22:24,850 --> 00:22:25,850 All right. 585 00:22:38,850 --> 00:22:39,850 There we go. 586 00:22:43,230 --> 00:22:44,819 All right, so a little bit later or 587 00:22:44,820 --> 00:22:46,349 sometime later, I don't know exactly 588 00:22:46,350 --> 00:22:47,649 because my network connection dropped 589 00:22:47,650 --> 00:22:49,349 down to when I was was trying to research 590 00:22:49,350 --> 00:22:50,399 this. 591 00:22:50,400 --> 00:22:52,739 Nathan unexpectedly removes 592 00:22:52,740 --> 00:22:54,359 me from the live music project on 593 00:22:54,360 --> 00:22:56,219 SourceForge. So this was the primary 594 00:22:56,220 --> 00:22:58,169 distribution point for further project, 595 00:22:58,170 --> 00:23:00,179 and it was where the mailing list was and 596 00:23:00,180 --> 00:23:01,709 and where we published releases. 597 00:23:04,170 --> 00:23:06,509 OK, so he suddenly decides to take 598 00:23:06,510 --> 00:23:08,579 over the project, take control 599 00:23:08,580 --> 00:23:09,599 over the project. 600 00:23:09,600 --> 00:23:11,609 He was working on some some changes. 601 00:23:11,610 --> 00:23:13,929 And I again, I, 602 00:23:13,930 --> 00:23:15,629 I felt very strongly that they weren't 603 00:23:15,630 --> 00:23:16,979 ready. There were some issues with them. 604 00:23:16,980 --> 00:23:19,319 I communicated the issues to him 605 00:23:19,320 --> 00:23:21,419 and he didn't I'm not sure 606 00:23:21,420 --> 00:23:22,739 that he understood exactly what the 607 00:23:22,740 --> 00:23:23,279 issues were. 608 00:23:23,280 --> 00:23:26,459 And I'm sure that he was frustrated that 609 00:23:26,460 --> 00:23:28,299 the development wasn't moving forward. 610 00:23:29,580 --> 00:23:30,580 I really am. 611 00:23:33,280 --> 00:23:35,439 Still, so the next thing he did 612 00:23:35,440 --> 00:23:37,509 was he invited all of the abuse back 613 00:23:37,510 --> 00:23:40,099 people to join the project and 614 00:23:40,100 --> 00:23:42,399 and those two things, they really, really 615 00:23:42,400 --> 00:23:43,509 surprised me. I 616 00:23:44,590 --> 00:23:46,009 didn't expect that. 617 00:23:46,010 --> 00:23:47,049 I did not see that coming. 618 00:23:50,260 --> 00:23:52,509 And so they 619 00:23:52,510 --> 00:23:53,510 then. 620 00:23:55,040 --> 00:23:57,349 Sort of say that their lives would be 621 00:23:57,350 --> 00:23:58,460 in 2014, 622 00:23:59,570 --> 00:24:01,879 the Libby would be called Lemieux's be ex 623 00:24:01,880 --> 00:24:03,529 sorry code base that they continue 624 00:24:03,530 --> 00:24:05,269 working on on their code and I continue 625 00:24:05,270 --> 00:24:06,420 working on my code. 626 00:24:07,430 --> 00:24:09,649 And there's this committee and the GitHub 627 00:24:09,650 --> 00:24:11,539 lemieux's be a repository, which is shows 628 00:24:11,540 --> 00:24:13,359 pretty clearly that, um, 629 00:24:14,600 --> 00:24:16,969 what they call merging 630 00:24:16,970 --> 00:24:19,309 is really just renaming their, 631 00:24:19,310 --> 00:24:21,529 their libidos b x code 632 00:24:21,530 --> 00:24:24,169 base to use B and 633 00:24:24,170 --> 00:24:26,029 no, not many people knew that. 634 00:24:26,030 --> 00:24:29,059 I spoke with a pretty 635 00:24:29,060 --> 00:24:30,829 prominent Linux kernel developer. 636 00:24:30,830 --> 00:24:32,719 He didn't notice this either naive or I 637 00:24:32,720 --> 00:24:34,849 mean, he just reads the 638 00:24:34,850 --> 00:24:35,929 news like everyone else. 639 00:24:35,930 --> 00:24:37,969 Right. And in the news, it says the 640 00:24:37,970 --> 00:24:38,970 project merged. 641 00:24:49,550 --> 00:24:51,799 So mistakes that I made. 642 00:24:53,910 --> 00:24:55,989 I made a lot of mistakes, a 643 00:24:55,990 --> 00:24:58,319 few of them were more 644 00:24:58,320 --> 00:25:00,509 important than the other ones, 645 00:25:00,510 --> 00:25:02,639 the major mistake I made, which would 646 00:25:02,640 --> 00:25:06,179 have avoided all these problems, was 647 00:25:06,180 --> 00:25:08,339 to not release 648 00:25:08,340 --> 00:25:10,200 anything, because that is what. 649 00:25:12,550 --> 00:25:14,769 What sort of signals activity 650 00:25:14,770 --> 00:25:16,959 in the project to 651 00:25:16,960 --> 00:25:19,239 anyone who's not working on the project? 652 00:25:21,440 --> 00:25:23,119 You could you could say that it's only 653 00:25:23,120 --> 00:25:25,279 for show and actually, if 654 00:25:25,280 --> 00:25:27,439 you do a release and there's nothing 655 00:25:27,440 --> 00:25:29,659 really much that has changed, then that's 656 00:25:29,660 --> 00:25:31,879 perfectly fine as long as you sort 657 00:25:31,880 --> 00:25:34,369 of send out a heartbeat and 658 00:25:34,370 --> 00:25:36,739 and make sure that people know that, 659 00:25:36,740 --> 00:25:38,239 well, the project is still moving 660 00:25:38,240 --> 00:25:40,219 forward, even if there's nothing really 661 00:25:40,220 --> 00:25:41,220 happening. 662 00:25:42,590 --> 00:25:44,899 Another mistake I made was that I was I'm 663 00:25:44,900 --> 00:25:46,129 I'm Swedish. 664 00:25:46,130 --> 00:25:48,619 And I think it's a trait 665 00:25:48,620 --> 00:25:50,779 in Scandinavia that we we like to seek 666 00:25:50,780 --> 00:25:52,909 consensus. And I did 667 00:25:52,910 --> 00:25:55,699 that for for far too long. 668 00:25:55,700 --> 00:25:57,979 I was trying very, very hard to work 669 00:25:57,980 --> 00:26:00,289 together with other developers 670 00:26:00,290 --> 00:26:02,689 who wanted to do 671 00:26:02,690 --> 00:26:04,759 different things that I wanted to do and 672 00:26:04,760 --> 00:26:07,369 who wanted to do things differently 673 00:26:07,370 --> 00:26:08,689 than I wanted to do. 674 00:26:08,690 --> 00:26:10,879 And I shouldn't have I 675 00:26:10,880 --> 00:26:12,319 shouldn't have tried to do that for so 676 00:26:12,320 --> 00:26:14,339 long. I should have much, much quicker. 677 00:26:14,340 --> 00:26:16,159 At some point, I finally realized, OK, 678 00:26:16,160 --> 00:26:17,419 this is not going to work out. 679 00:26:17,420 --> 00:26:19,309 We should go separate ways. 680 00:26:19,310 --> 00:26:21,229 But that took me like a good year and a 681 00:26:21,230 --> 00:26:23,899 half of fighting, 682 00:26:23,900 --> 00:26:26,959 as this kernel developer called it, 683 00:26:26,960 --> 00:26:29,059 as or discussing as I 684 00:26:29,060 --> 00:26:30,650 had the impression that we were doing. 685 00:26:32,090 --> 00:26:33,929 But that wasn't how it was perceived 686 00:26:33,930 --> 00:26:35,989 outside the 687 00:26:35,990 --> 00:26:38,629 outside. They had a lot of negative 688 00:26:38,630 --> 00:26:40,729 negativity come out of these pretty 689 00:26:40,730 --> 00:26:41,719 intense discussions. 690 00:26:41,720 --> 00:26:44,209 And there's a really good presentation 691 00:26:44,210 --> 00:26:46,519 by Tony Burke holds where he, 692 00:26:46,520 --> 00:26:48,230 among other things, has that 693 00:26:49,460 --> 00:26:51,829 five one negative 694 00:26:51,830 --> 00:26:53,929 experience requires five positive 695 00:26:53,930 --> 00:26:55,999 experiences within 696 00:26:56,000 --> 00:26:58,249 an open source project or 697 00:26:58,250 --> 00:27:00,799 any voluntary project for a contributor 698 00:27:00,800 --> 00:27:02,959 to stay, stay there and to 699 00:27:02,960 --> 00:27:04,789 stay to sort of level things out. 700 00:27:04,790 --> 00:27:07,069 So for every single negative thing, 701 00:27:07,070 --> 00:27:09,259 there are five good that are needed. 702 00:27:09,260 --> 00:27:11,539 And that's a lot of a lot 703 00:27:11,540 --> 00:27:13,430 of positive stuff. 704 00:27:15,140 --> 00:27:16,849 That is needed to compensate for just a 705 00:27:16,850 --> 00:27:18,109 single bad experience. 706 00:27:20,360 --> 00:27:23,359 I learned lots of things about 707 00:27:23,360 --> 00:27:25,999 how different contributors 708 00:27:26,000 --> 00:27:27,000 do 709 00:27:28,070 --> 00:27:29,329 well, what motivates different 710 00:27:29,330 --> 00:27:31,489 contributors and what kind of 711 00:27:31,490 --> 00:27:32,899 that there are different kinds of 712 00:27:32,900 --> 00:27:34,069 contributors. I was 713 00:27:35,480 --> 00:27:37,910 I was quite naive when I started 714 00:27:38,990 --> 00:27:40,159 maintaining this project. 715 00:27:40,160 --> 00:27:42,499 And I was 716 00:27:42,500 --> 00:27:44,899 I was engaged in the project for 717 00:27:44,900 --> 00:27:46,249 four selfless reasons. 718 00:27:46,250 --> 00:27:48,589 I wanted to make a good software 719 00:27:48,590 --> 00:27:50,689 library for others to use, for others 720 00:27:50,690 --> 00:27:52,879 to benefit from it and for 721 00:27:52,880 --> 00:27:54,229 me, myself to use as well. 722 00:27:55,640 --> 00:27:57,859 But that's not necessarily what 723 00:27:57,860 --> 00:27:59,969 drives everyone else. 724 00:27:59,970 --> 00:28:01,939 Right. Especially if you have corporate 725 00:28:01,940 --> 00:28:03,649 contributor. So the red headed guy, for 726 00:28:03,650 --> 00:28:05,089 example, he just needed to solve the 727 00:28:05,090 --> 00:28:06,709 problem that the paying customer had. 728 00:28:07,910 --> 00:28:10,669 And he didn't really care much 729 00:28:10,670 --> 00:28:12,059 about the drama. 730 00:28:12,060 --> 00:28:14,059 He just needed a working library. 731 00:28:14,060 --> 00:28:15,060 All right. 732 00:28:16,340 --> 00:28:18,409 Package maintainers in operating system 733 00:28:18,410 --> 00:28:20,690 distribution's. I learned that they don't 734 00:28:22,430 --> 00:28:24,469 maybe don't look so much into the fact 735 00:28:24,470 --> 00:28:26,539 they I tried to talk with 736 00:28:26,540 --> 00:28:27,679 several of them. 737 00:28:27,680 --> 00:28:29,929 They were all super, super busy 738 00:28:29,930 --> 00:28:31,819 and stressed and 739 00:28:34,190 --> 00:28:35,389 overworked. 740 00:28:35,390 --> 00:28:37,699 And, of course, they don't have time to 741 00:28:37,700 --> 00:28:40,010 to do investigative journalism. 742 00:28:42,400 --> 00:28:45,629 I learned about trolls on the Internet, 743 00:28:45,630 --> 00:28:47,979 and I'm not saying that people were 744 00:28:47,980 --> 00:28:50,139 were trolls, but I was 745 00:28:50,140 --> 00:28:51,140 trolled 746 00:28:53,170 --> 00:28:55,569 and I let myself be trolled and I fed 747 00:28:55,570 --> 00:28:56,570 the trolls. 748 00:28:57,310 --> 00:28:59,439 And that's that's not good because 749 00:28:59,440 --> 00:29:02,529 it creates these negative experiences 750 00:29:02,530 --> 00:29:03,699 within the project. 751 00:29:03,700 --> 00:29:06,429 And that hurts the community. 752 00:29:06,430 --> 00:29:08,539 And it hurts it hurts me as well. 753 00:29:10,540 --> 00:29:12,699 GitHub, that's a funny story, but 754 00:29:12,700 --> 00:29:14,199 we're a bit out of time. 755 00:29:14,200 --> 00:29:16,329 I'll skip that and go right to what I 756 00:29:16,330 --> 00:29:17,470 learned about myself. 757 00:29:19,660 --> 00:29:21,939 I want to do I want to do things 758 00:29:21,940 --> 00:29:22,989 really, really well. 759 00:29:22,990 --> 00:29:24,789 And I learned that I besides the 760 00:29:24,790 --> 00:29:26,469 consensus thing, that I tried to do that 761 00:29:26,470 --> 00:29:28,599 too much. I learned that I tried to do 762 00:29:28,600 --> 00:29:29,600 things too well. 763 00:29:31,300 --> 00:29:33,369 I have to I have to 764 00:29:33,370 --> 00:29:34,899 work on that. 765 00:29:34,900 --> 00:29:36,460 I have to be 766 00:29:38,350 --> 00:29:40,869 I have to be more open to 767 00:29:40,870 --> 00:29:42,459 how other people want to do things. 768 00:29:42,460 --> 00:29:44,889 And I have to also not 769 00:29:44,890 --> 00:29:47,169 insist that we fix all 770 00:29:47,170 --> 00:29:49,389 the problems before we've experienced 771 00:29:49,390 --> 00:29:51,639 them. I have to 772 00:29:51,640 --> 00:29:54,099 let things go wrong sometimes and 773 00:29:54,100 --> 00:29:55,389 and maybe I can. 774 00:29:55,390 --> 00:29:58,119 And in retrospect than say 775 00:29:58,120 --> 00:29:59,120 I told you so. 776 00:30:01,720 --> 00:30:02,720 Thank you. 777 00:30:03,550 --> 00:30:04,550 Thank you.