When was the last time you took a tour inside Linux, Chromium, LLVM, or VS Code? It’s nice that these titans are Free and Open Source Software, but their codebases are unapproachable to a casual user. Even with knowledge of the domain, potential hackers will need to make their way through layers of cleverness, accidental complexity, and technical debt before making that small change.
VS Code is open-source software. Nobody cares. Everyone uses the plugin interface designed to extend the editor in well-defined ways. That’s why you never see drastic changes to its UI like you would in Emacs — and that might even be a good thing. Point is, the rest of the codebase isn’t designed to be hackable, and so very few people will actually attempt to hack on it.
If the issue with a binary blob (that you’re legally allowed to modify, run and redistribute) is that it’s hard to decipher, then any sufficiently complex and unapproachable FOSS program is equally unfree.
A true definition of free software would also include the freedom from tinkering with source code. A truly free program would be designed from the ground up with customizability and extensibility in mind, through an interface accessible to regular users, not just developers.
A truly free program would be independently audited for security and privacy. Knowing that their programs were verified not to perform arbitrary instructions would put users at ease. Such a practice could be enforced through regulation.
Requiring that the source code be public doesn’t guarantee that it will be checked for security and privacy let alone for good engineering practices. The fact that most free software is privacy-respecting is due to cultural circumstances and the personal views of its developers, and not a binding contract.
Join the TFS Foundation today.