WEBVTT

00:00:00.000 --> 00:00:06.200
I actually did have a question for you that could be interesting on camera. A friend of mine had some kernel experience writing drivers for AMD.

00:00:06.200 --> 00:00:11.760
Yeah, and he heard you say a little while ago that there's not enough contributors or

00:00:11.760 --> 00:00:15.520
you're having a hard time finding contributors and he wondered where to start to look into

00:00:15.520 --> 00:00:28.520
what he could do. So I think that probably came not so much from contributors as we have a hard time finding

00:00:29.440 --> 00:00:34.160
We have a harder time finding the maintainers than we have to find the default.

00:00:34.160 --> 00:00:40.880
Yes, so the problem is there's a lot of programmers, a lot of them actually get paid to do Linux

00:00:40.880 --> 00:00:49.440
kernel work, but it's much harder to find the kind of person who stays around for years

00:00:49.440 --> 00:00:56.000
and also when you're a maintainer, it's not just that you have to know coding, you have

00:00:56.000 --> 00:01:01.560
to have enough of a background that people know you know coding, right?

00:01:01.560 --> 00:01:11.720
So there has to be some mind knowledge about you and you can't come from nothing and the

00:01:11.720 --> 00:01:15.560
other thing is you have to be pretty good at communication too.

00:01:15.560 --> 00:01:21.160
So that's why we are having, I think it's harder to find maintainers than it is to find

00:01:21.160 --> 00:01:33.840
people to code. I mean we have tons of developers who like doing the coding part and I think people are

00:01:33.840 --> 00:01:37.400
kind of scared of taking the next step.

00:01:37.400 --> 00:01:42.720
People think that it's harder or think that the expectations are necessarily higher than

00:01:42.720 --> 00:01:50.760
they, I don't think they are. The only thing you have to do is you have to step up, you have to have done enough that

00:01:50.760 --> 00:01:56.200
people recognize your name, then you have to just step up and say hey, I'd like to help

00:01:56.200 --> 00:02:05.760
maintain this area and if you do that, the answer almost certainly is going to be yes.

00:02:05.760 --> 00:02:10.360
We want people who help maintain an area.

00:02:10.360 --> 00:02:16.360
So what's the first touch point? Is it that you're going to be contributing and passing up the chain first?

00:02:16.360 --> 00:02:19.480
Yeah, you do have to basically start.

00:02:19.480 --> 00:02:24.320
It's kind of like a lot of companies have this policy that you grow from within and

00:02:24.320 --> 00:02:29.600
that everybody starts at the bottom and it doesn't have to be bottom-bottom but you have

00:02:29.600 --> 00:02:36.560
to start out being a programmer that writes code or not necessarily even code.

00:02:36.560 --> 00:02:42.120
Documentation is the exact same as true of documentation, tests and stuff like that.

00:02:42.120 --> 00:02:47.360
We have maintainers for all of those areas but you have to kind of show, you can't just

00:02:47.360 --> 00:02:50.800
say show up and say hey, I'd like to help.

00:02:50.800 --> 00:02:57.680
What you have to do is you write some code so that people get to know and then when they

00:02:57.680 --> 00:03:06.160
know you, when you say hey, I'd like to help maintain and help carry like spread the burden

00:03:06.160 --> 00:03:12.200
around of maintenance. I know I'm the one who put you guys here.

00:03:12.200 --> 00:03:17.840
We have a ton of people who I'm sure would rather have to have more people reviewing

00:03:17.840 --> 00:03:24.120
patches, help when people go on vacations.

00:03:24.120 --> 00:03:29.640
So when you say that you have to say how shy they are, they're all hovering.

00:03:29.640 --> 00:03:34.360
I just spent the last two hours with you though so I can't come from nothing.

00:03:34.360 --> 00:03:38.640
Do you mean with the Linux project specifically or with just coding in general?

00:03:38.640 --> 00:03:42.440
I think you need to come into it coding into Linux.

