Linux is an Alternative
That's a pure hypothesis and includes Scientism (Asimov). Linux is not a clearly bounded object. First step of every scientific inquisition of Linux users is to ask, which distribution they use or more formal: who is your god? One could dive even deeper and is absolutely right when saying a distribution is not Linux but uses Linux. Some are real priests of open source software and were put together from patches of kernel code.
I'll put all this aside and bring some light in the myths of labelling Linux an alternative. First of all: alternative for what? Nowadays Apple computers run on something derived from Linux. With a few extra commands it even shows a command line accepting Unix-commands. So I'll put them into the same corner, not close relatives but cousin 3rd degree. This is even more true with Ubuntu's Unity-desktop, (mis-) behaving as any other smart system. More on this later.
Next competitor would be Windows but this isn't an operating system anymore. They moved away from a installation medium with a license key and also software isn't shipped anymore on silver discs. Like all the others Micros~1 moved into the cloud and offers software as a services (SaS). Even in the old days of a Windows CD you only received a license to use the system. You never owned it. That's why it is absolutely legal for the Redmond enterprise to wipe their files from your harddisk. (It goes even further with Micros~1 and Intel who signed mutual contracts to bind to the other's products. Thus a computer with an Intel processor shipped with Micros~1 operating system is cheaper than the same bare metal with no software at all.)
To draw a conclusion: Linux was never an alternative, when it didn't provide enough software or lacked compatibility with printers, scanners, Bluetooth dongles, sound chips or mainboard chipsets. I had to carefully pick components to be able to use the onboard network- or RAID-adapter. Today I'm one of the few dinosaurs who make regular backups and stay away from the cloud. I never thought it'd be a good idea, to move electronics into a foggy, moist and windy environment. And it's even more dangerous when this environment is owned by others and forces me to accept rules I can't obey – all your data are belong to us.
Meanwhile I gathered so much knowledge about Linux and its internals that I don't want to invalidate this value – my main argument why I don't move to other platforms. Second I collected data in structures genuine to Linux as a platform, be it my web server hosting a Dokuwiki, Libre CAD construction plans of various projects or a bunch of SVN repositories containing the hard facts and fruits of my programming and designing skills. This could be moved to another platform but I'm scared of the effort to do this including my Cron-jobs doing the backups, migration plans for version bumps and giving permissions to (Linux) user ids as well as encrypting the one or the other data set.
A final word on the main argument pro-Linux: command line. Windows Power Shell is nearly as powerful. If not, take Cygwin. Most shell users don't reach the limits of these. I also started with zero knowledge back in the days of my first Linux boot and needed a while to reach a skill level beyond the point of no return. Today I'm faster in converting images with ImageMagick on the command line than from within Gimp. And it is not only about resizing or format changes but rendering a 7x4 preview of 28 photographs on a single sheet. It's like an overview of images, an index for my print outs saving space.
This snippet is from one of my (Bash-) scripts and I have plenty of them. I have no idea how to solve this on other operating systems and it took a long way to incorporate all the bits and pieces to parse command line arguments the POSIX-way, have error processing and writing man pages to not keep it in mind (only).
Now for the bad parts:
- Linux Standard Base's Filesystem Hierarchy Standard abandoned/ disregarded by many major distributions, esp. /srv and /sbin /usr/bin (udev, ref. freedesktop.org)
- Kernel does not boot without initramfs on carefully partitioned system (/usr and / on different partitions, mount libraries in /usr but not /, consequence of #1)
- Systemd – feature creep
- Pulseaudio – years of development for an ALSA-wrapper
- RPM, DEB, EBuild, Flatpak – Tons of package formats all suffering the same issues: dependencies
- try to configure your WiFi…Network Manager, ndiswrapper, firmware cutting, and what about the extra buttons to switch it off?
- Toolchains for desktop users – try to create an acceptable PDF with text indexing from a scan – command line serves you in minutes
- OpenSource – hack your own/ improve/ adapt, really give it a try with which gcc-version, cmake or boost…and why can I skip all the fancy compiler flags for any desktop software?
- Security, security, security – how many distributions offer hardened systems, SELinux (with sufficient policies), PaX or at least basic secure configurations?
- It seems to be easier to fork a new distribution than fixing one of the bad packages from XFree, KDE or Gnome