By Orion Musselman
Computers, many consumers would think, are magical black boxes. They are in control of their devices; the device is theirs to control. To extend the capabilities of their devices, users install software. This software is a black box in a black box. Generally speaking, it does what you want it to.
On the most basic level, software is nothing more than a series of instructions. Instructions that, without the source code, much of those instructions are hidden, unless you dedicate yourself to the arduous task of reverse engineering.
With that said, consider the possibility this presents: software vendors can serve you software, and you don’t even know what it does. It may advertise itself as doing something specific. Perhaps it might even make a show of doing something, such as converting an image or legally downloading a free movie. But that is all you know; it could be doing something else, and it is programmed to not let you know.
With this obscurity, software can be used as a means of spying on end-users, actively infecting a computer, or even just uploading their files to a server without their consent. Furthermore, the software can also decide to limit certain functionality, restricting the user from doing certain things on their computer which is in essence, telling the user what to do.
With open-source software, you have access to the source code in a readable format (not minified), so the software can be independently audited. Source control software such as Git ensures that changes are recorded in a methodical, easy-to-review manner. The community can submit changes, or decide to fork the project and work on it independently of the original, creating a derivative work.
With non-open-source, aka proprietary software, things are very different. In the case of proprietary software, you are left with pure binaries. In some cases, this might be bytecode. Sometimes it’s minified code (so perhaps not quite “binaries” in the strictest sense). In most cases, you will be served a binary in machine code. All these forms are very difficult to read and make changes to. Even if you could make changes, most proprietary licenses would prohibit you from distributing your modifications. “Source-available” software, where the source code is just given to the user without any other rights (such as redistribution or modification), only allows auditing. Without the right to redistribute compiled or modified versions of the code, you have no ability to verify that the software binaries distributed by the software creators actually use the source code that is released.
The power exercised by proprietary software vendors is merely another form of oppression of the lower classes by the upper classes. Should they desire it, those with the right configurations could update their software remotely with malicious features that would compromise your system. Every piece of software on your computer is a back door – a potential virus (in layman’s terms). Given the government has Big Tech in its back pocket, this means that the government has a universal backdoor to your devices.
This is the gist of the argument for the libre/open-source software movement. Any code that is not “free,” or open-source, is an exercise of unjust power. Using such software subjects you to oppression by the software vendor.
It may be shocking to someone who has spent their whole life in the proprietary world, but it is possible to completely function without proprietary software. It will depend on your hardware. Some network cards and lots of Nvidia products, particularly, are quite hostile towards the open-source movement, and so, open-source drivers are slow to come out. Though, for the most part, it is completely reasonable.
I am currently typing this using a completely liberated computer (with the exception of the BIOS firmware, but then again, liberating BIOS firmware is a very, very slow process and is present for very few computers). I run Parabola GNU/Linux. My window manager is Sway. My browser is Iceweasel. My document editor is LibreOffice. My text editor is NeoVIM (which is being used to type this document). My accounting software is GNUCash. My terminal is KiTTY.
Admittedly, if a class required it, I would be forced to use a Windows computer to run Windows-dependent proprietary software or use a big tech distro such as Ubuntu with the WINE compatibility layer.
These, however, are factors outside of my immediate control. I can campaign for a professor or the college to use different software, but ultimately, I do not have the power to ensure GNU/Linux compatibility.
This is, however, a limited use case, as most of the time, you will not have to do much else aside from having a web browser for most classes.
The College being run by proprietary Microsoft software and the lack of education about free software is ultimately harmful, but outside of our control. It is all that we can do to make sure that we ourselves take steps to secure our own digital freedom.