00:03:42.440 --> 00:03:48.040
I mean yes, you probably have experience from other sources to other projects.

00:03:48.040 --> 00:03:53.320
Maybe you work in commercial but in order to get that name recognition where people

00:03:53.320 --> 00:04:00.320
know who you are because that's, I think like personal trust is a big deal in open source.

00:04:00.320 --> 00:04:06.640
It's inside companies, it's like you got hired, you're working at the same company so we trust

00:04:06.640 --> 00:04:11.200
you kind of thing. You are part of the team now because our manager put you on the team.

00:04:11.200 --> 00:04:17.200
You've gone through the process, we've verified. And in open source, that's not how it works.

00:04:17.200 --> 00:04:22.680
In open source it's like I trust you because I've seen you around, it doesn't necessarily

00:04:22.680 --> 00:04:30.240
take very long, there are maintainers, I mean they've been around for ages now but there

00:04:30.240 --> 00:04:36.440
are maintainers who became maintainers in a couple of months because they just, they

00:04:36.440 --> 00:04:42.320
showed that hey, they know what they're doing, they were being helpful and doing the right

00:04:42.320 --> 00:04:49.040
things and then they said hey, you want to help and everybody said yes please, come on.

00:04:49.040 --> 00:04:58.680
So it's actually not, well, I don't know, I say it's not that hard but I only see the

00:04:58.680 --> 00:05:04.480
other side of it so I may not see all the people who struggled and never put it in.

00:05:04.480 --> 00:05:08.080
So getting your foot in the door is like showing up and communicating with people who are on

00:05:08.080 --> 00:05:12.280
the project, seeing where you can lend a hand, reviewing, documentation.

00:05:12.280 --> 00:05:20.240
Reviewing and you do want to send passions to. So you want, that's probably the first thing to do, even before you start reviewing because

00:05:20.240 --> 00:05:26.720
in order for people to know that your reviews are worthwhile, they need to kind of know

00:05:26.720 --> 00:05:35.880
that your code is played by the person. So find the, I mean, that's one of the advantages there and there are tons of different areas.

00:05:35.880 --> 00:05:44.000
Find the device or the architecture or whatever that you are interested in, sometimes it could

00:05:44.000 --> 00:05:51.000
be files, it could be encryption, it could be whatever, there's a lot of code and find

00:05:51.000 --> 00:05:56.680
something that you care about and that you think you know something about and that you

00:05:56.680 --> 00:06:03.520
can see something or prove and you find something you don't like, fix it, send a patch, communicate

00:06:03.520 --> 00:06:08.440
with the maintainer, the existing maintainer of that problem and that's how you kind of

00:06:08.440 --> 00:06:11.640
get the communication guide.

00:06:11.640 --> 00:06:14.640
Find something you've got a real itch for, right? Yeah, yeah, cool.

00:06:14.640 --> 00:06:20.480
And I mean, it doesn't have, I mean the kernel may be a high profile project and one of the

00:06:20.480 --> 00:06:25.560
biggest ones around there but let's be honest, there's thousands of open source projects

00:06:25.560 --> 00:06:31.560
and kernels are kind of, I think kernels are the most interesting ones but you don't

00:06:31.560 --> 00:06:34.560
have to do kernels. Yeah. Right.

00:06:34.560 --> 00:06:43.640
Realistically, we do have 35 years of code, so quite often if there's something new that

00:06:43.640 --> 00:06:50.360
meets new code, it's often like new hardware support, hmm, right, so that's, you mentioned

00:06:50.360 --> 00:06:56.120
people as a driver, a writer, you get to say AMD, yeah, so that's, that's quite often

00:06:56.120 --> 00:07:00.600
how people get into kernel maintenance because that's where they're, there's always, they

00:07:00.600 --> 00:07:06.120
cut their teeth and that kind of thing and they, they, they, they maybe, most kernel

00:07:06.120 --> 00:07:11.120
developers these days are actually paid by companies to be kernel developers.

