I asked a friend of mine, James, from the "Zen Den" discord server to help me with some writing topics I could work on writing. One of them was "Why you should use Linux instead of XYZ."
Anyone who thinks like a programmer believes that this is an entirely relative question. My needs are not the same as yours.
- No two people have the exact needs and desires of a tool.
So all I can offer is my journey to where I am with Linux. The Linux Distro brought me so much in my life.
Grab your coffee, backstory time.
I have been a Linux user for a very long time. I started by not just downloading a distro and playing on the desktop like Gnome. No, I didn't have a GUI to point and click on menus or icons. My first Linux encounter was all server. I wanted to set up a home web server to host pages and authenticate users on my home network. I was a young help desk guy with a new family and wanted to learn more about Microsofts active directory. Money was tight, and Microsoft sold an active directory program for a lot of money. I started reading about a Linux version of something like AD called LAMP. So I opted for a free version of my home setup. I started reading a how-to on getting a home-based LAMP server up and running.
LAMP stands for "Linux", "Apache", "Mysql", "Php".
Linux is the kernel all this will run on.
Apache is the server that will host web files. (I now use Nginx)
MySql is the database that keeps information like logins, users, posts, and the 'storage.' (I play around a lot with different databases)
PHP is the object-oriented scripting language. (I now use Python)
The more I read about LAMP and open-source releases during this learning process, the more I appreciated the flow of the builds.
...omitted daydreaming appreciation about open-source...
I had learned the true meaning behind Open-Source. (This was years before it became a company buzzword.) It took time, and I was no stranger to the DOS prompt, so I quickly picked up the terminal. I learned how to install an application. Check the service status. Configure a file. Also, check the status of a running application using the service.
A month or two later, I learned I could install a desktop environment over the server. Something that acted more as Windows did. There are several to choose from, and some are tons better than Windows or Mac, in my opinion. Cinnamon and Plasma are my two favorites for style (My kids prefer them) and Mate or Gnome for practical (For my wife and me.)
I was still a Windows user at work but started falling in love with the command_line. I offered and tried to push Linux servers to perform a task or two at work, and they would have none of it, stating that the company needed a licensed product. Now they need DevOps employees with strong Linux skills.
First Linux Job
Fast forward to my first real Linux-based job. The company took recorded commercials and made different formats of the commercial, like internet, tv, and radio, for both American and European companies. My main task was to maintain many servers that transcoded these commercials—using a free and open-sourced program but only available on Linux called FFmpeg. No GUI window managed FFmpeg. It was all command_line. It was a necessary job because these servers were the company's backbone, and they worked hard. We would take turns being on call to respond to emergencies at night. Given a desktop and a laptop, both imaged with Windows to work with. We were expected to install an ssh client on them to work on the FFmpeg servers. This was pre-Windows Powershell which does communicate with Linux machines. My boss used a Linux Laptop full time, so I asked if I could re-image my laptop with Linux. He said yes, and I installed a new and upcoming Debian distro called Ubuntu. I have not gone back to windows full time since. This job also sparked my other love of Python as a scripting language.
Together they fueled my 3rd love, which is automation.
Even after switching jobs, I've maintained being a Linux user full-time. I worked for an InfoSecurity company that gave us Macbooks to use. I saw it as another type of Linux to write and run my scripts. I work for a Linux company these days, and my heart is in it. They are an excellent company with no design on monopolizing a marketplace. Altho they very well could in the DevOps market ;)
So finally, my answer to the title of this blog.
It depends on you and what you expect to get out of your tool. But with Linux and open-source, you will get the same result for a lot less. Notably, if you decide to switch, install a desktop environment and play in that terminal command line as much as possible. Maybe learn some VIM along the journey. It also helps to google every thought you have about it. It will do things you never imagined.