So I have this Sparcstation LX running OpenBSD. We're talking seriously light OS footprint here, folks. The complete installation took 470MB of disk. The box is tasked as a PPP/NAT/firewall box and nothing else. However, though PPP is working fine on it complete with working dial-on-demand, I've been having trouble getting NAT working in PF. For sanity's sake, a friend suggested fwbuilder to generate a PF configuration just to make sure the configuration was valid. Sure, it sounded reasonable enough, so off I went, looked at fwbuilder, decided it was worth trying, downloaded the ports tarballs for fwbuilder, and started installing.
That was almost 24 hours ago. 250MB OF DEPENDENCIES LATER, a third of the total disk space used on the machine is dependencies for fwbuilder, and it's still installing dependencies and getting started on a full Gnome install. On a firewall box.
FUCK THIS SHIT, CHARLIE. Not on MY firewall machine, you don't.
How did this happen? How did we get here? Linux, *BSD, all the other "upstart" Unices, used to be light, fast, clean environments that would run -- and run usably -- on a 386. They grew, they gained functionality, they slowly acquired a heavier footprint. Then the bloat started. Enlightenment was the first symptom, and when Enlightenment was new, yeah, sure, it was pretty, but even many of its own users complained about how slow and bloated it was.
And then came Gnome.
Gnome makes Enlightenment look like a greyhound. Gnome has fucking metastasized. It is a cancer upon the face of *nix. It's the tail wagging the dog. It's bloat upon bloat upon bloat upon bloat, bottomless dependency trees, fifty libraries required for builds that used to need only two or three. It's applications that used to be tiny and fast that are now slow, unresponsive, and eat 100MB of RAM. It's getting to the point that anything that creates a window, no matter how trivial, requires a full Gnome install, and that Gnome install eats more disk space than all of Linux once used to. All that functionality gets dragged in whether or not the application is ever actually going to use it, and 90% of the time, the application won't ever use 90% of it. It's fast getting to the point where it won't be possible to compile /bin/ls without a full Gnome installation.
And it doesn't stop there. Not only can no-one countenance the thought of developing a GUI application that isn't Gnome any more, but most of the people out there developing Gnome applications can't resist even one new useless feature offered in the very latest version of libgnosepicker-2.8.9.17.34p6, so they install every bleeding-edge Gnome library that comes out, write their applications to the bleeding edge API, and thus force everyone else to live on the bleeding edge with them. Hello? What happened to using stable code for applications you're going to distribute, people?
Take Galeon, for example. Galeon started out as a fast, lightweight browser embedding Mozilla's Gecko HTML-rendering engine in a GTK+ interface, because the Galeon developers thought Mozilla's XUL interface was too slow and bloated. Now, you can't install the latest development versions of Galeon 1.3 without a full Gnome2 installation, and not only that, but you have to build it against a copy of Mozilla compiled locally against Gnome2 with the same compiler and optimization as well, or Galeon will crash on launch. Um, hello, excuse me, I thought Galeon was supposed to be avoiding Mozilla's bloat??? Now it's more bloated than Mozilla.
Unfortunately, if this trend continues, I foresee a time when it'll be impossible to have any usable user applications on a Linux box without having a full Gnome2 (or Gnome3, or Gnome5) installation on it. And when that happens, Linux will have lost at least two of its key advantages over Windows -- speed, and the ability to run on old legacy hardware that won't usefully run Windows any more. (I've heard convincing arguments that anything based on a CORBA is inherently insecure, too.) Linux will have ceded the hardware low-end to the *BSDs, and will quite possibly have lost the initiative altogether, taken over by creeping featuritis.
I hear all kinds of Gnome apologists saying, "Well, yeah, it's bloated, but it's providing drag-and-drop, and internationalization, and an interface to the coffeemaker, and...." The official party line is, Gnome extends Linux. Fuck that shit. Gnome is not extending Linux. Gnome is subverting Linux.
Nietzche said, "Battle not with monsters, lest ye become a monster." Gnome is Linux becoming Windows.
Re: gnome and other desktop environments
application don't happen to agree with what you are looking for. In that case,
your options are 1) put up with it, 2) choose other software that more closely
meets what you're looking for, or 3) write or derive your own. That doesn't
necessarily mean what the authors of things like gnome are doing is wrong.
It just means that perhaps you are using the wrong package, even though it does
have features that you desire.
Personally, I have a well-known aversion to GUIs and applications that
require me to move the mouse around just to enter text. I also would prefer
text configuration files versus millions of mouse clicks and drag-and-drop menus.
Configuration files allow me to make changes with much more speed and efficiency
than menu based configuration tools, and are easier to manage via script, revision
control, etc. However, I do understand that people have different goals and
not ever user has the same kind of needs that I do.
It's just that I see the paradigm of maximal feature set even for things that don't actually need it taking us towards a situation where it takes just as much hardware to useably run the GUI required to run any "current" Linux software as it does to run Windows. And that, I think, will be a bad thing.
I think this brings up an interesting point. As Linux attempts to capture more
of the mainstream market, it is going to have to address the same kind of consumer
desires that Windows attempted to do, and may therefore run into similar types
of problems. Do enough users feel that it's important enough to have applications
that can run on lightweight versions of OS and other layers to continue to spur
development of such software?