The problem is software complexity. You can't really own anything you don't understand, and you can't be free in a world you don't understand. And we don't understand software. Imagine a naive young king who doesn't understand how to do anything for himself. He will easily be controlled by those around him that do understand the world. Of course, nobody before ever understood everything about the world. But different…
> And we don't understand software. People are perfectly capable of understanding very large programs even from reverse engineering. The issue is that things change so quickly that generating such knowledge is economically useless. I have this discussion with my CTO all the time: "I'd like you to go do ". "No, please give that to ." "But he's junior. I want someone senior to do it." "The half-life on the knowledge to…
That's a good point, and certainly part of the problem, but it does not detract from my point.
The bottom line is that we don't understand the software in the world around us and that it would be hopeless to try. Whether that's because of static complexity or dynamic complexity seems like a separate discussion.
Changing software on the scale that humans do is kind of like changing the laws of physics every year. Great to know that we understand some past snapshot of the software stack that we built, but not relevant to living in today's world.