I would hate the idea of developing a product in the open, and then seeing a third party come along, take the source code, and sell the product as a proprietary app. I don’t care what you call that, I call it stealing.
For one, the original development - all that free and open hard work - was so that a third party could take that development after doing no hard work at all, and then make money off of it. And where does that leave the original app? Essentially, dead.
GNU/Linux is occasionally criticised for not having one - and only one - operating system, giving new GNU/Linux users an overwhelming amount of choice. Obviously, having one distribution would severely hurt the Linux community: do we use Portage or Yum, apt or zypper? Do we use KDE or GNOME? What are our thoughts on the importance of free and open source software?
It is questions like these which have spawned hundreds of distributions, and we don’t have to look far down the Distrowatch Top 100 distributions list to see the extremes of variation in the Linux world. If we had only one distribution, no matter how broad sweeping it were, it would disappoint corners of the Linux community. I’m sure I do not need to go into such concerns, such as source vs binary package management, having full control or having a workable system within 15 minutes, and so on.
Hence, we distro-hop. For those who are not familiar with the term, it is used mostly in Linux and BSD circles which means ‘switching rapidly between different distributions’, generally in search of the perfect operating system. Of course, perfection is subjective, and so distro-hoppers will continue to hop - sometimes between previously used operating systems again and again - to satisfy their immediate needs.
And that is the issue with distro-hopping: rarely enough thought goes into the implications of switching.
Let me bring my own examples into it. I went through Ubuntu -> Fedora -> openSUSE -> Sabayon -> (Gentoo -> Arch) x 10, and now I have remained on Gentoo. I spent less time on each operating system as time progressed, and up until recently I rapidly switched between Gentoo and Arch until I came to a conclusion of which distribution was better.
But all of that reformatting, reinstalling and relearning could have been avoided and condensed into one cycle. Here are some tips to keeping your distro-hopping safe:
Know when to settle down. Step outside! GNU/Linux, aside from all of its power, is also a great hobby. Hobbyists are perfectionists to varying degrees, but we do need the balance in life. Sometimes, it is healthy to remind ourselves that in the end, it is a distribution. If it does what you need it to do, do you really need to try the latest Sabayon Live CD? Do you really need to switch over to Arch just to use the latest GNOME 3.4, when you could end up hating it and longing for your old KDE set up?
Be wise about distro-hopping. Be safe. Know your limits, and have fun.
I thought it would be appropriate to shout out (quietly) what’s happening with my computer systems these days, including my preferences in desktop environment, operating system, and so on.
Operating Systems
When it comes to operating systems, obviously I’m a GNU/Linux guy. Yes, as much as I can’t stand how political GNU is - not to mention their god, Richard Stallman - they have a point about using GNU in the name: the majority of the system was implemented by GNU, and then the Linux kernel was put into place. Let’s not forget that without GNU, free software would never have been what it is today, so I feel like I owe that to them.
But I digress. GNU/Linux is a fantastic operating system, and the Linux kernel itself is very nice. It is well maintained and always kept up to date, and technologically - while I’m no kernel hacker by any shot - I’ve heard and read that the Linux kernel is one of the best designed kernels around.
In terms of stability, security and reliability, you really cannot look past Linux. I often see computer users laugh off Linux as a second-rate kernel, however, I’ve never seen a more frustrated group of computer users than those who shun (and have never properly used) Linux.
I also hear that the FreeBSD kernel - while I have never been able to use it due to hardware incompatibilities - is also a great choice, for many of the same reasons as Linux. Perhaps the only downside is the lack of support compared to Linux, but it does have its advantages too.
Distribution
This shouldn’t come as too much of a surprise: I love Gentoo Linux. It is the greatest GNU/Linux distribution I have ever used, let alone as an operating system in its own right. Some may see Gentoo Linux as an operating system for hackers, who constantly sit in front of their 46” dual monitors. This is not true. Gentoo Linux offers incredible benefits over other distributions, such as source package management, flexibility, stability and reliability. The user is in total control.
Source package management is very important. It allows you to strip out what you don’t want from the resulting binary, and keep only what you need. This results in faster, smaller applications.
But my favourite feature of Gentoo’s package management would have to be the way it sorts out dependencies. For example, let’s say I want to install Amarok, a music player for KDE. Depending on the profile you have set, Portage will automatically pull in all the media codecs you would require, without having to hunt down what you need. This may not seem like much, but in this day and age, when you install a music player and expect it to play without further installation and configuration required, this is a serious advantage.
Or take another example, such as the X.org Server. With Gentoo, I don’t have to manually and individually install each input driver and graphics driver that I require; Gentoo automatically pulls in what it needs, and all I have to do is emerge xorg-server. Gentoo does the rest. Simple.
Finally, the ability to control what goes into your kernel is one of the biggest drawcards for me. If it is something you aren’t interested in, then Gentoo really isn’t your distribution. But for people like me, it’s a definite positive. Of course, if manual kernel configuration isn’t something to phone home about, Gentoo offers an automatic kernel configurator, which sets up a kernel automatically, as you would expect.
Gentoo isn’t catered to the average user. Gentoo is not - on purpose - a beginner’s distribution, but at the same time it is not a distribution around just to be difficult. When you work with Gentoo, you learn Linux. And with that, you discover the full potential of your operating system. You can apply that knowledge virtually anywhere in the Linux world, and so it will always serve a purpose to you. But with Gentoo, you only get out what you put in. And by that, I mean knowledge of what you’re doing.
I have also used Arch Linux in the past, but I’ve always returned to Gentoo for the above reasons. And hence, I cannot recommend anything else but the Gentoo Linux operating system.
Desktop Environment
I find I swap around with this one on occasion, but I feel like I’m pretty set with KDE. I worked with GNOME 3 for a while, and it may be revolutionary, but after using it for five minutes I found myself asking, ‘is that it?’ I like to have a desktop environment that is feature packed without being cluttered, and so I really can’t look past KDE; it has always been something I have fallen back to. It is just generally better than GNOME. It doesn’t look like a smartphone interface, it doesn’t look like it was designed with crayons, it is a desktop environment radiating professionalism. And that is exactly what I want.
Deeper down, I prefer Qt to GTK+; it seems simpler, applications look much nicer, and it uses C++ by default (I really am a sucker for object-oriented programming).
Conclusion
So there you have it. To sum up, I love GNU/Linux, I love Gentoo, and I love KDE for its beautiful, professional and intuitive interface (not to mention a philosophical choice for its use of C++). If you have any comments, questions or objections, let me know! Hit ask at the top of this page.
[Jack Todaro]
I think every Gentoo user would have to admit to having a form of OCD to varying degrees, and I would have to be one of them; I go bonkers when I see a kernel symlink in eselect kernel list to a kernel I don’t even have installed anymore.
If you’re like me and you like to keep your computer clean - that is, every file is organised and categorised into appropriate directories, and there is no such thing as cruft on your Gentoo system - then thankfully there is an easy solution, as always with Gentoo.
<rant>
I apologise if the title offended you, but I’m just about fed up with wars between languages like C and C++ - that is what I feel to be the main focus of this article. Nevertheless, it applies to all language wars: Ruby vs Python vs Perl vs PHP, Java vs C++, C vs Go, etc.
Fighting even happens between widget toolkits, like GTK+ and Qt! It’s quite maddening. Let me begin briefly about the toolkits.
[Jack Todaro]
GNOME 3 tends to cop a lot of flak from the Linux community, and it’s no surprise since GNOME 3 is perhaps the most ambitious desktop project to ever surface in the Linux realm. If you read on here from time to time, you’ll notice that I am not the happiest user of GNOME 3, but I do keep up with their latest innovations. The most important thing is, GNOME is getting better.
GNOME 3.0 - it was a .0 release
Let me remind everyone of the wonderful development that was KDE 4.0 - I hope you picked up on my sarcasm there. Being totally new and rethought from the KDE 3.5 branch, this copped immense amounts of hate and backlash. Even the father of Linux, who had praised KDE and shunned GNOME in the past, moved to GNOME 2 after KDE 4.0 was released.
Setting Mozilla Firefox as the default browser in an Openbox environment is simple; you can do it from the Preferences pane.
But what if you’re a Webkit/V8 kind of person? Well, things are less obvious, because Chromium is unable to set itself as the default browser, because it needs to hook into a GNOME environment (if I were to be more specific, I think it needs GNOME Settings, but don’t quote me on that) to do that. Thankfully, there is a simple, one-lined solution:
In ~/.xinitrc:
# Put this at the top of your .xinitrc file - it must be before exec openbox-session:
export BROWSER=chromium
At least this works if you don’t use a graphical display manager to log in; I just use the startx command instead of extra, unnecessary frills.
A couple of years ago, the Linux world was a nice, quiet place. Developers listened to their users and adapted their products based on their feedback. GNOME was the status quo desktop environment; it was sleek, simple, and fun to use.
But all that changed when the GNOME developers wanted something new; a change for the sake of change. What came out was GNOME Shell with GNOME 3.
It was received extremely poorly by the vast majority of the Linux community - even to this day, some distributions refuse to offer it as ‘stable’, such as in Gentoo and FreeBSD. The father of Linux, Linus Torvalds, called it ‘an unholy mess’, and having the father of Linux criticise your desktop environment is like Thomas Edison criticising your light bulb.
There are some posts floating around the Internet at the moment about KDE dying. Most of it is just FUD, and some of it is really outlandish, but I have a higher chance of licking Redmond’s shoes than KDE dying.
KDE is my favourite looking desktop environment. Regular readers will know that I love to use Openbox on my laptop and on smaller screens, but for larger monitors and powerful systems, KDE is the only way for me. It has a very professional feel - in my opinion, much more professional than any gtk+ based desktop environments. KDE hides nothing from the user; he or she is in total control, and the interface is very sleek, modern and comfortable to use.
[Jack Todaro]
You may be a total Linux nut and want to get all of your non 31337 friendz onto Linux too, but if you’re a Gentoo user like myself, for some strange reason they don’t totally understand the awesomeness of being able to spend days in your office building an operating system almost from scratch, learning a CLI package management frontend’s syntax, and working out why Portage spits out errors about unsatisfied USE flags. Essentially, they would cry.
So we have to start off at something a little easier, until they become ultimate h4x0rs. Here’s my top three distributions I would recommend to a beginner.