Wednesday, December 10, 2008

My Ideal Linux Distribution

Linux is my favorite OS. When compared to the only other OS I've ever used (Windows) Linux wins hands-down in most departments (not counting gaming support - though I hate saying this, I don't think Linux will ever get far in that regard).

One problem I have with Linux, though, is also one of it's strengths - choice.

I occasionally start distro-hopping (a term used by many Linux-knowledgeable people to describe moving between distros) after a few months of using various distributions, even when I feel fairly happy with them.

My most recent distro I called home was Arch Linux. I stayed with it for a while, and recently decided to try openSUSE again, after having annoyances with support for Adobe AIR (Adobe only provides the technology to distros such as Ubuntu and openSUSE).

As I write this, I'm currently using openSUSE. However, I'm not entirely happy with it. Though I've found I really like it, almost enough to use it as my main distro, I don't like that Novell modifies packages such as KTorrent, legal reasons or no (they removed DHT support). True, I could always build the package myself. But I don't like that I have to. Also, after using Arch, using a 'stable' distro such as SUSE is annoying, because I miss all the bleeding-edge software (such as KDE 4.1.3, and the applications that are a part of it, such as Amarok 2).

So, I decided to put together a list describing my ideal Linux distro - what would be, for me, the perfect Linux.

The latest bleeding edge software

I can't stand using out-of-date software - even if it's considered 'buggy'. I like to be on top of things. This is one of the reasons I liked Arch - as soon as a new version of KDE, or Amarok, or some other software I use, was released, it was available to be installed in Arch, easily. No messing around with repositories, either. One thing I don't like about openSUSE is that I often have to hunt down another repo just to install something not deemed supported yet, among other things. Despite what you may think, having to use the Packman repo is not comparable to installing packages via Yaourt. As far as I'm concerned, Yaourt is part of Arch, Packman is not part of SUSE.

No modified packages

One problem I had with openSUSE was that Novell removed DHT from KTorrent, due to legal reasons, I'm guessing. To me, this is absolutely unacceptable. KTorrent should be easily available from SUSE's repos, unmodified. I shouldn't have to build it myself or add a different repo (I'm looking at you, Packman) to install it.

Arch also modifies Firefox for some reason. I don't know what they did, but whatever it was certainly annoyed Mozilla, because any modifications done to Firefox result in the branding needing to be removed. I don't mind using 'Gran Paradiso' with the little globe option /too/ much, but come on, must I really have to compile it myself/install user-made unbranded package or modify Firefox's internal settings just to browse the way I should be able to? I think not.

I do, however, like the modified KDE environment that openSUSE ships out, and KDEmod available to Arch users (which I used myself). What I'm mainly talking about here is removing features.

I should also mention that, for whatever reason, Kubuntu does not include kwrite by default, and openSUSE does not include kate by default. I think both should be installed - this is what I'm accustomed to with Arch, at any rate.

Easily Installable Packages

Packages should always be easy to install. Never mind having to compile them yourself or hunt down repos (I've already mentioned these above, several times).

I like Arch's package system. Pacman makes package installation very easy, and usually, if I need something I can find it in the AUR and install it via Yaourt. Not once have I had to go dependency-hunting for something with Arch.

My one complaint with Arch's system is that when I wanted to install Adobe AIR (so I could use Tweetdeck), I found Adobe only provides packages for RPM- and Debian-based distros - Arch not being one of them. This is primarily why I started using openSUSE. Although I realize the fault lies primarily with Adobe, I could not install it from the AUR, either. If Arch supported popular package formats such as these, it would be even more awesome than it is already.

No 'restricted' packages

I always hate it when a distribution won't let me use certain things, such as DHT (in SUSE's case), or MP3 support (I think it was Mandriva that wanted me to purchase some sort of subscription for that). Let's get this straight, I don't /care/ if some countries have laws prohibiting things. It doesn't mean you have to make it hard for people who live in countries with less-strict laws (or people like me who simply don't care). Ubuntu is great in this regard. As soon as I open a restricted file format in Amarok, Ubuntu asks if I'd like to install the restricted format, though it does warn me about possible legal issues. Ubuntu isn't going to stop me. And no distro should.

Excellent out-of-the-box hardware support

