Why use free software? There are many right, and wrong, answers to this question. I ‘ll give an answer from my own perspective showing why I use free software.
Why bother?
In the first section I ‘ll explain my reasoning for advocating free software from first principles.
I am assuming that someone believes in a democratic society, as I do, then they would value human agency. According to Wikipedia:
In social science, agency is defined as the capacity of individuals to act independently and to make their own free choices.
What does it have to do with computers? To put it simply:
If I disagree with my computer, my opinion matters more!
To elaborate; computers, are not neutral objects. Their capabilities reflect design decisions made by their creators. This affects what a user can do with them. If a user’s circumstances are such that they have cause to disagree with those capabilities or decisions there should be a way for those users to act on that disagreement, otherwise their agency is being restricted.
Note that this is not an advocation for limitless agency, there are cases were it makes sense to limit individual agency. For example, societies have valid reason to restrict individuals from exercising their option to drink and drive. However this restriction is neither decided nor implemented by the company that built the road. In general the limit to an individual’s agency, from a democratic perspective, should come through social institutions, not through private entities.
So now the question becomes, how do we empower the individual, to exercise their agency when they disagree with the capabilities of a computer system they are using? The best answer to this is using computing equipment powered by free software. When saying free software I am using the Free Software Foundation’s definition. The key takeaway are the four freedoms:
- The freedom to run the program as you wish, for any purpose (freedom 0).
- The freedom to study how the program works, and change it so it does your computing as you wish (freedom 1). Access to the source code is a precondition for this.
- The freedom to redistribute copies so you can help others (freedom 2).
- The freedom to distribute copies of your modified versions to others (freedom 3). By doing this you can give the whole community a chance to benefit from your changes. Access to the source code is a precondition for this.
Thus if you disagree with how your computing device does something, you have an avenue of addressing that issue. It will still require resources, usually meaning time and money, but at least there is an avenue for exercising your agency.
If you think all of the above is too theoritical I suggest you read about Karen Sandler. This Linux Weekly News article has a good descriptions about Karens’ need for a pacemaker and the life threatening problems she had. The life-threatening problems arose from deficiencies in the pacemaker’s software and Karen was unable to address the problems properly because the software in the pacemaker is proprietary.
Cool, how do I get there?
The answer to this question can get very tricky. An answer that is correct for one person may be incorrect for another because of their individual circumstances. Hence this will be an opinionated answer based on my individual circumstances.
Start learning about free software by using Linux on your personal computer.
Personal Computers are, in my opinion, the best platform to start engaging with free software. That is because the available solutions are mature enough that can cover the basic things a person needs from their personal computing device.
An older laptop or computer is usualy a good start. One can create a live USB and test the hardware compatibility of the device. Unless the device is sold with official linux support, doing a test to check how compatible the user’s hardware is with a certain Linux distribution is a good and necessary place to start.
Chosing what distribution to test your hardware and subsequently install on can be tricky. Especially since the linux comminity can be immature at times on this point and confuse newcomers. My suggestion would be to go with something mainstream and not worry about this. After you start using a distribution, if it does not arrange things the way you’d like, it will be quite easy to switch to a new one. The reasoning for something mainstream is that it will be easy to get support when you need it. Being able to get support is a key thing when you are getting started.
After you have a functioning installation of a linux distribution on your personal computer the next order of business is to start finding free software programs that cover your computing needs. Two key things I am looking when I am looking for free software solutions is a project that has active development and a viable exit option is in the future I decide I want to go somewhere else.
Raspbery pi
Another way to get more experience with free software are cheap, hackable single board computers. The most prominent of them is a raspberry pi family. Two really valuable projects that I use the nextxtcloudpi project and the pihole project.
The nextcloudpi projecct is a project that manages the installation of NextCloud for you so that you can host it your home. NextCloud is a self hosted productivity platform that offers a variety of useful services, such as file sync, calendar sync etc. The file sync solution has been very valuable for me. It’s not only cheaper than proprietary alternatives but I also maintain control of my data and decide how I share it with.
The pihole project is a network wide ad blocker that you can install in your Local Area Network. This way instead of needing ad blocker for every device, you can enforce your choice centrally.
Free your mobile phone
Using free software on your phone is much harder than using it on a personal computer. The user has to be very concious about hardware compatibility before buying a device. Buying a device based on price and technical specifications and worrying about using free software on it afterwards is much more punishing on a mobile device compared to a personal computer.
My current personal solution for this is to run a device which is compatible with Lineage OS. It’s not a perfect solution as it involves a compromise in security for a gain in privacy and control of the device’s functionality.
Supporting Free software ecosystems
If you have managed to dable in all of the above then you, dear user, have gone quite far in your free software journey. The last thing I ‘d like to mention is to support free software ecosystem. Good software requires resources and if you are getting value out of them, you hopefully realise the need to contribute to their sustainability. Your contribution could be code, translations, documentation, support for other users, or monetary support. Chose what you can provide and you think is appropriate.
Thanks for reading.