As I’ve noted recently, I’m in the process of migrating the Computational Journalism Server towards a full Platform as a Service offering. To that end, my development environments now run the three major Linux community desktops – Ubuntu, openSUSE and Fedora. I’m writing a bunch of convenience scripts so I can operate them all in a similar matter, and I run all three distros with the GNOME 3 GNOME shell.
This week, I upgraded from the stable Fedora 16 to the beta Fedora 17. For a beta, Fedora 17 is remarkably stable. There were no major issues with either of my machines, unlike Ubuntu 12.04 LTS, which required some video hacking to run on my workstation. The desktop, like previous Fedora desktops, is mostly standard GNOME issue, unlike Ubuntu’s.
I still prefer openSUSE green to Fedora blue, but that’s easily changed. In short, if I wanted to, I could make this my main desktop rather than openSUSE without a major learning curve or intensive customization. I couldn’t do that on Ubuntu, even using Ubuntu’s GNOME 3 GNOME shell.
On the laptop, Ubuntu and openSUSE both support “powertop” and “cpupower” / “cpufrequtils” for managing the processor frequency. Fedora has “powertop” but I couldn’t find a tool to set the power governors and ended up writing a Perl script to do that on Fedora. Neither Ubuntu nor Fedora appears to have a comprehensive system configuration GUI tool set like the one openSUSE provides with YaST2.
That’s not necessarily a bad thing on servers, since that’s usually done by editing configuration files and running command-line tools. Still, there are thousands of annoying differences in what configuration files are called and where they live among the three distributions. Fedora’s tools in the “system-config-*” packages are better than anything I could find in Ubuntu.
Moving on to documentation, I’d rate Fedora the highest among the three. For example, this page clearly documents what you need to do to run OpenStack Essex on Fedora 17. I couldn’t find anything for Essex on openSUSE at all, and Ubuntu’s documentation was written by a third party, not the Ubuntu community. For where I am now in the Computational Journalism Server project, documentation is more important than anything except underlying operating-system-level quality.
As far as I’m concerned, all three distributions are solid under the hood. They all track security isses and issue bug fixes promptly, they all run on reasonable hardware configurations without much hassle, they all appear to have solid communities and solid financial backing.Under the hood, Linux is Linux is Linux.
But on the developer’s desktop, it’s the little things that matter. Ubuntu’s “consumer-oriented” Unity desktop put me off instantly. Even when I installed GNOME shell to get my preferred desktop, the color scheme was annoying and the workflow wasn’t as smooth as it is with openSUSE and Fedora. That puts Ubuntu at the bottom.
Overall, I’d rate Fedora 17 slightly better than the current stable openSUSE, 12.1. There’s more software packaged in the Fedora base, including some of the CRAN library packages for R. The documentation is better on Fedora, but the system administration GUI tools are better on openSUSE.
Will I switch? That’s a tough call. openSUSE isn’t standing still; there’s a beta of 12.2 scheduled for release the same week as Fedora 17 stable. If Fedora has anything like SUSE Studio or openSUSE Build Service, I haven’t found it. So most likely I’ll blow away the Ubuntu partitions and start testing openSUSE 12.2 beta. Still, Fedora 17 is a solid working Linux desktop and I’ll be using it more as time passes.