Keynote: Linus Torvalds in Conversation with Dirk Hohndel - https://www.youtube.com/watch?v=OM_8UOPFpqE Guten Morgen. Simlich Voldoch Trotsein aber Leider Goddess. So let's do this in a language that more people understand. My name is Dirk Horndel. I'm the head of the open source program office at Verizon. And you are? And I'm Linus. And we've been doing this pony show with Dirk now for what, 20 years? No, no, no, really. It's only been since 2012. And we do it because I am not a great speaker and I get very nervous and I hate doing it. So the way to get me in front of an audience is to have somebody else make up the discussion and we'll just do a q and a kind of thing. And the key part is that he doesn't know what I'm going to ask him so he doesn't have to prepare, which makes it so much more fun for one of us. So lovely weather you guys have here. It was a wee bit windy yesterday as I was walking across the door now the Danube and things were going horizontal. Nice. It's definitely. You created some excitement for us. Thank you. This is your first time in Vienna? Yes. No, I was actually really looking forward to it because my daughter was here in April and saw the Easter decorations and sent pictures of beautiful downtown Vienna. And then we flew in on Saturday and decided that I'm not going to do any sightseeing this week, I think. So the whole plan was to have Sunday to take in the sides and have some good food and. Yeah, none of that happened anyway. 33 years of Linux. It's pretty cool. How exciting. You released 611 yesterday. Yep. What's interesting, what should people know about 611? I don't think we, I mean for the last almost, well, not 20 years, but 15 years we've had a very good regular cadence of releases. And it has resulted in the fact that we're doing, I'm doing the releases every roughly nine weeks. And that means that releases are not exciting and they're not supposed to be. They are timely and they are hopefully very reliable. But exciting is not, I think, the goal. So for me the excitement of doing a release is that now the day after we're doing all the new code for the next release. And that's the fun part, although not so fun necessarily when you're traveling. Yeah. So you decided to do the merge window on the road while traveling. And for those who are checking online, while we were waiting back there, he was doing merges on his laptop. So it is just in time delivery of the Linux kernel. But overall, if we look at trends, for many years we've had mostly drivers, a lot of file systems, some hardware support. So where is most of the code coming from these days? Well, it's always been mostly drivers. I think more than half of the kernel is driver support, literally the point of a kernel. Most people should not care if, unless you are a kernel developer, because what the kernel does is abstract out all the hardware details. And obviously some of the hardware details are the actual cpu architectures and things like that. But in the end we only have what, twelve architectures? I forget we have thousands of drivers. So every single release the bulk of the changes are just new hardware support for drivers and fixes for old hardware support for drivers. And that kind of goes without even being hugely mentioned. I do tend to, when I make releases, I do the statistics of which driver areas are the major ones. But honestly the excitement is, and it's, at least for me, it's the very core kernel. And I have been doing this for literally a third of a century now, and I'm still surprised by the fact that we're doing very core development. Like half the stuff I've merged today has been fairly low level virtual file system code, and a lot of the discussions have been about still memory management and things that have been around forever. But the continued expansion of the hardware base, but also the continued expansion of the user base means that we're still doing very core development in, in all these areas that you would expect to be ready after a third of a century. So are we getting the new scheduler this time? Yes, so I have that in my poll queue. I'm probably not going to get to it today, and tomorrow is the kernel maintainer summit, so I may not get to it tomorrow either, but it's in the queue. A lot of the core developers are actually here. Well, some of the kernel core developers are here. So I got a lot of the pull requests early last week and a number of the developers said hey, I'm sending this early because next week I'm going to be traveling and I don't want to do development. So I'm stuck with that part. So one of the exciting things that also is happening this year is the celebration of the real time Linux project finally being completely in the kernel of a very brief development cycle of about 20 years. Yeah, I don't actually, I don't think I have the pull request for the final bits in my mailbox yet, but I'm expecting that to happen this week. So I mean, some features and I keep saying this, that people think that kernel development is very quick because every release schedule, release, and we do that every three months or so we have between ten and 15,000 commits going into the kernel. So there is a lot of development going on. But a lot of it has been is stuff that is now ready and it may have been developed over months or years or in some cases decades. So while kernel development is very active, it doesn't necessarily mean that you can get a new feature file system or anything into the kernel very quickly. There's often a long development period that people seldom even see because it happens not exactly in private. It is being discussed on the mailing list and things like that. But you don't kind of see the background work that goes into a lot of these things that then suddenly appear in the next kernel. 20 years is still over there. 20 years is way. Yeah, that's very unusual. We definitely have had. I mean the issue with the real time patches is that they've been touching every single area in the kernel and that tends to be when you have issues and where it takes longer to integrate because you have to convince all the people involved and you have to get all the drivers updated and you have to just do a lot more work if you're not able to compartmentalize the code into one specific area. But there isn't really anything else that compares to that. There isn't another 20 year project that's happening. No, I think RT Linux has been, I mean it's famously been in the works for a very long time. Another topic on the kernel and that is creating a lot of conversation, let's say, is obviously rust. And one of the maintainers stepped down last week saying, and I quote non technical nonsense as the reason for stepping down. And interestingly, there was quite a bit of argument, let's say between the folks from Asahi working on the Apple silicon GFX drivers and the DRM scat people. So why is this so hard? I think I actually enjoy it. I enjoy arguments. I think one of the nice parts about Rust has been how it's livened up. Some of the discussions and I mean some of the arguments get nasty and people do actually, yes, decide this is not worth my time. But at the same time it's kind of interesting and I think it shows how much people care. At the same time, I'm not quite sure why Rust has been such a contentious area. It reminds me of when I was young and people were arguing about Vi versus emacs. They still are maybe they still are. And I've just. Should we have a poll here in the room? Yeah. No, no. But for some reason, the whole rust versus c discussion has taken almost religious overtones in certain areas. Well, so a big part of this is that, from a design philosophy perspective, if you want to actually write memory safe rust code, there are certain architectural requirements. And it seems that a lot of the older, and I don't mean age, I mean, just having been around for a longer time, maintainers are fairly resistant to accepting the fact that if you have a rust subsystem, it requires you to have certain failure handling which they don't want to add because you say, oh, that's a bug. That should never happen. I mean, we have been doing this for over three decades and seas, in the end, a very simple language. It's one of the reasons I enjoy C and why a lot of C programmers enjoy C, even if the other side of that picture is obviously that, because it's simple. It's also very easy to make mistakes, and Rust is not. Rust is a very different thing, and there's a lot of people who are used to the C model, and they don't necessarily like the differences. And that's okay. In the kernel itself, almost nobody, I mean, I won't even say almost absolutely nobody, understands everything. In the kernel, I don't. I rely heavily on maintainers of various subsystems, and there are only a few areas where I get, personally, very much involved. And I think the same is true of rust and sea, is that you should expect that not everybody will understand rust. And on the other hand, not all the rust people necessarily understand sea. And that's okay. I think it's actually one of the strengths we have in the kernel that we can specialize. And some people care about drivers and very specific drivers, and that at that, some people care about specific architectures, and some people like file systems. And that's how it should be, and that's how I see Rust. But clearly, there are people who just don't like the notion of rust and having rust encroach on their area. And I think it's been interesting, and I'm not afraid. I mean, people have even talked about the rust integration being a failure. And I'm actually. I don't think a. We've been doing this for a couple of years now, so it's way too early to even say that. But I also think even if it were to become a failure, and I don't think it will, that's how you learn so I see the whole rust thing as positive, even if the arguments are not necessarily always. Yeah, and I mean, the challenge really is the idea that a memory safe architecture makes certain assumptions about the infrastructure. And it's the infrastructure people like DRM Sket as the example where it has become very public. It's the infrastructure people who seem to resist some of the changes. To be fair. I mean, we've done a lot of changes to the C infrastructure too. The kind of code, what the kernel does is not normalcy. We have. It's not just that we've write things in a certain way. It's also that we have a lot of tools on the C side that enforce infrastructure rules that are not part of the language. And part of this is our locking safety. We do have actually a lot of memory safety infrastructure on the C side that is not technically part of C itself. It's part of our infrastructure for the kernel, where we have debug builds that make the kernel go much slower, but it will test a lot more of the memory safety stuff. So on the seaside, though, we have been able to kind of incrementally add it. And I mean, we have a lot of that kind of support, but we've had a long time to add it and that kind of has allowed people to do it without the outcry. And the rust change is obviously a much bigger and much more in your face thing. And so you said that it's too early to say it's a failure, and I agree with that. But one of the things that I've seen lately is a certain amount of interest in bottoms up, grown up from the start, rust kernels as an alternative to Linux. So is that a potential outcome if we continue to see struggle to get Rust into Linux? That there will be something like redux or Maestro or one of the other ones that is popping up, that we will have an alternative universe built around the different kernel. I think that's a, regardless of the Linux use of Rust, I think if you're doing operating systems, you really don't have very many choices when it comes to languages, because you require a language that can deal with system issues. And that automatically means that your language choices are very limited. Unless you want to write an assembler, you're going to use C or one of the c like languages, or you're likely going to use Rust. And I don't think, I mean, Linux is not everywhere. We are very widely spread, but after three decades, Linux is also very big. And we've always seen these embedded systems in particular who just want something smaller and simpler and not quite as fully fledged. And that's when you would use rust or C or anything else. And that will never go away, I think. I mean, obviously we see things like Zephyr and other embedded, deeply embedded kernels, but as a general purpose os, I think we can say Linux is absolutely everywhere. It's today there is a complete Linux distribution running on most 5g modern chips. So in your iPhone is a chip that runs as its firmware Linux. So it is everywhere. I mean, yes, we used to have this joke. I mean, many many many years ago we used to talk about world domination and that joke became reality and isn't funny anymore. And I'm okay with that. But at the same time, I mean, nothing lasts forever. And I'm sure some clueless young person will decide how hard can it be and start his own operating system in rust or in something else. And if he keeps at it for many, many decades, or she and many many decades, hey, I'm looking forward to seeing that. To save you from bad quotes. When you say some clueless person, that is a reflection on your own past. Oh, absolutely, yeah. You have to, you have to be all kinds of stupid to say, I can do this, right? Because it turns out, yes, I'm still doing it 33 years later. And a, I couldn't have done it without all the literally tens of thousands of other people anyway. And the only reason I ever started was that I didn't know how hard it would be. But that's what makes it fun. So that is actually the perfect bridge to the next set of questions that I have for you. So you said the maintainer summit is tomorrow and an evergreen topic that I think comes up at every maintainer summit and certainly that I bring up in our conversations every year, every other year is this bigger question of burnout. So the maintainers are an aging group. Strangely, some of us have, you know, not quite as much or the right color of hair anymore. Hey, gray is the right color. Gray is a great color, yes. But the Linux ecosystem, the kernel development community, there is absolutely no sign of slowing down. It's accelerating in many ways, rust being one of them. And so the question that I always ask myself is time is kind of cruel stop for us. And as the maintainers get older, as burnout becomes a bigger problem, is it about time to talk about mini Linus? About the successor, the next generation? We have talked about that forever. And people are probably, some people are probably still disappointed that I'm still here. No, I mean it is absolutely true that kernel maintainers are aging. And the positive spin of that is how many projects do any of you know about where you have maintainers, not just me, who have literally been around for over three decades. It is very unusual. So then saying, hey, people burn out and go away. Yes, that's true, but that's kind of normal. What is not normal is that people actually stay around for decades. That's the unusual thing. And I think that's to some degree a good sign. But obviously it also does mean that as a new developer, as a young person it can seem kind of hard to become part of this when you see all these people who have been around for decades. At the same time, I think in open source the Linux kernel is actually very unusual in just how many developers we have. So it is very true that we have maintainers who have been around for a long time and who are getting gray. But at the same time if you actually look at the statistics of the developers we have very few if any projects have 1000 developers being involved in every single release and the releases being every three months or so. So I think we do have a fairly healthy developer subsystem. The whole monkey dance about developers, developers, developers, we've got them. The fact that we also have these old graying people around, I don't see that as a huge problem. I'm not trying to say it's a problem. So what I'm trying to say is you've been doing this for 33 years. I don't want to be morbid, but I think in 33 years you may no longer be doing this. Possibly. And even though I would love to still do the conference circuit in 33 years. But we come in on our walkers, it's going to be awesome. What I'm saying is in order to be the king of Linux, the main maintainer, you have to have a lot of experience. And the backup right now is Greg Kh who has even less hair than the two of us and is about the same age as we are. Greg, are you in the room? I apologize. You can punch me later. But what I'm saying is how do we get the next generation to gain the experience so that in 1015 2030 years your role can be handed off to somebody else? It's that sustainability that I'm asking about actually. So I think part of the issue with us having a lot of developers is that we've always had a lot of people who are very competent and could step up. I mean you mentioned Greg. But the thing is Greg hasn't always been Greg. Before Greg there's been Andrews and Alans and after Greg there will be Shannons and Steves. Who knows? There are people around who have been around for decades. And the real issue is you have to have a person or a group of people that people in the development community can trust. And part of trust is fundamentally about having been around for long enough that people know how you work. But long enough does not need to be 30 years. We have very core developers that are like top level maintainers for major subsystems that have come up in just a few years. It's not instant, nobody's going to claim that. But there are new people who come in and three years later they are a main developer. It is not impossible at all. Being a maintainer is not as glorious as it sometimes can seem, right? And there's a lot of people who would be more than happy to get new people in and come and help. And sometimes people are more afraid of kernel development than they really need to be. I am sure a lot of people are currently googling Shannon and Steve as first names of kernel developers to know who you're talking about. They were random names I made up. Just out of interest, how many people here are actually kernel developers have sent in patches. I mean kernel developers are odd, we know that, but I mean we're not so unusual as to be unheard of. And it is the most interesting thing you can do, I'm convinced. Still. Yes, we all know kernel development is the peak interest of things a person can do. So why are people laughing at me? I should not have repeated that sentence. What is interesting to me is to now extrapolate from this and look at the larger open source community. Because one of the things that we've seen just in the last three, four years is that a lot of the large companies who have very, very aggressively funded open source development for so many years seem to have stepped back a little bit. Lots of layoffs, lots of companies noticeably reducing their involvement. And since many of them are sponsors of this event, I will not name them, but it's easy enough to figure out. And so at the same time we see more and more attacks on the fabric of how open source works on this trust model you just talked about by threat actors, be it criminals, be it nation states, whatever. So to me this overall question of how can we improve the health of the idea of being a maintainer and open source is something that I'm very interested in. And one of the things that Linux has done so amazingly well is to have had an incredibly deep bench of a lot of people involved and a lot of people who aren't afraid to speak up and say hey, this is wrong, or I don't like this, or this is a mistake. And is there a way to take what we have learned in Linux and apply this to a broader set of projects? I actually think that question is very pessimistic in itself because I remember when I was young, long, long ago, and open source as a name was only very new. And I think the open source communities today are much better off than we used to be. And yes, there are technology layoffs and they seem to be very cyclical. And it's not necessarily always a nice industry to be in. But at the same time I feel like open source is doing very well. People take open source for granted now in a way that they absolutely did not just two decades ago. And maybe that then has resulted in some more negative commentary and more attacks. But I would say that one of the strengths of open source is that it is now so ubiquitous that as a new programmer in particular you can use open source as a way to enter this not so nice industry always and make connections without necessarily having gone to the right schools or having the personal connections that you often need in many other industries. So I think open source is doing really well. I agree, open source is doing well. It's much more this question of how do we create more sustainability. But one thing that you just said, really I find interesting new people coming in. So when we all started a few decades ago, it was a much smaller, much simpler world. Today everything is hybridization versus reality. And before anybody thinks, I'm not just talking about AI, we have so many projects that seem to be all about the quick buck, about the quick exit versus things that are making a difference. If you were starting today, do you think it would be easy to find interesting, rewarding, long term useful projects? I don't think that has ever been easy. I mean what has happened is that there's a much bigger mass that can do so and all the infrastructure is there. So it's so easy to basically do a few web clicks and you have a GitHub repository and you can start doing open source. And you don't have to explain why you're doing open source because people take that for granted now. So there's a lot more of these small projects that you would never have seen 30 years ago because it's so much easier. But it was never easy to find something meaningful that you could really spend decades doing. And I don't think that's easy today either. You just have to come up with something that you're interested in, but at the same time, you're not the only one interested in it. That's. I think one of the problems is that people say, hey, do what you love. But if what you love is something that nobody else cares about, you're not going to create the next big, successful, open source project. So you have to love something that is meaningful and you have to find it. And that's sometimes hard to do, especially in the tech industry, where so much of it is about the hype and everybody is following everybody else, like lemmings off a cliff, trying to chase the next big thing. And I don't think that's a successful strategy. I think you need to find something that isn't what everybody else does and excel at that and be the first to do something slightly different. You called me early. A negative. I was hoping we would end this conversation on this wonderful, inspiring highlight, Linus, telling the community where to go and make a difference. Instead, we're ending on lemmings falling off a cliff. I have zero minutes left, so unfortunately, I can't rescue this with an incredibly clever question. But I think we'll just leave it here and tell all of you you are not the lemmings he's talking about. And enjoy the week in Vienna. The weather is supposed to be much better. And thank you everyone, for making it in with all the flooded roads and tunnels and whatnot, and have a great show. Thank you.
기조연설: 리누스 토발즈와 디르크 혼델의 대화 - https://www.youtube.com/watch?v=OM_8UOPFpqE Guten Morgen. Simlich Voldoch Trotsein aber Leider Goddess. 더 많은 사람들이 이해할 수 있는 언어로 이 이야기를 해봅시다. 저는 디르크 혼델입니다. 저는 Verizon의 오픈소스 프로그램 사무소장입니다. 당신은요? 저는 리누스입니다. 디르크와 함께 포니 쇼를 한 지 벌써 20년이 되었나요? 아니요, 아니요, 아니요, 정말입니다. 2012년부터입니다. 저는 연설을 잘 못해서 긴장하고 싫어서 하는 겁니다. 그래서 저를 청중 앞에 세우는 방법은 다른 사람이 토론을 만들어서 질문과 대답을 하는 것입니다. 그리고 중요한 점은 그가 내가 그에게 무엇을 물어볼지 모르기 때문에 준비할 필요가 없다는 것입니다. 그래서 우리 중 한 명에게 훨씬 더 재미있습니다. 여러분의 날씨가 참 좋네요. 어제 제가 다뉴브 강을 건너 문을 지나갈 때 바람이 약간 불었고 모든 것이 수평으로 흐르고 있었습니다. 좋습니다. 확실히 그렇습니다. 여러분이 우리에게 약간의 흥분을 안겨주었습니다. 감사합니다. 비엔나에 처음 오셨나요? 네. 아니요, 사실 저는 정말 기대하고 있었습니다. 왜냐하면 제 딸이 4월에 여기 와서 부활절 장식을 보고 아름다운 비엔나 시내 사진을 보냈기 때문입니다. 그리고 토요일에 비행기를 타고 와서 이번 주에는 관광을 하지 않기로 했습니다. 그래서 계획은 일요일에 반찬을 먹고 맛있는 음식을 먹는 것이었습니다. 네, 그런 일은 없었습니다. 리눅스를 33년 동안 써왔어요. 꽤 멋지죠. 얼마나 신나는 일인가요. 어제 611을 출시했어요. 그렇죠. 흥미로운 점은 사람들이 611에 대해 무엇을 알아야 할까요? 저는 우리가, 제 말은, 지난 거의, 글쎄요, 20년은 아니지만, 15년 동안 우리는 릴리스의 매우 좋은 정기적 주기를 가졌다고 생각하지 않습니다. 그리고 그것은 우리가, 저는 대략 9주마다 릴리스를 한다는 사실로 이어졌습니다. 그리고 그것은 릴리스가 흥미롭지 않고, 그럴 필요가 없다는 것을 의미합니다. 그것들은 시기적절하고, 희망적으로 매우 신뢰할 수 있습니다. 하지만 저는 흥미진진함이 목표가 아니라고 생각합니다. 그래서 저에게 릴리스를 하는 것의 흥분은 이제 다음 날 다음 릴리스를 위한 모든 새로운 코드를 하고 있다는 것입니다. 그리고 그것이 재미있는 부분이지만, 여행을 할 때는 반드시 그렇게 재미있지는 않습니다. 네. 그래서 당신은 여행하는 동안 길에서 병합 창을 하기로 했습니다. 그리고 온라인에서 확인하고 있는 사람들을 위해, 우리가 그곳에서 기다리는 동안 그는 노트북에서 병합을 하고 있었습니다. 그래서 그것은 Linux 커널을 적시에 제공하는 것입니다. 하지만 전반적으로 추세를 살펴보면, 수년 동안 우리는 주로 드라이버, 많은 파일 시스템, 일부 하드웨어 지원을 했습니다. 요즘 대부분의 코드는 어디에서 나오는 걸까요? 글쎄요, 항상 대부분 드라이버였습니다. 커널의 절반 이상이 드라이버 지원이라고 생각합니다. 문자 그대로 커널의 요점이죠. 커널 개발자가 아니라면 대부분 신경 쓰지 않을 겁니다. 커널이 하는 일은 모든 하드웨어 세부 정보를 추상화하는 것이기 때문입니다. 그리고 물론 일부 하드웨어 세부 정보는 실제 CPU 아키텍처와 그런 것들입니다. 하지만 결국 우리는 12개의 아키텍처만 가지고 있습니다. 수천 개의 드라이버가 있다는 걸 잊었습니다. 그래서 모든 릴리스에서 대부분의 변경 사항은 드라이버에 대한 새로운 하드웨어 지원과 드라이버에 대한 기존 하드웨어 지원에 대한 수정 사항일 뿐입니다. 그리고 그런 종류의 것은 크게 언급되지도 않았습니다. 저는 릴리스를 할 때 어떤 드라이버 영역이 주요 영역인지 통계를 내곤 합니다. 하지만 솔직히 말해서 가장 흥미로운 점은, 적어도 저에게는 핵심 커널입니다. 저는 문자 그대로 30년 동안 이 일을 해왔고, 우리가 핵심 개발을 하고 있다는 사실에 여전히 놀랍습니다. 오늘 제가 병합한 것의 절반은 상당히 저수준의 가상 파일 시스템 코드였고, 많은 논의가 여전히 메모리 관리와 영원히 존재해 온 것들에 관한 것이었습니다. 하지만 하드웨어 기반의 지속적인 확장과 사용자 기반의 지속적인 확장은 우리가 여전히 3분의 1세기가 지나도 준비가 될 것으로 기대되는 모든 분야에서 매우 핵심적인 개발을 하고 있다는 것을 의미합니다. 그럼 이번에는 새로운 스케줄러를 얻게 될까요? 네, 제 투표 대기열에 있습니다. 오늘은 아마 하지 못할 것 같고, 내일은 커널 유지 관리자 정상 회의라서 내일도 하지 못할 수도 있지만, 대기열에 있습니다. 많은 핵심 개발자들이 실제로 여기에 있습니다. 글쎄요, 커널 핵심 개발자 중 일부는 여기에 있습니다. 그래서 저는 지난주 초에 많은 풀 리퀘스트를 받았고, 많은 개발자들이 "다음 주에 여행을 가야 해서 개발을 하고 싶지 않아서 일찍 보내야겠다"고 말했습니다. 그래서 저는 그 부분에 갇혔습니다. 그래서 올해 일어나는 흥미로운 일 중 하나는 실시간 Linux 프로젝트가 약 20년이라는 매우 짧은 개발 주기를 거쳐 마침내 커널에 완전히 통합된 것을 축하하는 것입니다. 네, 사실, 아직 메일함에 마지막 비트에 대한 풀 리퀘스트가 없다고 생각하지만, 이번 주에 그럴 것으로 기대합니다. 그래서 일부 기능을 말하고, 계속 말하지만, 사람들은 커널 개발이 매우 빠르다고 생각합니다. 모든 릴리스 일정, 릴리스, 그리고 우리는 3개월마다 그것을 하는데, 우리는 10~15,000개의 커밋이 커널에 들어가기 때문입니다. 그래서 많은 개발이 진행되고 있습니다. 하지만 그 중 많은 부분이 지금 준비된 것들이고, 몇 달 또는 몇 년, 어떤 경우에는 수십 년에 걸쳐 개발되었을 수 있습니다. 그래서 커널 개발이 매우 활발하지만, 반드시 새로운 기능 파일 시스템이나 무엇이든 커널에 매우 빠르게 넣을 수 있다는 것을 의미하지는 않습니다. 사람들이 거의 보지 못하는 긴 개발 기간이 종종 있는데, 그것은 정확히 비공개적으로 일어나지 않기 때문입니다. 메일링 리스트와 그런 것들에서 논의되고 있습니다. 하지만 갑자기 다음 커널에 나타나는 이런 것들에 들어가는 백그라운드 작업은 보이지 않습니다. 20년은 아직 끝나지 않았습니다. 20년은 길죠. 네, 매우 이례적입니다. 우리는 확실히 겪었습니다. 실시간 패치의 문제는 커널의 모든 영역을 건드렸고, 문제가 있을 때 통합하는 데 더 오랜 시간이 걸리는 경향이 있는데, 관련된 모든 사람을 설득해야 하고 모든 드라이버를 업데이트해야 하며 코드를 특정 영역으로 구분할 수 없다면 훨씬 더 많은 작업을 해야 하기 때문입니다. 하지만 그것과 비교할 만한 것은 없습니다. 진행 중인 또 다른 20년 프로젝트는 없습니다. 아니요, RT Linux가 있었던 것 같습니다. 아주 오랫동안 진행되어 온 것으로 유명합니다. 커널에 대한 또 다른 주제는 많은 대화를 만들어내고 있는데, 예를 들어 rust입니다. 그리고 유지 관리자 중 한 명이 지난주에 사임하면서, 저는 사임 이유를 기술적이지 않은 넌센스라고 인용했습니다. 그리고 흥미로운 점은, 예를 들어 Apple 실리콘 GFX 드라이버 작업을 하는 Asahi의 사람들과 DRM scat 사람들 사이에서 상당한 논쟁이 있었다고 합시다. 그렇다면 왜 이게 이렇게 어려울까요? 저는 사실 이걸 즐긴다고 생각합니다. 저는 논쟁을 즐깁니다. 저는 Rust의 좋은 점 중 하나가 활기를 띤 방식이라고 생각합니다. 일부 토론과 일부 논쟁은 불쾌해지고 사람들은 실제로, 그렇습니다, 이게 제 시간 낭비라고 결정합니다. 하지만 동시에 그것은 흥미롭고 사람들이 얼마나 신경 쓰는지 보여준다고 생각합니다. 동시에 저는 Rust가 왜 그렇게 논란이 많은 분야인지 잘 모르겠습니다. 제가 어렸을 때 사람들이 Vi 대 emacs에 대해 논쟁하던 때를 떠올리게 합니다. 그들은 아직도 그럴지도 모릅니다. 그리고 저는 그냥. 여기 방에서 투표를 해야 할까요? 네. 아니요, 아니요. 하지만 어떤 이유에서인지, Rust 대 C에 대한 토론은 특정 영역에서 거의 종교적인 의미를 갖기도 합니다. 글쎄요, 이것의 큰 부분은 디자인 철학 관점에서 볼 때, 실제로 메모리에서 안전한 Rust 코드를 작성하려면 특정 아키텍처 요구 사항이 있다는 것입니다. 그리고 많은 오래된, 나이 때문이 아니라, 그저 오래되었다는 뜻인데, 유지 관리자들은 Rust 하위 시스템이 있는 경우 특정 오류 처리가 필요하다는 사실을 받아들이는 데 상당히 저항하는 듯합니다. 그들은 버그라고 말하기 때문에 추가하고 싶어하지 않습니다. 그런 일은 절대 일어나서는 안 됩니다. 저는 30년 이상 이 일을 해왔고, 결국 매우 간단한 언어가 나왔습니다. 제가 C를 좋아하는 이유 중 하나이고 많은 C 프로그래머가 C를 좋아하는 이유이기도 합니다. 그 그림의 다른 측면이 분명 간단하기 때문이지만요. 또한 실수를 하기 매우 쉬운데 Rust는 그렇지 않습니다. Rust는 매우 다른 것이고, C 모델에 익숙한 사람들이 많고, 그들은 반드시 차이점을 좋아하지 않습니다. 그리고 그게 괜찮습니다. 커널 자체에서 거의 아무도, 아니, 거의 절대적으로 아무도라고는 말할 수 없지만, 모든 것을 이해하지 못합니다. 커널에서 저는 그렇지 않습니다. 저는 다양한 하위 시스템의 유지 관리자에게 크게 의존하고, 개인적으로 매우 많이 관여하는 분야는 몇 가지에 불과합니다. 그리고 저는 rust와 sea에도 마찬가지라고 생각합니다. 모든 사람이 rust를 이해하지 못할 것이라고 예상해야 합니다. 그리고 반면에 모든 rust 사람들이 반드시 sea를 이해하는 것은 아닙니다. 그리고 그게 괜찮습니다. 저는 우리가 커널에서 가진 강점 중 하나가 우리가 전문화할 수 있다는 것이라고 생각합니다. 그리고 어떤 사람들은 드라이버와 매우 구체적인 드라이버를 신경 쓰고, 어떤 사람들은 특정 아키텍처를 신경 쓰고, 어떤 사람들은 파일 시스템을 좋아합니다. 그리고 그것이 있어야 할 방식이고, 저는 Rust를 그렇게 봅니다. 하지만 분명히 rust라는 개념과 rust가 자신의 영역을 침범하는 것을 좋아하지 않는 사람들이 있습니다. 그리고 저는 그것이 흥미로웠다고 생각하고, 두렵지 않습니다. 사람들은 Rust 통합이 실패라고 말하기도 했습니다. 그리고 저는 사실. 저는 그렇게 생각하지 않습니다. 우리는 지금 몇 년 동안 이 일을 해왔기 때문에 그렇게 말하기에는 너무 이릅니다. 하지만 저는 그것이 실패가 되더라도, 그리고 저는 그렇지 않을 것이라고 생각합니다. 그것이 당신이 배우는 방법이라고 생각합니다. 그래서 저는 Rust에 대한 모든 것을 긍정적으로 봅니다. 비록 주장이 반드시 항상 그런 것은 아니더라도요. 네, 그리고 제 말은, 실제로 도전 과제는 메모리 안전 아키텍처가 인프라에 대해 특정한 가정을 한다는 아이디어입니다. 그리고 DRM Sket과 같은 인프라 사람들이 매우 대중적이 된 예입니다. 인프라 사람들이 일부 변경 사항에 저항하는 것처럼 보입니다. 공평하게 말해서, 저는 C 인프라에도 많은 변경을 했습니다. 커널이 하는 코드 종류는 정상적이지 않습니다. 우리는 정상적입니다. 우리가 특정한 방식으로 사물을 작성했다는 것만이 아닙니다. 또한 C 측에는 언어의 일부가 아닌 인프라 규칙을 시행하는 많은 도구가 있습니다. 그리고 이것의 일부는 잠금 안전입니다. 우리는 실제로 C 측에 기술적으로 C 자체의 일부가 아닌 많은 메모리 안전 인프라를 가지고 있습니다. 그것은 커널을 위한 인프라의 일부로, 커널을 훨씬 느리게 만드는 디버그 빌드가 있지만 메모리 안전에 대한 더 많은 것을 테스트할 것입니다. 하지만 해변에서는 점진적으로 추가할 수 있었습니다. 그리고 저는 그런 종류의 지원이 많지만, 그것을 추가할 시간이 오래 걸렸고 그런 종류의 사람들이 큰 소리 없이 그것을 할 수 있었습니다. 그리고 Rust 변경은 분명히 훨씬 더 크고 훨씬 더 눈에 띄는 것입니다. 그래서 당신은 그것이 실패라고 말하기에는 너무 이르다고 말했고, 저는 그것에 동의합니다. 하지만 제가 최근에 본 것 중 하나는 Linux의 대안으로서 처음부터 성장한 bottom-up, rust 커널에 대한 어느 정도의 관심입니다. 그래서 리눅스에 Rust를 도입하는 데 어려움을 겪는다면 잠재적인 결과가 될까요? redux나 Maestro 또는 다른 것들 중 하나가 튀어나올 것이고, 우리는 다른 커널을 중심으로 구축된 대체 우주를 갖게 될 것입니다. 저는 Rust를 리눅스에서 사용하든, 운영 체제를 사용하든 언어에 관해서는 선택의 폭이 그리 넓지 않다고 생각합니다. 시스템 문제를 처리할 수 있는 언어가 필요하기 때문입니다. 그리고 그것은 자동적으로 언어 선택이 매우 제한적이라는 것을 의미합니다. 어셈블러를 작성하고 싶지 않다면 C나 C와 같은 언어 중 하나를 사용하거나 Rust를 사용할 가능성이 높습니다. 그리고 저는 Linux가 어디에나 있지 않다고 생각하지 않습니다. 우리는 매우 널리 퍼져 있지만 30년 후에는 Linux도 매우 커졌습니다. 그리고 우리는 항상 더 작고 단순하며 완전히 완성되지 않은 것을 원하는 이러한 임베디드 시스템을 보았습니다. 그리고 그때 Rust나 C 또는 다른 것을 사용할 것입니다. 그리고 그것은 결코 사라지지 않을 것이라고 생각합니다. 제 말은, 당연히 Zephyr나 다른 내장형, 심층적으로 내장된 커널과 같은 것을 볼 수 있지만, 일반적인 목적의 OS로서, Linux는 절대적으로 어디에나 있다고 말할 수 있다고 생각합니다. 오늘날 대부분의 5세대 최신 칩에서 실행되는 완전한 Linux 배포판이 있습니다. 따라서 iPhone에는 펌웨어 Linux로 실행되는 칩이 있습니다. 그래서 어디에나 있습니다. 제 말은, 그렇습니다. 우리는 이런 농담을 했습니다. 제 말은, 아주 아주 아주 오래 전에 우리는 세계 정복에 대해 이야기했고, 그 농담은 현실이 되어 더 이상 웃기지 않습니다. 그리고 저는 그것이 괜찮습니다. 하지만 동시에, 저는 아무것도 영원히 지속되지 않는다는 것을 의미합니다. 그리고 저는 어떤 어리석은 젊은이가 그것이 얼마나 어려울 수 있는지 결정하고 Rust나 다른 것으로 자신의 운영 체제를 시작할 것이라고 확신합니다. 그리고 그가 수십 년 동안, 또는 그녀와 그녀와 수십 년 동안 그것을 계속한다면, 저는 그것을 보기를 기대합니다. 나쁜 인용문으로부터 당신을 구하기 위해. 당신이 어리석은 사람이라고 말할 때, 그것은 당신의 과거에 대한 반영입니다. 오, 물론입니다, 그렇습니다. 당신은, 당신은 내가 이걸 할 수 있다고 말하기 위해 온갖 종류의 멍청이가 되어야만 합니다, 맞죠? 왜냐하면, 네, 저는 33년 후에도 여전히 그것을 하고 있기 때문입니다. 그리고, 저는 어차피 수만 명의 다른 사람들이 없었다면 할 수 없었을 것입니다. 그리고 제가 시작한 유일한 이유는 그것이 얼마나 어려울지 몰랐기 때문입니다. 하지만 그것이 그것을 즐겁게 만듭니다. 그래서 그것은 실제로 제가 당신에게 가지고 있는 다음 질문 세트로 가는 완벽한 다리입니다. 그래서 당신은 메인테이너 서밋이 내일이라고 말했고, 저는 모든 메인테이너 서밋에서 나오는 상록수 주제라고 생각하고, 확실히 저는 매년, 2년마다 대화에서 언급하는 것은 번아웃이라는 더 큰 문제입니다. 그래서 메인테이너는 나이 든 그룹입니다. 이상하게도, 우리 중 일부는, 아시다시피, 더 이상 머리카락의 색이 그렇게 많지 않거나 적절하지 않습니다. 회색이 적절한 색입니다. 회색은 좋은 색입니다, 맞아요. 하지만 리눅스 생태계, 커널 개발 커뮤니티는 절대 느려질 조짐이 없습니다. 여러 면에서 가속화되고 있으며, 녹이 그 중 하나입니다. 그래서 제가 항상 스스로에게 묻는 질문은 시간은 우리에게 잔인한 정지입니다. 그리고 유지 관리자가 나이를 먹고 번아웃이 더 큰 문제가 되면서, 미니 리누스에 대해 이야기할 때가 되었을까요? 후속자, 차세대에 대해 이야기할 때가 되었을까요? 우리는 그것에 대해 영원히 이야기해 왔습니다. 그리고 사람들은 아마도, 어떤 사람들은 아마도 제가 여전히 여기 있다는 사실에 여전히 실망할 것입니다. 아니요, 커널 유지 관리자가 나이를 먹는다는 것은 절대적으로 사실입니다. 그리고 그 긍정적인 면은 여러분 중 유지 관리자가 있는 프로젝트가 얼마나 많은지 아는 사람이 있습니까? 저뿐만 아니라 문자 그대로 30년 이상 일해 왔습니다. 매우 이례적입니다. 그럼, 사람들은 번아웃하고 떠난다고 말하는 것입니다. 네, 사실이지만, 그것은 어느 정도 정상적인 일입니다. 정상적이지 않은 것은 사람들이 실제로 수십 년 동안 일한다는 것입니다. 그것이 비정상적인 일입니다. 그리고 저는 그것이 어느 정도 좋은 신호라고 생각합니다. 하지만 분명히 그것은 새로운 개발자, 젊은 사람으로서 수십 년 동안 일해 온 사람들을 볼 때 이것의 일부가 되기가 다소 어려울 수 있다는 것을 의미합니다. 동시에, 저는 오픈소스에서 리눅스 커널이 개발자 수에서 실제로 매우 이례적이라고 생각합니다. 그래서 오랫동안 일해 온 유지 관리자가 있고, 그들이 백발이 되어가는 것은 사실입니다. 하지만 동시에 개발자 통계를 실제로 살펴보면, 모든 릴리스에 1000명의 개발자가 참여하는 프로젝트는 거의 없거나 전혀 없으며 릴리스는 3개월마다 이루어집니다. 그래서 저는 우리가 상당히 건강한 개발자 하위 시스템을 가지고 있다고 생각합니다. 개발자, 개발자, 개발자에 대한 몽키 댄스, 우리는 그들을 가지고 있습니다. 우리 주변에 이런 백발이 된 사람들이 있다는 사실은 큰 문제로 보이지 않습니다. 그것이 문제라고 말하려는 것이 아닙니다. 제가 말하고자 하는 것은 당신이 33년 동안 이 일을 해왔다는 것입니다. 우울하게 말하고 싶지는 않지만, 33년 후에는 더 이상 이 일을 하지 않을 수도 있다고 생각합니다. 그럴 수도 있습니다. 그리고 33년 후에도 여전히 컨퍼런스 회로를 하고 싶지만요. 하지만 우리는 워커를 타고 참여하면 굉장할 겁니다. 제가 말하고자 하는 것은 리눅스의 왕, 메인 메인테이너가 되려면 많은 경험이 있어야 한다는 것입니다. 그리고 지금 백업은 우리 둘보다 머리카락이 더 적고 우리와 비슷한 나이인 Greg Kh입니다. Greg, 방에 있나요? 미안합니다. 나중에 나를 때리면 됩니다. 하지만 제가 말하고자 하는 것은 어떻게 하면 다음 세대가 경험을 얻어서 1015년 2030년 후에 당신의 역할을 다른 사람에게 넘길 수 있을까 하는 것입니다. 제가 실제로 묻고 있는 것은 지속 가능성입니다. 그래서 저는 개발자가 많은 이유 중 하나가 항상 매우 유능하고 나설 수 있는 사람들이 많았기 때문이라고 생각합니다. Greg를 언급하셨죠. 하지만 Greg가 항상 Greg였던 것은 아닙니다. Greg 전에는 Andrews와 Alans가 있었고 Greg 후에는 Shannons와 Steves가 있을 것입니다. 누가 알겠습니까? 수십 년 동안 주변에 있는 사람들이 있습니다. 그리고 진짜 문제는 개발 커뮤니티의 사람들이 신뢰할 수 있는 사람이나 그룹이 있어야 한다는 것입니다. 그리고 신뢰의 일부는 근본적으로 사람들이 당신의 작업 방식을 알 정도로 오랫동안 주변에 있는 것입니다. 하지만 충분히 오래 있어야 한다는 것은 30년이 될 필요는 없습니다. 우리는 몇 년 만에 등장한 주요 하위 시스템의 최고 수준의 유지 관리자와 같은 핵심 개발자를 보유하고 있습니다. 즉시 이루어지지는 않고 아무도 그렇게 주장하지 않을 것입니다. 하지만 새로 들어온 사람들이 3년 후에 주요 개발자가 됩니다. 전혀 불가능한 것은 아닙니다. 유지 관리자가 되는 것은 때때로 보이는 것만큼 영광스럽지 않습니다. 맞죠? 그리고 새로운 사람을 기꺼이 받아들이고 와서 도와줄 사람들이 많이 있습니다. 그리고 때때로 사람들은 실제로 필요 이상으로 커널 개발을 두려워합니다. 많은 사람들이 현재 커널 개발자의 이름으로 Shannon과 Steve를 구글링하여 당신이 말하는 사람이 누구인지 알고 있다고 확신합니다. 그들은 제가 임의로 만든 이름이었습니다. 그냥 궁금해서 말씀드리자면, 여기서 실제로 패치를 보낸 커널 개발자가 몇 명이나 됩니까? 커널 개발자는 이상하다는 것은 알고 있지만, 우리가 전혀 알려지지 않을 정도로 특이하지는 않습니다. 그리고 그것은 당신이 할 수 있는 가장 흥미로운 일이라고 확신합니다. 그래도요. 네, 우리 모두는 커널 개발이 사람이 할 수 있는 일 중에서 가장 흥미로운 일이라는 것을 알고 있습니다. 그런데 왜 사람들이 저를 비웃을까요? 저는 그 문장을 반복해서는 안 되었습니다. 저에게 흥미로운 것은 지금 이것에서 추론하여 더 큰 오픈 소스 커뮤니티를 살펴보는 것입니다. 지난 3, 4년 동안 우리가 본 것 중 하나는 수년간 오픈소스 개발에 매우 공격적으로 자금을 지원해 온 많은 대기업들이 약간 후퇴한 것처럼 보인다는 것입니다. 많은 해고가 있었고, 많은 회사들이 눈에 띄게 참여를 줄였습니다. 그리고 그들 중 많은 사람들이 이 이벤트의 스폰서이기 때문에 이름을 밝히지는 않겠지만, 알아내기는 충분히 쉽습니다. 그리고 동시에 우리는 위협 행위자들, 범죄자이든 국가이든, 무엇이든, 당신이 방금 언급한 신뢰 모델에서 오픈소스가 작동하는 방식의 구조에 대한 공격이 점점 더 많아지는 것을 봅니다. 그래서 저는 유지 관리자와 오픈소스라는 아이디어의 건강을 어떻게 개선할 수 있을까 하는 전반적인 질문에 매우 관심이 있습니다. 그리고 리눅스가 정말 잘 해낸 것 중 하나는 많은 사람들이 참여하는 엄청나게 깊은 벤치를 보유하고 있고, 이것은 틀렸다고 말하거나, 이것이 마음에 들지 않는다거나, 이것은 실수라고 말하는 것을 두려워하지 않는 많은 사람들이 있다는 것입니다. 그리고 리눅스에서 배운 것을 더 광범위한 프로젝트에 적용할 방법이 있을까요? 사실 저는 그 질문 자체가 매우 비관적이라고 생각합니다. 제가 어렸을 때, 오래전, 오픈소스라는 이름이 아주 새로웠던 걸 기억하거든요. 그리고 오늘날의 오픈소스 커뮤니티는 예전보다 훨씬 나아졌다고 생각합니다. 그리고 물론 기술 해고가 있고, 그것은 매우 순환적인 것 같습니다. 그리고 그것은 반드시 항상 좋은 산업은 아닙니다. 하지만 동시에 저는 오픈소스가 매우 잘 되고 있다고 생각합니다. 사람들은 지금 오픈소스를 20년 전과는 전혀 다르게 당연하게 여깁니다. 그리고 아마도 그로 인해 부정적인 논평과 공격이 더 많아졌을 수도 있습니다. 하지만 저는 오픈소스의 장점 중 하나는 지금은 너무나 보편화되어서 특히 새로운 프로그래머라면 오픈소스를 이 별로 좋지 않은 산업에 항상 진입하는 방법으로 사용할 수 있고, 반드시 적절한 학교를 나왔거나 다른 많은 산업에서 종종 필요한 개인적인 인맥이 없어도 인맥을 형성할 수 있다는 것입니다. 그래서 저는 오픈소스가 매우 잘 되고 있다고 생각합니다. 동의합니다. 오픈소스는 잘 되고 있습니다. 지속 가능성을 어떻게 만들 것인가에 대한 질문이 훨씬 더 많습니다. 하지만 방금 말씀하신 한 가지는, 정말 흥미로운 새로운 사람들이 들어오는 것을 발견합니다. 수십 년 전에 우리 모두가 시작했을 때는 훨씬 작고 단순한 세상이었습니다. 오늘날 모든 것이 현실과 대조되는 하이브리드화입니다. 그리고 누군가가 생각하기 전에, 저는 AI에 대해서만 말하는 것이 아니라, 빠른 돈벌이, 빠른 종료와 차이를 만드는 것에 관한 프로젝트가 너무 많습니다. 오늘 시작했다면 흥미롭고 보람 있고 장기적으로 유용한 프로젝트를 찾기가 쉬울 것이라고 생각하십니까? 저는 그것이 결코 쉽지 않았다고 생각합니다. 제 말은, 그렇게 할 수 있는 대중이 훨씬 더 많아졌고 모든 인프라가 거기에 있다는 것입니다. 그래서 기본적으로 몇 번의 웹 클릭만 하면 GitHub 저장소가 있고 오픈소스를 시작할 수 있습니다. 그리고 왜 오픈소스를 하는지 설명할 필요가 없습니다. 사람들은 지금 그것을 당연하게 여기기 때문입니다. 그래서 30년 전에는 볼 수 없었을 이런 작은 프로젝트가 훨씬 더 많아졌어요. 훨씬 쉬워졌거든요. 하지만 수십 년을 보낼 수 있는 의미 있는 것을 찾는 건 결코 쉽지 않았어요. 오늘날에도 쉽지 않다고 생각해요. 관심 있는 것을 생각해내야 하지만, 동시에 관심 있는 사람이 당신 혼자만은 아니에요. 그게. 제 생각에 문제 중 하나는 사람들이 "좋아하는 걸 해"라고 말하는 거예요. 하지만 당신이 좋아하는 것이 다른 사람이 신경 쓰지 않는 것이라면, 다음에 성공하고 큰 오픈 소스 프로젝트를 만들 수 없을 거예요. 그래서 의미 있는 것을 좋아해야 하고, 그것을 찾아야 해요. 특히 기술 산업에서는 과대광고가 너무 많고 모두가 서로를 따라가고, 절벽에서 떨어진 레밍처럼 다음에 큰 것을 쫓으려고 하기 때문에 어려울 때가 있어요. 저는 그것이 성공적인 전략이라고 생각하지 않아요. 다른 사람들이 하지 않는 것을 찾아서 그 분야에서 뛰어나고, 약간 다른 것을 하는 첫 번째 사람이 되어야 한다고 생각합니다. 일찍 전화하셨네요. 부정적입니다. 저는 이 대화를 이 훌륭하고 고무적인 하이라이트, 리누스, 지역 사회에 어디로 가서 변화를 만들어야 하는지에 대한 이야기로 마무리하기를 바랐습니다. 하지만 그 대신, 절벽에서 떨어지는 레밍에 대한 이야기로 마무리하겠습니다. 남은 시간이 0분밖에 없어서 안타깝게도, 믿을 수 없을 정도로 영리한 질문으로 이 문제를 해결할 수 없습니다. 하지만 여기서 끝내고, 여러분이 그가 말하는 레밍이 아니라는 것을 말씀드리고 싶습니다. 그리고 비엔나에서 즐거운 일주일 보내세요. 날씨가 훨씬 좋아질 예정입니다. 그리고 침수된 도로와 터널, 이런저런 일에도 불구하고 여기까지 와주셔서 감사합니다. 멋진 공연을 보여주세요. 감사합니다.