When I first started using Linux, back in the mid-late nineties, a typical Linux installation was roughly four to five CDs and wound up installing applications geared toward scientists, programmers, HAM radio operators, and more. The kernel was built for a small sub-section of hardware it actually had support for (which included a lot of hardware most people didn’t have). The typical resources needed to run Linux were quite small. The first machine I ran Linux on was a Pentium II 75 Mhz processor with 56 MB of RAM and an unsupported WinModem (which was eventually swapped out for a US Robotics 36.6 external modem).
The first Linux system I managed to install and use was Caldera OpenLinux 1. The system requirements for that distribution were as follows:
- 200 MHz Pentium I class processor or above
- 64 MB up to 4 GB of RAM
That was pretty much it. Now, fast forward to today, and the requirements of my distribution of choice (Ubuntu 14.04, at the moment) are:
- 700 MHz processor (about Intel Celeron or better)
- 512 MiB RAM (system memory)
- 5 GB of hard drive space (or USB stick, memory card, or external drive — but see LiveCD for an alternative approach)
- VGA capable of 1024 x 768 screen resolution
- Either a CD/DVD drive or a USB port for the installer media
Let’s compare that to the Windows equivalent.
Windows 98 system requirements (the version of Windows in use when I first started using Linux):
- A personal computer with a 486DX 66 MHz or faster processor (Pentium central processing unit recommended)
- 16 MB of memory (24 MB recommended)
- Approximately 195 MB of free hard disk space
- One 3.5-inch high-density floppy disk drive
- VGA or higher resolution (16-bit or 24-bit color SVGA recommended)
That’s reasonable for the time. Now, let’s take a gander at the requirements for Windows 8 and see if the increase in requirements happens to be parallel to that of Linux.
Windows 8 system requirements:
- Processor: 1 GHz or faster with support for PAE, NX, and SSE2 (more info)
- RAM: 1 GB (32-bit) or 2 GB (64-bit)
- Hard disk space: 16 GB (32-bit) or 20 GB (64-bit)
- Graphics card: Microsoft DirectX 9 graphics device with WDDM driver
I shouldn’t even have to remark on that. The drastic increase in required resources speaks for itself.
The truth of the matter is, to say that Linux is bloated is like saying a LEGO set that comes with a million LEGOs is bloated. Just because it has all the pieces doesn’t mean they’ll be used to create a single, monolithic creation. Make what you want. Take those LEGOs and make a bunch of really cool toys. You are free to do with those individual pieces what you want. Of course, some of those pieces will be used more than others (like the Luke Skywalker and Darth Vader figures). Same thing with Linux. On my current Linux system, there are two apps that almost always remain on top of the usage list: Google Chrome and Spotify. The first Linux system to hog up resources is Xorg (and that bounces all over the place, depending on what I’m doing).
To consider the Linux server bloated is a fallacy beyond ridicule. Why? First and foremost, you can easily install a Linux server without a graphical environment. And many Linux server base installs don’t come prepackaged with a lot of services — you install them post-install, so you have only what you need running on that server. A full-blown LAMP (Linux Apache MySQL PHP) server install is going to need a minimum of:
- 128 MB of ram
- 800 MHz CPU
- 1 GB hard drive or less
That doesn’t sound like a great deal of resources, eh? Of course, this is a web server, so depending on your needs, the resources could skyrocket fairly quickly. However, that’s only dictated by the needs you place on the server, not the platforms needs.
But let’s consider the real culprit that hogs system resources — the desktop. One of the biggest offenders of this is Ubuntu Unity. Even with Unity running, you’ll find Compiz to take up the most CPU/memory. A typical entry for Compiz in top looks like:
2763 jlwallen 20 0 2157776 489168 93176 S 1.3 3.0 25:24.29 compiz
With Unity using more resources than the average desktop interface, what can you do? Simple… don’t use it. Grab a lightweight desktop, such as XFCE, and call it a day. In fact, you can opt instead for a distribution geared towards being lightweight — like Damn Small Linux (DSL). With DSL, you get a full-blown desktop distribution that weighs in at under 50 MB. That’s small… damn small.
Even if you discard the facts about the resource usage of Linux, the power of modern hardware can take it and then some. The average PC sold today is overkill for the whole of Linux hardware requirements. And to argue that working with a Linux VM over the internet is impossible — due to bloat — is silly when the average user pulls that kind of bandwidth streaming music and movies without a hitch.
If you still think that Linux is bloated, guess what you can do? Roll your own. Compile your own kernel to remove what you consider bloat, or take advantage of one of the many tools (such as SUSE Studio) and create your own Linux distribution to perfectly suit your needs.
Is Linux bloated? I say no. With regards to system requirements, the platform has aged with a grace no other system has. What do you think? Is the Linux ecosystem a bloated pig in need of trimming down? Share your thoughts in the discussion thread below.