00:07:11.120 --> 00:07:18.520
Interesting. But sometimes they became kernel developers first and then proved their skills and at

00:07:18.520 --> 00:07:21.880
that point companies came in and said, hey, we'll pay you to do that.

00:07:21.880 --> 00:07:25.640
But sometimes it goes the other way where, where they're literally paid by companies

00:07:25.640 --> 00:07:31.760
to do something and then they, they enjoy it and they become kernel developers and they're

00:07:31.760 --> 00:07:34.880
still paid by companies, they're, they're part of the community.

00:07:34.880 --> 00:07:39.480
Yeah. That's great. Well, thanks so much, it's really nice to meet you.

00:07:39.480 --> 00:07:47.520
Just gonna excuse myself for a minute, I gotta go shoot some stuff. If I catch you on the way out, I'd love to say bye but if not, if not, again, hey.

00:07:47.520 --> 00:07:51.280
This was so great. It seemed to work. Oh.

00:07:51.280 --> 00:07:54.280
Let's see how it works. Oh, in the end. I have no doubt.

00:07:54.280 --> 00:07:58.320
If you edit it to be something crap, I will hate you for it.

00:07:58.320 --> 00:08:02.000
Well you heard it here first. No pressure. No pressure.

00:08:02.000 --> 00:08:05.960
I don't want to monopolize your time but thank you for being like such a stalwart open source person.

00:08:05.960 --> 00:08:11.040
I built my career writing about 3D printers so open source communities are so important

00:08:11.040 --> 00:08:15.320
to me and you're such a symbol in that.

00:08:15.320 --> 00:08:24.000
I get way too much credit. I mean that's the thing, there's literally millions of us and I just get all the credit.

00:08:24.000 --> 00:08:27.000
Yeah. Thank you. Hello.

00:08:27.000 --> 00:08:31.000
Can you, can you pretend we're taking a picture here? Take a screenshot from him.

00:08:31.000 --> 00:08:34.000
I'm friendly, it's more than pretend. Alright.

00:08:34.000 --> 00:08:37.000
One, two, three, cheese. Cheese. Beautiful.

00:08:37.000 --> 00:08:40.000
There we go. Alright. How about that?

00:08:41.000 --> 00:08:42.000
Thank you.

00:08:44.000 --> 00:08:47.000
Oh my God, the line got bigger. Oh my goodness.

00:08:49.000 --> 00:08:53.000
Bye bye. Would you be opposed to one of these for the camera?

00:08:53.000 --> 00:08:56.000
Yeah. Like you did in the video? It's all good.

00:08:56.000 --> 00:08:59.000
It's all good. It's all good. Thank you.

00:08:59.000 --> 00:09:06.000
Oh, nice to meet you. I'm James. I'm not that important but I'll also take a screenshot.

00:09:07.000 --> 00:09:10.000
We'll do the most viewed internal videos. Yes, please.

00:09:10.000 --> 00:09:13.000
Alright. I'm sure that one does. We're good?

00:09:13.000 --> 00:09:17.000
That's Sony Alpha. It's going to take pictures too. We're going to take an actual picture, right?

00:09:17.000 --> 00:09:20.000
Got it. Thank you for giving me a hug.

00:09:20.000 --> 00:09:24.000
They don't trust your camera work. That's what I'd say about you.

00:09:24.000 --> 00:09:28.000
Can I ask you a question? Sure. What's your most embarrassing tech story?

00:09:28.000 --> 00:09:34.000
If you have one? I mean, I think the one, it's not embarrassing anymore because I've told it so many times

00:09:34.000 --> 00:09:38.000
but it's the one where do you, you know, you weren't here when they were filming it.

00:09:38.000 --> 00:09:47.000
No. It is the one where I deleted my OS install by auto-dialing my hard disk.

00:09:47.000 --> 00:09:58.000
That was embarrassing at the time. That was like a moment where I really said, okay, that's a lot of hours wasted because

00:09:58.000 --> 00:10:04.000
I had made it too easy to treat my hard disk as if it was a moda.

