a brief stop over in Ubuntu land
Once more we jump on the distro bus, this time to the land of brown and fanboys.
Contrary to what I have done before, I will start out by mentioning all the things I dislike about Ubuntu, this is to contrast with how little it takes to weight out a lot of bad.
Firstly I greatly dislike dpkg, mostly because it’s frail like a sickly 99 year old (note: my beloved grandmother is 93, and she bowls +200 points once a week as well as attending a weekly gymnastics class, she is a tough bird. Some old things are tough, dpkg is not). Twice during my testing I had managed to get the database in such a bad shape as to render the entire system for all practical purpose unrescuable by merely applying the daily Jaunt updates. This cannot happen, ever, it is unforgivable. Your packaging system does not need to be perfect but after as many years as dpkg has been deployed I would have expected it to be at least stable enough to not die on me completely. Secondly because of this annoying thing they call debconf, this is the highly annoying little program that pops up right in the middle of package installs and asks you technical questions, of a nature so scary it would force any regular user to call tech support or mindlessly press the yes button. This is not a good thing, additionally failure to address this issue means that the dpkg crowd have basically forked PackageKit into a project called aptdeamon which entirely defeats the purpose of PackageKit.
Second major pain point with Ubuntu is Launchpad, not only is this proprietary dongheap exceedingly hard to figure out how to use, but when a bug is maked as a duplicate – which thanks to the excellence that is apport happens several times a day during a development release. You get mail.. more mail than your average spammer can send out if he tried and there is no apparent way to turn it off. Launchpad just refuses to make the hurting stop, this is the primary reason to never use it really, it lets real bug resolving drown in duplication messages and users adding their +1 to bugs. The latter should clearly be a little counter or something which developers could use to gauge the number of affected users, bug messages are not intended for this. This leads developers to script replies asking for backtraces instead of reading the bugs, even when the request doesn’t concern a crash you get a request for a backtrace. The whole Ubuntu bug experience is exasperating to the point of wanting to throw oneself off a bridge, I have one bug that has had a fix posted for nearly 2 months, the fix is confirmed and will fix a major regression.. yet it has not been applied. As a maintainer you always should attempt to keep the bug count at zero, this lead to stress but if you take the responsibility for a piece of software you should also do so with regards to the bug reports. Failing to do that at least pay attention to bugs with patches, do a monthly run down, have bug templates, give users a sign you are paying attention. It could also be that I filed the bug wrong, it’s hard to tell since Launchpad is so unlike the common bugzilla everyone else uses and orders of magnitude more complicated to use.. who knows, regardless it is painful.
Thirdly, despite Shuttleworths pretty words on the matter, I just don’t see Ubuntu contributing much anywhere I care about. When they do development such as these new notifications (which are pretty I will grant you that) it seems like catheral development which is being thrown over the wall. It is very hard to figure out where if anywhere one can participate from the word go in these projects. I feels very closed and that is just not my idea of fun, I like getting my hands dirty with first looks, trying to find a way to break it or look at parts of the idea that have not yet been fully thought through.
Fourth, security. Ubuntu relies on an out of kernel solution called AppArmor instead of the in-kernel solution SELinux. I just don’t feel safe when the code I have to rely on every day to keep me safe doesn’t meet the standards of the kernel development community. Additionally patching the kernel for this very likely leads to bugs and a delay in getting important updates out. Then they have an encryption thing to create a Private directory in your home dir, however by design if I am correct this is readable by root so on any off the shelf Ubuntu box all I have to do to break it is boot the machine into single user mode. I was kinda hoping for something.. more.
Fifth, the community. I hate to say this, I hang out a lot on the Ubuntu Forums but it is very hard to have a technical debate with anyone there since it’s so infested with fanboys and people who purposefully keep themselves uninformed. On the other hand there is the development mailing lists which seem to have everything except developers, nobody throws out new ideas or gets people excited, it is in fact very hard to see how development is done or to have a look at where one would go. The image given off is that of development happening behind closed doors which is sad. There just simply doesn’t seem to be the kind of community I care about, there is all kinds of other types but none that involve a developer, some code and some great ideas being thrown around.
Sixth and final. On your start up of an Ubuntu desktop it literally begs you to install the nvidia driver if you have such a card with the words “There are things Free Software cannot do”. Free Software can do anything thank you very much, instead of helping us close the gaps of currently lacking functionality the elected solution feels some what like mockery. I also don’t see this software having a nice switch to say “No, I actually like kernel developers and have no interest in drowning them in pointless tainted reports and I wish you would solve the real problem, please don’t bother me again” and turn this off.
I shall refrain from pointing out that the Ubuntu implementation of PulseAudio is just inferior and causes popping, hissing and other nice things. This being worked on, and to be honest I have problems with audio on all distros so I will cut them slack, there are general issues and then issues specific to a distro. This is just a sign that audio really is due for a good whack with the collective bugfixing hammer and I am happy to see progress. It is sadly also one of the signs that Linux still has a long way to go to be really good for many use cases – good thing we have those walking boots on then.
Now the good stuff.
First and most important, Jo Shields. I have mentioned this guy before. He is fun, he is helpful and he makes the best maintained Mono stack run for my pleasure. He almost singlehandedly makes up for every single bad point I just mentioned. This is why they went first, to show just what makes the difference.
Secondly, supporrt for ARM as I have stated before I feel that supporting many architectures is important and a great way to get technical contributors as well as fixing bug all around for everyone. ARM is an important one to me.
Third, Apport. Apport is made of pure awesome and really helps close an important hole for bug reporting. So far as I know it still doesn’t catch crashers in Mono apps but it is an impressive tool that everyone should have. If Ubuntu gave the world anything truly great it is Apport, after they pioneered this now pretty much every distro have their own port of Apport or a separate but similar solution. The openSUSE people had a great apport presentation at FOSDEM 2009 which also compares similar solutions in other OSes which people should go watch.
Fouth, I like the artwork. No really I do. They managed to keep it consistently improving over a number of years, polishing it every cycle. While it is closing on it’s useful lifespan I so admire this as I have always found it frustratingly unprofessional to look at Fedora changing every 6 months and in my eyes not fundamentally improving over time. I am sure they will come up with a great look for the future, and polish it till it shines and starts the test of time. It is why you can always clearly make out an Ubuntu desktop, it is an important brand and I wish we all took this more seriously.
I really want to like Ubuntu but they make it so hard. It just feels opaque and undutily closed off from participation, what work is being done also feels like it is living it’s own life in Ubuntu world and never really leaves, this is especially true for translations which is sad as that is a great stepping stone for contributions. The tools are frustratingly hard to use correctly and everything seems to have need to be done in an Ubuntu specific way. It doesn’t feel so much as a Linux distro but a different world. Had it only been a utopian world of peace, cake and pink unicorns.. but no.