Sanglard, who rewrote parts of Android's ADB tool, on dependencies. He'd just told the story of replacing a huge network-discovery library with a small purpose-built one. Co-host Romain Guy adds that forking a library is the worst of both worlds: you lose the updates and still don't understand the code.
Yeah, pretty much. Yeah. And if you're a developer, don't use libraries.
Or more specifically, right? I know you and I talk about this a lot, but reusing code is fantastic. It's just you have to understand what you're reusing and why you're reusing it. And sometimes the reality is that it makes sense to roll out your own. Not always.
So I see them as a credit card. A library or a credit card. Sometimes you have no choice. You're time constrained and like, okay, I'm just going to use that. But what's important is to really pay it off. And by that, I mean, as you mentioned, either rewrite the small portion you needed, or if you really want to keep the library, update it all the time and try to not fork it. Because if you start to customize it, you lose all the benefit of being on a library because people are not. Which is the
worst of both worlds. You lose the updates, but you also still don't understand the whole thing.
You didn't understand the whole thing. People are not going to help you because you're not on the same version. And then you added a feature that you may not be able to upstream. It's a nightmare.
Yeah, we've been working for several years on the emulator to go to update to the new Kimu. Because that was one of those we had downstream fork that we, for various reasons, had to keep enhancing for Android. But at some point, it was very, very far from the main. I mean, that's