00:10:04.000 --> 00:10:12.000
But that's actually the point where I ended up using Linux full-time before I was dual-booting

00:10:12.000 --> 00:10:20.000
and I destroyed the right partitions so that the Linux partitions stayed around.

00:10:20.000 --> 00:10:24.000
But I've made a lot of stupid things.

00:10:24.000 --> 00:10:28.000
I try to forget the embarrassing part.

00:10:28.000 --> 00:10:31.000
Anyone? I'll get a screenshot picture.

00:10:31.000 --> 00:10:35.000
Yeah, I'll get a screenshot picture. It's really cool to meet you.

00:10:35.000 --> 00:10:38.000
All right. Now I'm taking an extra nice one.

00:10:38.000 --> 00:10:43.000
You're way too old. Yeah, I'm just a lot of hours wasted.

00:10:43.000 --> 00:10:47.000
I know. Are you even crouching everything? Yeah, you're doing a good job.

00:10:47.000 --> 00:10:50.000
You want to take your tube here? Why not? Sure.

00:10:53.000 --> 00:10:57.000
Wow. Eli's in the way. Sorry, I was grabbing something.

00:10:57.000 --> 00:11:00.000
Eli photo bomb. He wants me in every photo.

00:11:00.000 --> 00:11:03.000
I was cleaning up the set. I'm sorry, I just...

00:11:03.000 --> 00:11:06.000
I'm trying to do my job here, Sammy. I'm trying to do my job.

00:11:06.000 --> 00:11:09.000
Do you want a screenshot picture? Sure, we'll get a picture. That's all good.

00:11:09.000 --> 00:11:13.000
You were always on the other camera. I know I was.

00:11:13.000 --> 00:11:16.000
All right, perfect. There we go. Now we got one together though.

00:11:16.000 --> 00:11:19.000
So thank you so much. You find it weird when you ask for photos?

00:11:19.000 --> 00:11:23.000
Because I know when Linus got more popular, he found it weird.

00:11:23.000 --> 00:11:27.000
Yes and no. It is weird because it is weird.

00:11:27.000 --> 00:11:32.000
But I'm used to it. Because when I go to conferences, it happens all the time.

00:11:32.000 --> 00:11:35.000
It happens to the point where it's a problem.

00:11:35.000 --> 00:11:39.000
Now, when I give a talk, they literally...

00:11:39.000 --> 00:11:45.000
They take me off stage after the talk immediately and rush me out of the audience.

00:11:45.000 --> 00:11:49.000
Because what has happened a couple of times before they did that,

00:11:49.000 --> 00:11:54.000
is that you have literally hundreds of people who run up and try to get on an autograph

00:11:54.000 --> 00:12:01.000
and try to get a selfie. And it completely destroys the next talk when you had a big auditorium

00:12:01.000 --> 00:12:05.000
where a third of the people just walked away.

00:12:05.000 --> 00:12:10.000
So now when I go to conferences, it's kind of strange.

00:12:10.000 --> 00:12:13.000
I do a talk and then they rush me off stage

00:12:13.000 --> 00:12:17.000
and I try to avoid the whole craziness.

00:12:17.000 --> 00:12:20.000
You talk to Linus about it. I think Linus has the same problems.

00:12:20.000 --> 00:12:23.000
Yeah, sort of out of Linus.

00:12:23.000 --> 00:12:29.000
I understand. Yeah, no, it feels bad because it feels very impolite.

00:12:29.000 --> 00:12:37.000
But at the same time, it doesn't work if you just stay around and give autographs

00:12:37.000 --> 00:12:44.000
and have hundreds of people who want... I've been in that situation where you literally have a line of people taking photos.

00:12:44.000 --> 00:12:46.000
Can you download the formal sign?

00:12:50.000 --> 00:12:53.000
Many, many years ago, I forget.

00:12:53.000 --> 00:12:59.000
Somewhere in Japan, it probably was Tokyo just because it's mostly Tokyo.

