Nearly half a century ago, the free software movement made a demand that was both technical and moral: Users should have the freedom to understand, run, modify, and share the software on which they depended. It was a demand born from practical life with machines. A printer that couldn't be fixed. A program that couldn't be studied. A system that asked its users to accept dependence as the price of progress. That belief shaped modern computing and gave us the tools and norms that made the i...