Coming from a Windows environment to Linux, users are often overwhelmed the number of distribution choices and when turning to the internet and community based forums for answers, they experience the ugly side of the community. Linux veterans in forums display egotistical tendencies and will berate other users for a perceived lack of knowledge or for their choice of distribution, claiming all others are inferior to veterans choice. Distribution desktop environments are also another point of contention with everyone saying their choice is the best. These toxic veterans put new users in a negative mindset and the constant flaming in Linux forums often times turns new users away before they even install for the first time.
Once a distribution and desktop environment has been selected and the image has been downloaded, users are faced with an entirely different hurdle before they can install. While Linux is famed for running on most hardware, this is not always true. Most manufacturers do not develop drivers for Linux and instead choose to focus mainly on Windows. This means that the community has to make it’s own if the generic drivers in the kernel do not work. Community drivers are often times poorly maintained, noticeably less efficient, or completely incompatible with software that needs direct access to the hardware. A popular examples of this are CPU and GPU open source drivers, that were found to be up to five times slower than the proprietary drivers for Windows, due power management issues (“Why Linux is not Ready for the Desktop” 2016). When a new hardware architecture is launched such as the soon to be released Kaby Lake processors by Intel, it can take time for compatible drivers to be developed.
Tackling the hardware compatibiliy issue, users now have to find software that is comparable to what you are used to on your previous operating system, then you have to figure out how to install it. A few years ago, one of the major criticisms of Linux was a lack of available software; now it is the opposite. The Linux software library is saturated with comparable software that all do the same things and akin to distributions, every veteran has their own opinion as to which is best. Due to the free and open source philosophy of Linux and its software, any developer can fork an existing project, tweak a few things, then publish it under a different name. Software discontinuity is also a common criticism, as developers are under no obligation to support the software after it has been published and may soon become discontinued. In order to get the latest and greatest features, you either need to continue support of the software itself, or find a new one. This can be incredibly frustrating for users who just want a stable system that they set up once and don’t have configure later (“Why Linux is not Ready for the Desktop” 2016).
Linux is heavily reliant on the use of CLI (command line interface) as opposed to Windows or OSX which rely mostly on the GUI (graphical user interface) for everyday tasks. Most software needs to be installed from the terminal through a package manager like apt or yum and can be very intimidating for users that are not used to CLI. Each distribution comes with various combinations of modules and pre installed packages, so the tools you are used to using on one distribution are not set up out of the box on another. The terminal is great for power users as it often times has functionality that can not be accessed through the GUI frontend, but to others it is antiquated.
Distributions such as Arch Linux and Fedora are well known for the quality of their documentation, but unfortunately that is not the case for all of them. Just like how developers have no lasting obligation to support the software they release, they are not obligated to create documentation on how to use it, though it is considered good practice to do so. Often times new users have a hard time finding the help they need and have to look online for other resources. Tutorials are scattered across the internet and usually they are intended for a specific distribution, so what you see may not work for you. In Windows and OSX, documentation is easy as the operating system is standardized, so developers do not need to create multiple versions of the manual for different distributions.
Linux is an excellent tool for power users who need powerful software and do not mind using the terminal, but it is not for everyone. With a steep learning curve and poor documentation, Linux can be frustrating for new users. A few toxic members jeering at newcomers portrays the community in a negative light, overshadowing those who are willing to help, leaving the user without an effective support system to guide them. In order to compete in the desktop market Linux needs to become more user friendly and until that happens, it is not ready for mainstream desktops.