00:12:59.000 --> 00:13:02.000
We did...

00:13:02.000 --> 00:13:08.000
Oh, it was actually when I wrote the book with David Diamond.

00:13:08.000 --> 00:13:11.000
We had a book tour afterwards.

00:13:11.000 --> 00:13:15.000
And then as part of the book tour, we would have book signings.

00:13:15.000 --> 00:13:22.000
And then people would A, bring the book, but they would also bring in things that I felt bad about signing.

00:13:22.000 --> 00:13:25.000
They had nice leather jackets.

00:13:25.000 --> 00:13:30.000
And my signature is not like a nice signature.

00:13:30.000 --> 00:13:35.000
So it was like, I'm defacing this thing.

00:13:35.000 --> 00:13:39.000
Yeah, exactly.

00:13:39.000 --> 00:13:43.000
And some things are really hard to sign. People bring in...

00:13:43.000 --> 00:13:47.000
Oh, well, it's not there anymore. The tux penguin.

00:13:47.000 --> 00:13:51.000
They exist as plush toys.

00:13:51.000 --> 00:13:54.000
And then they ask me to sign it, which kind of makes sense.

00:13:54.000 --> 00:14:00.000
They brought something that is Linux related, where a signature would make sense.

00:14:00.000 --> 00:14:04.000
It's completely impossible to sign on those things.

00:14:04.000 --> 00:14:07.000
You basically can't try it.

00:14:08.000 --> 00:14:13.000
No, but it's one of those things where you say,

00:14:13.000 --> 00:14:20.000
I understand what you want and it makes sense, but it doesn't work in this thing.

00:14:20.000 --> 00:14:24.000
You can try to hold it out so that it's stretched very tight,

00:14:24.000 --> 00:14:29.000
but even then the signature just ends up being even more scribble than it is.

00:14:29.000 --> 00:14:33.000
You can recognize a lot. I know shows and stuff.

00:14:33.000 --> 00:14:36.000
You're surrounded with people that will know you and what you do,

00:14:36.000 --> 00:14:39.000
because it's like-minded individuals, I guess.

00:14:39.000 --> 00:14:44.000
But on the street... It's almost the only time I get recognized at conferences.

00:14:44.000 --> 00:14:47.000
I don't have... I'm not like you or Linus.

00:14:47.000 --> 00:14:51.000
My face is in plastered on YouTube constantly.

00:14:51.000 --> 00:14:55.000
So... It happens today, you'll get stuff.

00:14:55.000 --> 00:14:59.000
It happens that I get recognized, but it's fairly rare.

00:14:59.000 --> 00:15:03.000
It does... I mean...

00:15:03.000 --> 00:15:07.000
Back when we used to have a fries,

00:15:07.000 --> 00:15:10.000
I don't know if fries was ever a thing in Canada.

00:15:10.000 --> 00:15:15.000
Oh, fries electronics? No, it was never. But I would actually get...

00:15:15.000 --> 00:15:18.000
I would go there and buy computer parts.

00:15:18.000 --> 00:15:24.000
And then because you are in an area with a much higher concentration of geeks than normal,

00:15:24.000 --> 00:15:27.000
then occasionally people would come up and say,

00:15:27.000 --> 00:15:33.000
I'm not that well known. And it happens occasionally, but no, I'm not that well known.

00:15:33.000 --> 00:15:38.000
I think a lot of people... More people know my name than really have a...

00:15:38.000 --> 00:15:43.000
And a lot of the pictures of me are old anyway, right?

00:15:43.000 --> 00:15:48.000
I think... I still see people, like...

00:15:48.000 --> 00:15:53.000
I mean... Talking about signing things, sometimes they bring, like,

00:15:53.000 --> 00:15:57.000
old pictures from my college days. And hey, I'm 55 years old.

00:15:57.000 --> 00:16:00.000
My college days were some time ago, right?

00:16:00.000 --> 00:16:04.000
I look different now, and I like shirtless and drinking a beer.

