Many years ago I was still working for Digital Equipment Corporation, but I was also going around the world talking about Free Software and GNU/Linux.
As I talked with people, they would come up to me and say “I would use Linux except it….” and they would go on and give their reason why they were not using Free Software. I would then tell them why their reason either had never been correct (it was FUD from some closed-source company) or it was no longer correct (it had been correct at one time but was no longer an issue). After a while I realized that for the most part I was answering the same questions over and over again, so I wrote a talk called:
“The Ten Reasons Why You Think You Can’t Use (GNU)/Linux”
“And the Ten Reasons Why Those Ten Reasons Are Crap”
I started submitting this talk to various conferences, and they readily accepted it, but almost every time I saw the conference schedule, either the subtitle had been left out, or the word “Crap” had been changed to something else. When I questioned them about it, they said “We just can’t have the word ‘Crap’ in the program!”
Perhaps I should have used the word “S__t”….but I digress.
After many presentations the number went up to twelve, but then (as those issues were addressed) came down to ten again…and it has stayed at ten a long time.
So here, for the ages, are the current “ten reasons”, and why those “ten reasons” are … well, just not true.
- Lack of Applications
- Too Complicated (too hard to learn or use)
- Doesn’t Support Backoffice (SQL Server, Exchange, etc.)
- No decent Middleware (DBMS, objects)
- Too hard to manage – Too many ongoing Revisions – Too buggy
- Unprofessional (Grad Student Code) – “We do professional programming here”
- Requires a GURU (versus Windows that can be managed by “anyone”)
- Poor Features (Management Tools, High Availability)
- Not “mainstream”: Who you gonna call?
- Risky – TCO greater than closed source
Lack of Applications
Even in the days when I first wrote this talk, there were thousands of commercial applications available for GNU/Linux. IBM was keeping track, and they reported in the late 1990s that there were 3000 commercial applications available. There were thousands more that ran under emulation such as WINE or SCO iBSC binary emulation. Thousands more under JAVA. Windows systems could be run under VmWare for those applications that were not native to GNU/Linux. And of course with web browsers you had huge numbers of applications available.
There also seemed to be a lack of understanding (or lack of desire to understand) that not every group needs all the same software, and perhaps some elements of the company could get along with GNU/Linux while others needed to stay with closed-source code.
Now when you go to sites like Sourceforge.net you find 430,000 products and projects that are available and are “Open Source”, with many more available that are closed source, but run on GNU/Linux.
Yes, there are still a few holes that need filling with some people’s favorite applications, but the application space is filling rapidly, and particularly through the use of Android Smart Phones to act as front-ends to “cloud” applications.
Too Complicated: Too Hard To Learn and Use
We brought this on ourselves in the early days with a certain elitism that stemmed from the days of Unix…”Real men use shell programs” and “Mice are for babies”.
This issue also had roots in the days of the 386 and 486, where setting up the parameters for telling the kernel the configuration of your machine (and particularly your graphics card) was enough to drive grown men to drink. [At this point I should point out that as a Unix systems administrator for Bell Laboratories, I had been drinking for years….] But with the advent of the Pentium series of computers and PCI bus architectures devices became smart enough so the operating system could configure itself.
There is also the fact that no end-user really installed Windows. Windows came on your machine pre-installed, with “recovery” (not INSTALLATION) disks to RESTORE your system in times of distress.
I had installed a desktop version of a famous closed-source operating system one time from OEM disks, and even with a Masters Degree in Computer Science and thirty years in the industry, I ended up losing about ½ inch of hair from my scalp through pulling it out trying to install that system from OEM disks. It took me an entire DAY to gather all the drivers, and install the “easy” operating system.
Today the TRUE, rock-bottom installation (not a “restore”) of major GNU/Linux distributions is very easy, particularly when you are able to follow all the defaults by not supporting dual-boot, or if you install to a fresh machine with no OS on it. And facilities like live CDs or installing over the net or from a thumb-drive allow you to test the hardware before installing the code.
Is there still some hardware that is not supported? Yes, but day by day unsupported hardware becomes less and less true, as hardware companies discover that not supporting GNU/Linux (or Android) means fewer hardware sales.
The other issue is the end user. They think GNU/Linux is “hard”. GNU/Linux is not “hard”, it is “different”, and you have to get over the differences. Just as you might have to get over the differences between Windows XP and Windows NT, or Windows ME, or Windows VISTA, or Windows 7 and Windows 8.
LPI’s Linux Essentials, of course, helps in this issue. By following the objectives of Linux Essentials you can help give the end users the knowledge they need to use GNU/Linux as an end user. And a certificate goes a long way to giving them confidence, which is half the battle.
People who use GNU/Linux today tell me how easy it is to use, and how stable, once they have their applications selected and set up. For that task there are pre-installed versions of Linux available from resellers, and systems administrators who can tailor a company “spin” for particular needs.
I have known children as young as three using GNU/Linux to run their favorite games by clicking with the mouse.
GNU/Linux does not support the “backoffice”
This means GNU/Linux does not have the tools to fit into a proprietary client/server framework. This may have been true many years ago, but early projects like SAMBA started allowing GNU/Linux to not only work well with other operating systems, but to become the OS of choice in being the “backoffice” server. Add to that both commercial and Free Software programs for systems administration like Nagios and Puppet, and services such as LDAP, and a “backoffice” started to emerge that was not built on proprietary standards, but instead was built on open specifications.
In 1998 most of the major commercial databases ported to GNU/Linux, and of course there are also significant Free and Open Source databases such as MySQL, PostgreSQL and Firebird. CouchDB and other “NoSQL” databases are also available.
When it comes to LAMP client/server systems and web-based front ends, GNU/Linux is the “L” in “LAMP”.
No decent middleware
This too is “old news”. There are many databases, libraries and other support tools that have either been developed as Open Source or ported to GNU/Linux.
Too hard to manage – too many ongoing revisions – too buggy
In the early days of GNU/Linux, as people were trying to put everything together, this seemed like a nightmare.
Then distributions such as Debian, Red Hat Software, SuSE and Ubuntu started to have “Long Term Support” distributions where they would support a particular version of their distribution for a long time. Startup and Installation scripts were developed, and automatic updates happened from repositories.
People began to understand that with Free Software you had more control over what patches you needed to install and when, not less.
Even if the support organization “drops support” for a long term distribution, the customer can hire specialized support to keep their project going, perhaps only updating critical elements of the software.
The customer had control, not the support organization.
Also, projects like the Linux Terminal Server Project allowed diskless workstations as client systems, so all the programs and data were held on the server. This allowed a huge number of client systems with only one or two system administrators.
Unprofessional Programmers – Grad student work
The term “professional” often means only that you get paid for your work v.s. being a volunteer. There are many “amateur” (unpaid) sports stars that are better athletes than the paid ones and in better physical shape than the “professional” (paid) ones.
In truth most of the programmers, particularly in the kernel, are “professional” programmers, and most of them have advanced degrees in computer science.
Many times a professional programmer will be working on one type of product, but then desire to work on something else. Often they will join a Free Software project to get a chance to work on that type of system.
Or the person may be programming a database in the daytime, but have a passion for music editors that they follow at night.
I went to an office of a large health organization one time to talk about Digital Unix. While there I mentioned to the CTO about GNU/Linux. “We do not use that hobbyist stuff here,” he said. “We are a serious shop.” Needless to say he was a bit out of touch with what was happening in his own shop. His systems administrators were using GNU/Linux to do their own work.
Requires a Guru
This is along the lines of “too hard to use”, and is mostly historical. GNU/Linux systems take about the same level of expertise to run and maintain as other sophisticated operating systems. For simple installations, a smaller amount of training is needed than for larger, or enterprise installations.
Following the LPI objectives for LPIC-1 and LPIC-2 will give you much of the information necessary to run and maintain a GNU/Linux system in a Small to Medium Business, and following up with the LPIC-3 training will solidify some of the more advanced features.
In any case the amount of information and knowledge you need is not exorbitant, BUT it is different from other operating systems like Microsoft.
Poor Features: Management, High Availability
Another ancient issue. Today GNU/Linux has great High Availability and fail-over features equal to all but the extremely expensive high availability systems. By using inexpensive commodity based systems, you can have a HA computer that will fail over in a matter of less than a second.
With its log-based file systems a GNU/Linux system can recover from a power outage in seconds, and GNU/Linux can be used with either hardware or software RAID to give you redundancy and speed of throughput with commodity equipment.
For very high-end work, GNU/Linux also runs on IBM Mainframes, with the same kernel design that run on your server or notebook, just tuned for the Mainframe.
Various FOSS programs are available for managing your data center such as Nagios, Zenoss, Zabbix and others.
Not Mainstream – who are you going to call?
GNU/Linux runs on more than half the servers in the world, on 98 % of all the HPC systems in the world, is the most used system in embedded system design, and on about 2% of the desktops.
Android is the highest selling OS for cell phones, outselling iOS handily.
IBM, HP, Red Hat, SuSE, Canonical and others sell support.
There are thousands of consulting companies that sell support.
Of course there are LPI professionals to supply support also.
Is there still a shortage of support people? Yes, but it is getting better.
Risky – Total Cost of Ownership (TCO) greater than that of closed-source
Everything in business is risky, that is what most businesses are about. But at least with Free and Open Source Software you have control over the software, the control isn’t with some large company.
TCO is not the measure you should be looking at. You should be looking at Return on Investment (ROI). What will you be able to do with the software solution. How much money will it save you or make you, and what was the investment into that?
FOSS allows a greater integration of software together than can typically be done with closed source tools.
FOSS can allow that one little change that your customers or employees need for a good running business.
Most of the reasons why people think they can not use Free and Open Source Software, and particularly GNU/Linux, is that they are thinking about the GNU/Linux of fifteen years ago, and not the GNU/Linux of today.
Many people who are not using GNU/Linux have been listening to FUD and certainly have not been looking at what FOSS is today. OR they tried using GNU/Linux years ago. In the realm of Free Software, six months is almost “forever”.
With FOSS software being free to pull down off the Internet and able to test for your needs, IT professionals should try it out every so often and learn the truth for themselves.