 But when we look at products like Android, they don't look like the traditional open source projects where anyone can contribute. Yeah, Android is like that a little bit. So what I like to tell people is whatever model of open source development you like, I can point to an example of it at Google because we have so much of it. Usually like for instance Chrome looks more like a traditional quote-unquote open source project where much of the like 99% of the development is done externally and then we do the every two week release cycle. So those changes come really fast to the external trees. And it's funny, even with Android, you know Android is, people are talking about Android as like a monolithic project, but if you look at how we develop Android actually, what you find is that at the system level, especially, there's oftentimes at the current level and the rest, you're seeing development happen nearly real time as much as you would for any kernel organization. And then as you go up the stack, it starts to slow down and goes to more of a punctuated equilibrium sort of model. And what you're missing about that is that, you know, Android's community of developers is a mix of chipset manufacturers, handset manufacturers, carriers, Google and app developers. So app developers are actually most often closed. But what you'll find is that chipset vendors are happy to see their code open source. They just don't want to show other chipset vendors that code until the product launches. The same is true of handset manufacturers. So you'll have handset manufacturers talking to multiple chipset vendors, but not letting the code from one chipset vendor go to another chipset vendor. And they're all talking to us and they expect us to respect the boring boundaries between their companies. And so we end up having sort of a walled garden until we really reach a release point. That we can share with the rest of the world. So it's complicated. And this is why we have tools like Garret and we also develop a lot of Git as well. So that Android can continue to exist as a multi-home, multi-master project. So yeah, I mean, honestly, without Git, it would be very difficult for us to manage all the source code in the way that we manage it right now. So I think Android is up to something like 350, 360 different repositories. Comprising what you think of as Android. And that's that's rassled in a place using the Garret and repo tools. And those are fully open source tools as well. So yeah. And there was earlier, you know, some bad relationship between the Linux kernel. Yeah, so if you look back about five years when we first released Android, we did something called WakeLocks, which was basically a way for the kernel to be informed by the user space when it should go into a sleep mode or not. So mobile phones aggressively sleep, I mean, they're often sleeping when you don't even realize it. Sometimes they're even sleeping when the display is on while you're reading some web page or something like that. And so that level of aggressive sleeping simply wasn't supported in the kernel at the time. And you would sometimes see chipset features like that get surfaced, but it would rarely be surfaced at the user level. So what we were doing is we were doing something that most of the kernel community at the time was not thrilled with. And so people were like, oh, you're forging Linux kernel. And we're like, sure, we are, you know. And I predicted at the time it would take about two years for us to come to terms and figure out what's the right thing for the next kernel as well as what's the right thing for mobile and Android devices. It took a little bit longer, took about three years. But now it's fine. WakeLocks were re-architected slightly and I guess they're calling them SpinLocks or something now. And now it's just part of the mainstream. And that's really good because, you know, with the number of Android devices being shipped, having the driver support being written in a way that's Android-friendly means that it's also being written in a way that's Linux-friendly since the changes are all mainline. I think that's really the crux of it. You know, every once in a while we do unusual things in the kernel, but it's nothing as dramatic as that was. And also, you know, Android has done very well in the market and so the kernel community has been incentivized to work with us. And that's been good for us too. And so we try to pay back not just by releasing source code, mind you, we also tried to come to the right kind of set of compromises that was good for mobile devices as well as for the Linux kernel. And so I think it was, we met more than halfway. Each of us did, you know. The Linux kernel changed a little bit in how it works and we changed a bit of how we did it. But we did it in such a way that didn't sacrifice battery life, which was the driving concern for us from the very beginning. Battery life concerns in mobile are astonishing. And people talk about these new chips, but you know, the batteries really haven't gotten all that bigger from an average perspective, a lot of our perspective. So those changes to the Linux kernel make a huge difference for us in the mobile space.