00:16:04.000 --> 00:16:07.000
And they ask me to sign that picture, right?

00:16:07.000 --> 00:16:11.000
So... Anyway...

00:16:11.000 --> 00:16:17.000
Do you have a favorite with the sort of project of your own? It could be two, but just out of interest?

00:16:17.000 --> 00:16:21.000
No, I... No, I...

00:16:21.000 --> 00:16:26.000
It's like... I have the toy project that I started.

00:16:26.000 --> 00:16:30.000
The subsurface, which is the dive log thing.

00:16:30.000 --> 00:16:34.000
And the other toy project that I started. Git, right? That I follow.

00:16:34.000 --> 00:16:39.000
Yeah. So I follow those just because of...

00:16:39.000 --> 00:16:42.000
I mean, but they're not there. You're invested.

00:16:42.000 --> 00:16:48.000
Yeah. Do you want your phone or do you want me to take the screen cap for you?

00:16:48.000 --> 00:16:52.000
I mean, I can get it on my... We'll get one of both. We'll get one on the phone.

00:16:52.000 --> 00:16:56.000
Thank you. My brother's going to be so jealous.

00:16:56.000 --> 00:17:00.000
Long times off for a developer. Yeah, that's right.

00:17:03.000 --> 00:17:06.000
I was looking... Where were we? Oh, no.

00:17:06.000 --> 00:17:10.000
Look at this camera. Don't look at me. Don't look at me.

00:17:11.000 --> 00:17:13.000
I think it was.

00:17:16.000 --> 00:17:20.000
Thank you so much. I think Pankrat's there, but I don't know where he went.

00:17:20.000 --> 00:17:24.000
Yeah, I don't know. Everyone's saying to my brother. I'm saying to my brother that I don't think I'll be...

00:17:24.000 --> 00:17:30.000
Maybe we're done. Yeah, two of the biggest guys I've wanted to meet you were out of office today.

00:17:30.000 --> 00:17:33.000
So, Luke is... That's too bad.

00:17:33.000 --> 00:17:40.000
Yeah. I might never meet a person who has had a bigger impact on the world.

00:17:40.000 --> 00:17:44.000
Yeah. We're really shocking as you go today.

00:17:44.000 --> 00:17:48.000
I mean, like, it's just... That's just embarrassing.

00:17:49.000 --> 00:17:54.000
Right. It's... Whether it was intentional or not is what ended up happening, right?

00:17:55.000 --> 00:17:57.000
Yeah, but as I...

00:17:58.000 --> 00:18:04.000
I get way too much credit. Like, I get credit for Git, and I did Git...

00:18:05.000 --> 00:18:07.000
I did Git for six months.

00:18:08.000 --> 00:18:10.000
But it was the right six months.

00:18:11.000 --> 00:18:15.000
It was... And the design I'm proud of, but at the same time, it's like...

00:18:16.000 --> 00:18:22.000
All of the infrastructure that made Git so useful to millions of people

00:18:22.000 --> 00:18:27.000
was built up by others. I think also you've imparted, like, a philosophy

00:18:27.000 --> 00:18:30.000
behind all of your work that's inspired so many people, right?

00:18:30.000 --> 00:18:33.000
And, like, that's why these projects continue to work.

00:18:33.000 --> 00:18:37.000
But, I mean, there's a lot of other open source people.

00:18:37.000 --> 00:18:42.000
Right. Right person, right time, right project.

00:18:42.000 --> 00:18:46.000
And I've been doing it for 35 years. So that's part of it, right?

00:18:46.000 --> 00:18:51.000
Yeah. But it's only become increasingly important as the world has continued to...

00:18:51.000 --> 00:18:54.000
Yeah. Yeah. Yeah.

00:18:54.000 --> 00:18:57.000
Well... What would that bring you? Would you like to ask one more?

00:18:57.000 --> 00:19:01.000
Sure. I'm curious. What I don't know about Linux Control Library,