This one's pretty obvious, and is one area where (most) distros are getting better in all the time. I have yet to find something Ubuntu doesn't work with, and so far, the same with openSUSE. But in Arch (and I think this is probably due to the large configurability of the distro), my touchpad doesn't work 'out-of-the-box'. While I don't use it often, it's great when I'm not situated at a desk (my laptop is my only computer, so it's almost always stationary, unless I take it somewhere, which is somewhat rare). This is the only thing I can think of, off the top of my head, that is supported by most distros I've tried, but not Arch.

Another thing is multi-monitor support. I have yet to find a distro that allows me to use it right from the start, without having to do a bunch of command-prompt-kung-fu. I don't mind using the console - in fact, I find Ubuntu's too user-friendly in that regard (more on that below) - but Linux should be mature in this regard. Not once have I managed to get multiple monitors working within Linux, not even in popular distros such as Ubuntu or openSUSE.

Also - hibernation and standby. This has never worked in any distro for me, until I tried openSUSE again. Could be a fixed kernel bug, as I have not tried using it until now, but for now I will assume openSUSE was superior in this regard.

Ability to turn off ipv6 (and other features) off before install

One thing I find incredibly annoying is ipv6. For some reason, it slows my network speed down considerably. When Vista first came out (and I don't know if this is still true) ipv6 was enabled by default, and users had to turn it off to restore normal speed. Ubuntu is currently plagued with this problem as well, and I have yet to find a way (that works) to turn it off.

OpenSUSE gives you the option to turn it off before/during install. This is something I think Ubuntu should allow, as well as other distros. I don't know if SUSE lets you turn it on/off from the desktop environment, though, but I'm sure Ubuntu does not - Ubuntu's community (which is excellent, more on that below) seems to recommend modifying a system file - I tried this, but did not notice any speed improvements.

Minimal installation

I like my Linux install to be on the small side. This means not taking up more than a couple gigabytes, at the most.

Many distributions allow you to choose what programs you want installed. I like this. My ideal installation would install all the environment's (KDE, GNOME) applications by default (such as kate, kwrite, kcalc, etc.), as well as install the necessary drivers for your system. The user is then free to customize this, by adding applications such as SMPlayer. This way the user gets only what he/she needs, nothing more, nothing less.

I recognize that Arch does this, to an extent. The problem with Arch's way is that the user must know the names of the packages he/she wants to install. The user is left to install drivers and such on his own. While most Arch users know what they're doing here, I usually have to install everything (with some exceptions, when I know what something is). Arch, however, is great in that the only applications installed are those that come default with your desktop environment. As I said above, the user then gets to install any other desired applications.

Greatly-polished desktop environments, not 'tacked on'

One thing I dislike about Kubuntu, and this is something I've talked about before, is that it feels almost as though Canonical just added it in as an afterthought. It doesn't feel quite as 'polished' as the flagship Ubuntu does. Even the website looks less-professional.

Although I never really used Fedora, unless you really did some digging, you'd probably never know that they offer a KDE desktop just by looking at their site. And, as far as I can tell, their KDE offering is plain vanilla - no customizations at all, compared to their fruit-and-nut GNOME environment, which is nicely decked out in the Fedora blue-and-white.

openSUSE, on the other hand, really pays attention to detail. Both their GNOME and KDE environments look great. They tweaked both to have their own unique look and feel. Neither feels more important than the other. They make no effort to hide that they have both available, and screenshots of both are available on their site (unlike Fedora). This is the kind of thing I want to see. Personally, I prefer KDE, but a distribution should either be fully for a specific environment, or put equal effort into both offerings. Otherwise, one of the desktop environments will feel 'tacked on', like a side-project that never really gets much attention.

Note that distros such as Arch don't really count here. Since Arch is so customizable, you basically get the vanilla environment of your choice, unless you go with KDEmod, which is a community effort anyway.

Something that is related to this, but not going with the above text, is that I've noticed that my most recent Arch install had horribly ugly fonts. I don't know why, as I did not change anything. I installed as usual. They were all blocky, or something.

When I installed openSUSE, the fonts were beautiful, soft. The way they should be. And, they were the exact same fonts as I had in Arch. I have no idea what was wrong, and I can't really complain - probably a misconfiguration somewhere on my part - but it was annoying, and hard on the eyes.

Firefox, by default, also looks horribly ugly in KDE. It does in Kubuntu. It did, and probably still does, in Fedora, and I think it did in Mandriva as well.

But by default, openSUSE includes support for GTK themes in KDE. I think all distros should do this. If Linux ever wants a reputation as a beautiful OS, right up there with Mac OS X, widely used applications such as Firefox should look good, integrated with the environment, by default, without tinkering. Without this, it alienates the user.

User-friendly, but not mind-numbingly simple

Recently, I've come to despise Ubuntu and its variants for one reason: it's too easy.

Computing should be user-friendly, yes, but not to the point where you don't even have to think to get stuff done. I used to love Ubuntu. But that was when I actually had to open the terminal to do some things (or at least had an incentive to). Ubuntu has become more like Windows. I love it when I can do everything via a GUI, but Ubuntu makes it all too simple. There's something about it that I just don't like. Something that reeks of Microsoft's 'user-friendly' OS.

So when I started using openSUSE again, I was pleasantly surprised. I expected to get the same feeling of mind-numbing easiness from Novell's distro. But I didn't. Even though I (almost) never once had to open a terminal, it didn't feel too 'hand-holding'. I don't know what's different, but I just know something definitely is.

Excellent Community Support

Let's face it. Ubuntu has /the/ best Linux community. Although I've found Arch's forums and wiki extremely helpful, I still think Ubuntu's forum community is the most friendly, helpful community I've gone to help for. It may just be nostalgia kicking in from all those times in my Linux newbie days running to them for help whenever X decided to shut down or Ubuntu wouldn't boot. But I don't care - in my mind, they are the best.

And I think that every Linux distro community should follow their example. While it's true that every forum will have some real idiots, I've found that the Ubuntu forum has the least of them. They're the only forum I've gone to where I almost always receive help. On others, my posts are usually ignored (and no, it's not because I might be coming off as a whiny arrogant jerk :P). I think it's because Ubuntu is the most popular Linux distro, so that's where most people go to get help, and thus, where most people are to give help.

Conclusion

And that's really about all I can think of, at the moment (in no particular order). In a nutshell, my ideal distribution has:

  • The latest 'bleeding-edge' software
  • No packages modified for 'legal' reasons, 'restricted' packages available and easily installable
  • Excellent out-of-the-box hardware support
  • Minimal install - only what's default and required
  • Equal effort put into all available distro flavours (specifically, KDE, GNOME)
  • Easy to use, but not 'brainless'
  • Helpful, friendly community
If anyone has any recommendations as to what distro fits my description, or wants to add any thoughts, please feel free to do so in the comments. I'm all up for arguing my points, as well; just no flame wars. ;)

Also, I'd like to apologize for the length - I didn't notice it until later. :P

2 comments:

-MB said...

Two Words, yum install.

Vertimyst™ said...

Oh, a comment. I didn't think I'd be getting any of those on this old post. :P

What issue are you addressing, though? And on what distro? I know yum essentially allows for quick installation of packages, but 'yum install' doesn't really say much other than that. :P