For me personally at least, discovering open source meant learning that even if something looks like magic, it has source code behind it somewhere. Nothing is magic, everything is science(or engineering), even if that is hidden/obscured from the end user.
As a result of this, anything can be reimplemented/replaced, if you or someone else have knowledge on how to do so. This in turn means that it is possible to escape from unethical services, thus the article.
> even if something looks like magic, it has source code behind it somewhere.
This is an incredibly important insight. When technologically illiterate people have difficulties with a gadget, it is extremely common that you can trace their difficulties back to their assumption that the workings of the gadget are magic: they don't attempt to form any kind of mental model for how the device might work, and end up making impossible and contradictory assumptions about it. Even an incorrect mental model would be more useful, because you'd be more conscious of making predictions and realizing that your predictions are wrong for a reason when the machine doesn't respond as expected.
This thread is a great example of why I think open-source is a distracter for true freedom: it emphasises the notion that source is somehow necessary to understand and modify software, when the truth is far from it.
Legal or not, you can always take a disassembler to a binary and find out the truth, just like you can do the same to other devices and understand their workings much like what the "true scientists" do[1]. Crackers and the security industry have been doing that for decades. PC magazines of the 80s and early 90s even told you how to patch your own software --- without source --- to accomplish certain things like fixing bugs or changing "annoyances".
I often wonder what the state of software would be like if Stallman emphasised the right to inspect and modify regardless of source code availability; perhaps there would be far less open-source projects, but people would have a much more intimate familiarity with how computers work in general.
If I can modify the binary, I don't need the source. Especially for large projects, where trying to figure out how to compile the exact same binary I already have and know works, along with its massive tree of dependencies, can be even more difficult compared to just opening it in a hex editor and patching a few bytes.
[1] It seems computer scientists mainly focus on construction unlike physicists, biologists, and chemists who focus on analysis first.
I still think open source is an important effort, editing/reading source code will always be more efficient then reverse engineering and modifying the binary.
That being said, I agree with much of what you say, and I am working on learning re/binary patching. Are there any good resources you could recommend?
Get a manual for your processors assembly and a description of the way binaries are organized for your operating system (Headers, sections).
Try to build a minimal binary with c, analyze it, try to modify it. Find out what the appropriate tools are for your operating system.