00:19:01.000 --> 00:19:05.000
but I've noticed that you guys have a very strict philosophy

00:19:05.000 --> 00:19:08.000
about not breaking user space. Is that correct? That's correct for the kernel.

00:19:08.000 --> 00:19:12.000
I wish it was correct for most other open source projects

00:19:12.000 --> 00:19:16.000
because I think the kernel is almost unique in that respect.

00:19:16.000 --> 00:19:23.000
It's the one black and white rule that I impose

00:19:23.000 --> 00:19:29.000
on maintainers and developers is you don't break users

00:19:29.000 --> 00:19:38.000
because users are the reason for any software project.

00:19:38.000 --> 00:19:44.000
Yeah. There's a software project that says, hey, we're going to make a new and improved version,

00:19:44.000 --> 00:19:49.000
but in the process we will break all the old programs that relied on this,

00:19:49.000 --> 00:19:52.000
which a lot of libraries do, and I hate it.

00:19:52.000 --> 00:19:59.000
I don't understand. They're kind of missing the whole point of being a software project as far as I'm concerned.

00:19:59.000 --> 00:20:06.000
So when it comes to the kernel, the major rule is you do not break users.

00:20:06.000 --> 00:20:11.000
It doesn't mean that you can make changes that break some test program or something like that,

00:20:11.000 --> 00:20:15.000
but if it breaks the user experience, it's a bug.

00:20:15.000 --> 00:20:18.000
So where's the line for that? There is no.

00:20:18.000 --> 00:20:21.000
I mean, the line is somebody complains and says,

00:20:21.000 --> 00:20:28.000
hey, my program doesn't work anymore. It turns out people don't often realize that there's that line.

00:20:28.000 --> 00:20:34.000
So we had an issue where we knowingly said, hey,

00:20:34.000 --> 00:20:37.000
we'll skip this because nobody cares, right?

00:20:37.000 --> 00:20:41.000
And we simplified and cleaned up some code.

00:20:41.000 --> 00:20:47.000
It was, I think it was something pretty obscure,

00:20:47.000 --> 00:20:54.000
like our interface to the local descriptor tables for the 386 segmentation,

00:20:54.000 --> 00:20:59.000
which we supported for odd programs, but we thought nobody cared, right?

00:20:59.000 --> 00:21:02.000
And it broke wine, right?

00:21:02.000 --> 00:21:11.000
And the gaming people cared, but the gaming people were apparently far enough from the kernel community

00:21:11.000 --> 00:21:16.000
that they had all these strange workarounds in wine for something that we broke,

00:21:16.000 --> 00:21:19.000
and nobody ever even told me.

00:21:20.000 --> 00:21:25.000
And when people told me, it was like, of course we'll undo that.

00:21:25.000 --> 00:21:30.000
That was a bug. I mean, we broke your system.

00:21:30.000 --> 00:21:35.000
And it was like, it was no work at all.

00:21:35.000 --> 00:21:38.000
And I forget how long it had been going on,

00:21:38.000 --> 00:21:45.000
but I think it had been going on for a year before people just told me that, hey, this broke.

00:21:45.000 --> 00:21:49.000
And I was like, yeah, you could just have told me immediately.

00:21:49.000 --> 00:21:53.000
And not gone through all this pain, right?

00:21:53.000 --> 00:21:58.000
So sometimes it's, people get too used to other projects

00:21:58.000 --> 00:22:04.000
breaking their users. And the kernel, we really have this hard rule that we don't.

00:22:04.000 --> 00:22:10.000
I mean, it is a hard rule at the same time we have had situations where

00:22:11.000 --> 00:22:14.000
there was something that was a huge security issue

00:22:14.000 --> 00:22:17.000
and we just had to fix it, right?

00:22:17.000 --> 00:22:22.000
And somebody relied on this huge honking hole that was just,

00:22:22.000 --> 00:22:25.000
we couldn't have that hole.

00:22:25.000 --> 00:22:28.000
So it's happened a handful of times.

00:22:28.000 --> 00:22:33.000
The thing that happens more commonly is that something breaks

00:22:33.000 --> 00:22:39.000
and people who it broke for stay on some old kernel

00:22:39.000 --> 00:22:44.000
for years and don't realize that the new kernel broke it

00:22:44.000 --> 00:22:49.000
and we don't realize because there's no communication.

00:22:49.000 --> 00:22:53.000
And in the meantime, people start relying on the new behavior.

00:22:53.000 --> 00:22:57.000
And then two or three years later, they come back and say,

00:22:57.000 --> 00:23:04.000
hey, now our stuff doesn't work. And I'm like, I can't undo it anymore

00:23:04.000 --> 00:23:08.000
because there are now more people who rely on the fix

00:23:08.000 --> 00:23:15.000
that we did, right? And if, I mean, it's rare, but that kind of thing happens

00:23:15.000 --> 00:23:21.000
and that we, yeah, no. But I am happy to say it is really very rare

00:23:21.000 --> 00:23:25.000
because people know that this is the rule and people are careful about making changes

00:23:25.000 --> 00:23:28.000
that they think might break something.

00:23:28.000 --> 00:23:31.000
It's funny. You mentioned libraries. You caught exactly what I was going for.

00:23:31.000 --> 00:23:34.000
And I'm very interested in what seems to be happening

00:23:34.000 --> 00:23:38.000
as Linux is going more towards a consumer basis

00:23:38.000 --> 00:23:43.000
with companies like Valve using it and where developers, at least in the gaming space,

00:23:43.000 --> 00:23:48.000
seem to be relying a lot more on not really emulation

00:23:48.000 --> 00:23:51.000
but on translation layers instead of just using the libraries

00:23:51.000 --> 00:23:55.000
that exist for Linux. And I think it's interesting that nothing's popped up

00:23:55.000 --> 00:23:59.000
that's more stable when there's that background philosophy. I mean, there you have a separate issue

00:23:59.000 --> 00:24:03.000
that they're basically emulating Windows programs.

00:24:03.000 --> 00:24:07.000
And Windows has largely always had the we don't break user space.

00:24:07.000 --> 00:24:12.000
I think it was one of the reasons why they were so successful

00:24:12.000 --> 00:24:16.000
in the 19-Compatibility layers.

00:24:16.000 --> 00:24:20.000
I mean, it was ugly and it caused a lot of problems

00:24:20.000 --> 00:24:26.000
for Microsoft, obviously. But when all your programs, our commercial programs,

00:24:26.000 --> 00:24:30.000
you cannot break them, right?

00:24:31.000 --> 00:24:35.000
And in the open source community, it's much easier

00:24:35.000 --> 00:24:38.000
because people will say, hey, just recompile,

00:24:38.000 --> 00:24:41.000
which I think is a completely bogus argument

00:24:41.000 --> 00:24:45.000
because normal users do not recompile, right?

00:24:45.000 --> 00:24:50.000
But there is this kind of history in certain circles,

00:24:50.000 --> 00:24:54.000
certainly of saying that recompiling is okay.

00:24:54.000 --> 00:24:59.000
So when you have the gaming community and you have emulation,

00:25:00.000 --> 00:25:03.000
the libraries they are emulating are stable

00:25:03.000 --> 00:25:06.000
because of where they came from, right?

00:25:06.000 --> 00:25:09.000
And then we just have to make sure

00:25:09.000 --> 00:25:14.000
that the target is stable enough that we don't break their emulation, right?

00:25:17.000 --> 00:25:20.000
Anyway, I think it's one last person.

00:25:20.000 --> 00:25:24.000
Thank you so much. Hello, nice to meet you.

00:25:24.000 --> 00:25:27.000
We ran here through the rain. Yeah, I did. Perfect.

00:25:27.000 --> 00:25:30.000
Thank you. Wow, what a great video.

00:25:30.000 --> 00:25:33.000
Make sure to leave a like so I know you guys enjoy this video and see you later.
