Systemd in GNOME, PackageKit and what GNOME as an OS really means

Is the sky is falling? Is GNOME going Linux only?

recent proposal be PulseAudio and systemd lead developer Lennart Poettering to add systemd raised concerns that GNOME might drop support for non-Linux platforms.

Rest assure this is not the aim. Lennart in follow ups to his proposal explains that systemd could be separated into a core set of interfaces which could take replacement backends that support e.g. FreeBSD so long as it implements the interfaces systemd cares about or as it was their init system. What Lennart doesn’t want is a lot of additional code in systemd as it is today to support these platforms as one of the main advantages is the simplicity and elegance obtained by relying on the functionality presented by Linux.

Why should we care about what systemd cares about?

Because systemd gives us a powerful set of tools to improve the user experience along the improvements promised and shown in performance and standardization (read Lennarts excellent series explaining systemd on his blog). With systemd we can replace some core functionality such as ConsoleKit which would allow for a smoother multi user experience.

Solving simple problems such as setting the pretty host name that gives your machine identity. Systemd strives to allow this now by standardizing on such things as where this data is stored and it what format. Fundamental assumptions about the system that will benefit the user experience.

Systemd goes beyond that, it’s interfaces provides us a set of information and functionality which we can use to make GNOME more user friendly. E.g. systemd lets us provide a smooth experience via it’s control group tracking of all processes. This allows balancing of CPU (and likely also IO) resources between applications making a system slow down more graceful and the overall experience smoother. This tracking also allows GNOME precise knowledge of these processes. data which might be used for improvements in how gnome-shell displays information to the user.

Shouldn’t we wait depending on systemd till other platforms are supported somehow?

In honesty, resources are scarce and the truth is that the vast majority of developers and users of GNOME are on Linux. We have a reference implementation now on that most used platform and replying on it’s interfaces would allow us to provide a superior user experience both short term and long term. Depending on ystemd only means depending on its interfaces and competing kernels can init systems could very well provide these interfaces as well. That effort is though on their shoulders but with apparent willingness to cooperate.

How this is analog to PackageKit longterm

Many people misunderstand PackageKit, mostly I suspect because they have had poor experiences with the default PackageKit user experience. PackageKit is not about these tools, PackageKit is about defining a common interface to talk to the package manager. This allows e.g. integration so that the system is requested to install support for missing formats if it is available. Common examples of these situations would be missing compression formats like .rar, missing codec support such as .mp3.

It is not about .deb vs. rpm, nor yum vs. apt-get!

PackageKit like systemd exist precisely to avoid those fights. The existing tools and package repos are excellent, what we care about is not replacing them but working with them in a consistent fashion. In PackageKit every package manager implements a backend which supports a common interface. In the same way that depending on systemd allows the assumption of a common set interfaces which can be used to enhance the user experience. There should be nothing technically baring an analog solution for systemd as what PackageKit has for separated backends.

But the PackageKit user interfaces are still ugly David!

That is true and it is widely agreed that the Ubuntu Software Center is a superb experience. It currently works not using apt-get directly but using an incompatible PackageKit fork aptdeamon. Porting this to PackageKit is being undertaken by Alex Eftimie under Google’s Summer of Code 2011 so fear not you shall have the same experience as always, and it will be available on any GNOME platform. Naturally depending on completeness of PackageKit backend and existence, though most major distributions are covered to some degree.

Ubuntu’s other tools such as the update experience are also aptdeamon tools and could be ported. My personal feeling would be that the better investment of resources would not be specifying GNOME3 stories for upgrades and updates in additions to the stories already told by PackageKit.

PackageKit and systemd are slow!

And I postulate to all that slow is a bug. In the case of systemd one of benefits should be performance an Lennart is already matching an Ubuntu Upstart powered 10 second boot. As I understand with patches to a standard Fedora 15 install and no LVM as I understand. PackageKit might have hard problems to solve to match what aptdeamon gives Ubuntu in terms of performance and certain features but Richard Hughes has shamed concerns before with actual hacking. I would trust him to solve this problem long term and reap the benefits of being allowed the assumptions PackageKit gives GNOME now.

GNOME as an OS is (partly) about interfaces, not defining a Linux only desktop that runs only on Thursdays if the window is open

Interfaces like PackageKit and systemd allow GNOME to solve problems and provide real improvements to the experience. The sad side effect of leveraging what the vast majority of GNOME users already have in Linux is short term that GNOME will be Linux only. Long term it is up to the competition to provide the same interfaces. This is no different than depending on Tracker or GTK+, these needed tools which provide the interfaces we need might not run on a given platform. Given resource constraints it must sadly fall upon these platforms to contribute in providing those required interfaces.

An adventure in Open Source contribution

I’m now officially a contributor to Banshee.

While I have done a lot of advocacy work and packaging, this is my first ever proper code contribution to Open Source. Coding as such never really excited me and as a result it has been some 5 or 6 years since I last sat down to understand and work on significant code. Even then I never really got deep into programming as specification and design always was more fun to me than implementation.

It all started when a friend buzzed me a presentation by Anders Hejlsberg titled The Future of C#. While I haven’t done much with .NET I have always been impressed by it as technology and I was eager to learn of what new tools would come in the future. Naturally the talk was also attractive to me because one of the features Anders demos (Compiler as a Service) as a coming post 4.0 release feature is in Mono today, something I always like to think about when people say that Mono forever will be “chasing the dragon”. Regardless, the talk got me excited about coding and was extremely entertaining to boot. So I wanted to try something, anything, and since I like Banshee but also see it crashing and being slow a lot as a daily stress tester and bug filer I decided to subject it to experimentation.

In comes the magic of .NET, Mono, and Ubuntu. In Ubuntu I found all the tools I needed, namely MonoDevelop, mono-tools and finally Gendarme. Gendarme is a really cool project that can inspect assemblies and executables according to a set of rules for such things as security, performance and even bad practices. So I decided to run Gendarme on then content of /usr/lib/banshee-1 expecting to see a few hits and probably a lot of false positives. However Gendarme returned more than 8800 issues even on medium settings, so I limited my focus to just the performance rules set.

Gendarmes issue reports have excellent documentation with examples of bad and good code as well as careful explanations, making it easy to pick a simple problem such as the one addressed with my patch. In this case we now determine these variables at compile time rather than at link time which is faster. It is safe to do and doesn’t break external assemblies as the fields are not shown outside. All of which was explained by Gendarme and confirmed on the Banshee IRC channel. Gendarme even explained how to fix the issue, it could not be easier. Bertrand Lorentz was kind enough to sign off the patch and commit it within minutes. As an example the Gendarme article on the issue type my fix addresses can be found here.

Regardless, that was yesterday. Today my Banshee is once again back to being a git build by hand which with the excellent Banshee daily repo hasn’t been required since I stopped contributing to Fedora. The reason is simple, I needed to compile test some more changes as I was reading the Banshee source code and learning. With friendly hints from the existing developer base also growing some basic understanding of what is going on.

Contribution is easy, zero to sixty even, with Mono and Banshee.

Paying for software and supporting Open Source

I am getting a little tired of the accusation getting levelled at me when debating with the anti-Mono crowd that I don’t support Freedom and that I am destroying Linux. I even once got accused of taking a paycheck from Microsoft and/or Novell, but to be clear neither company has ever paid me a dime for any work, in fact no technology company has ever given me a salery. I have taken gifts in return for work, e.g. Novell kindly gave me a copy of OpenSuSE 11.1 and a t-shirt for some bug reporting.

While this types of claims are entirely baseless slanter I think now is the time to come out and say that I love freedom. I love freedom so much that not only have I used Linux for more than a decade as my sole OS but I actively donate to projects and people that benefit our ecosystem.

I am a dues paying member of the EFF, I am a dues paying Friend of GNOME. I preordered the Yo! Frankie game to support open game development even though I never actually got around to playing it but it seemed like a very important missing piece in Open Source to cover high quality open gaming and show that it cam be done with full transparency.

When Richard Hughes asked for money to buy a color calibration thingy, even though I likely have no need for the work he will be doing using it I donated. Richard has donated much of his considerable talent, time and effort to projects such as gnome-power-manager and PackageKit, work for which I am grateful every day and he deserves my gratitude in the ways I can show it and my thanks for improving Linux.

Likewise I am a customer wth Fluendo, not because I feel I have to get around software patents since they are not currently legal in Denmark. However I feel as a software tester that I should test not just the solutions that are kindly available to me but those I advocate less fortunate people to examine. That being said I have actually found the Fluendo codec pack to solve issues present in the open solutions and having a working DVD player is great. I don’t especially enjoy the proprietary nature of these products but I know that much of the money I pay Fluendo will be put directly back into GStreamer development and advocacy for Open Formats.

On the open content side I make sure to buy documentaries and movies such as Sita Sings the Blues, Good Copy Bad Copy and the Piracy Documentary. I also have just signed up for a membership with Magnatune to support their fine service (about which I have have ranted previously).

Most important to me personally though is the time I put into bug reporting and following Linux every day.

All of this can of course be documented, but really it shouldn’t have to be. The accusation that I am destroying Linux is lowbrow attack which is beneath any reasonable argument. Consider this what should be a completely unneeded rebuttal to such claims.

So I ask you, what have you done for Open Source lately. Do you merely rant and leech or do you support with actions, words and wallet when you can?

Call of Nouveau testing reply

Christopher James Halse Rogers asked. I thought I would answer in video format (Blip.tv – Flash warning).

A full resolution Ogg Theora file is also available thanks to the awesome blip.tv here.

Also glad to see OMG UBuntu! not only picked up my first video demoing a few of Banshee 1.5.5′a features but also my discovery in the Banshee Community Extensions that UBuntu Mono maintainer and part time superhero Jo Shields is working on an Ubuntu One Music Store Extension for Banshee and in an additional lavishing of much deserved attention to the Banshee project they reported on the merging of the exciting Grid View branch.

Dear Canonical

Dear Canonical,

Let me start out by saying this, I am in no way opposed to you turning a profit. However I believe your recent actions, including but not limited to the Canonical-Yahoo! revenue sharing agreement (henceforth: YahooGate), are hurting Ubuntu and the Ubuntu community.

We can both I hope agree that Ubuntu is marketed as a community project and that was it not for the community Canonical today wouldn’t be where it was. Likewise without Canonical there would be no Ubuntu, you are valued community members and valued sponsors. However I feel that YahooGate shows that you are now willing to go around the community and enforce changes without debating or even proposing these changes to the community ahead of time. We were not asked if there was an interest in entering into such deals, and if so how such changes should be rolled out, let alone limited. You acted like bad community members and that cannot be allowed to happen.

As community members, it is our duty to hold you accountable, to keep you honest. Likewise I would see it as Canonicals duty to hold the community accountable to it’s actions. In that spirit I will quote the part of your own governance charter which I feel was infringed upon as a result of your dealings in YahooGate.

2. ensure that decisions regarding the Ubuntu distribution and community are taken in a fair and transparent fashion,

As you will agree I hope, you announced this change unilaterally without first discussing it in any way or form. As a result here of you cannot claim that the governance charter item 3 can be considered in effect.

3. ensure that necessary decisions are actually taken, even when there is no clear consensus amongst the community.

If we are not consulted we do not know there to be a situation we might need to take a stance on, we cannot make a fully informed decision and we cannot uphold our duty to keep Ubuntu on the path to creating the best possible experience for users.

I ask you to consider that one of the many things users might flee from in the Windows world is preinstalled trialware and other sponsored changes to the defaults, a problem so great that chains like Best Buy have started offering dubious additional fees to “optimize” machines prior to delivery, a service that effectively is comprised of removing all of these additional programs (programs the OEM, like you, make money installing) and resetting defaults. We should avoid at all costs to end up in this situation, this is why I feel that only technically grounded arguments should be valid in determining the defaults in Ubuntu. The aim should be to create a truly pleasant and enjoyable experience, that in itself I believe will prove to be a larger generator of income than any such deal might.

You have entirely failed to present a case for how this change benefits the Ubuntu user experience and in the process have also set a dangerous presidence. What defaults in Ubuntu are for sale and at what price, clearly as long as the user remains with the choice to replace any such default you can put a suitable price on any default. If not where would you define the limit? Going past any technical argument, any argument for the general benefit of the user. E.g. could I offer to pay you a one time fee to make Banshee the default mediaplayer e.g. and in that case, where would that price lie. Not that I intend to pay you but I would be interested in just how big my wallet has to be to have a voice in Ubuntu because clearly being a long time contributor isn’t enough to even get asked about the general guidelines in such cases despite the governance charter.

Then there is the problem of how this is being intended rolled out to users. I gather from the information you have released that you do not see a problem with your plan to also apply this change to upgrades not just new installs. There also has been no mention so far of any user notification at all, I would at least present the user with the information as to why this change was made and a guided way to change the default back. Here I would suggest looking at what Google does with Chrome and Chromium on the first launch. This would be sufficient I think to let the user be able to make an informed decision.

Finally there is the problem of transparency, you say that the income generated from this deal would go towards paying for open development of Ubuntu and the Ubuntu Platform. Given this premise would you be wiling to open your books and let the users see that you uphold your word and put the income you generate from this into Ubuntu?

I am not entirely opposed to this kind of deal however I believe the community and Canonical need to agree upon a set of general guidelines for areas where this would be acceptable and where it wouldn’t be. There would be a need for full transparency in this cases and the user would have to be presented with the option of making an informed decision whenever Canonical has made a change to fiancially benefit themselves to support it or not. This transparency would need to extend to the accounting, if we cannot see that the promised benefit of these deals reaches the Ubuntu user we will be forced to assume that you are hiding something.

If you expect something from us, you have to give us something in return, in this case a voice. I think the community has earned that much. Till you do so and apologize for your handling of YahooGate I will personally pledge to cease doing support, filing and working on bugs as well as promoting Ubuntu. I wish you good luck in the future.

On a personal note, I hope you will do the honorable thing and politely break off the deal with Yahoo! before sitting down with your community of contributors and working on this details. I hope you will alay the fears that this might continue to be a distraction from creating the best possible desktop experience available to mankind. I hope you will show that you despite your actions respect your contributors, that you will affirm that community is more to you than a word, that this relationship we have in order for us both to flurish needs to be a cooperative symbiotic in nature. Right now your actions speak for themselves.

I would also like to extend my apologies to Yahoo!, I have no bad feelings towards your search engine, I do however currently find it technically an inferior choice for my needs as well as those users I have the honor of working with or helping. I do not believe it to be in the best interest of Ubuntu to default to your service currently. I hope you can work on that and propose the change on pure technical grounds one day, at which point I will be happy to support your move without any need to buy your way into Ubuntu. I bear no ill will towards you but I also know that certain members of the community has been calling you names and accusing you of having impure motives to entering in this deal. I see no evidence that this is the case and in the interest of goodwill and honesty I distance myself from such reprehensible behavior. I wish you good luck in the future and hope to be able to find common ground to work with you on in the future that will benefit us both.

Sincerely,
David Nielsen, a disappointed Ubuntu contributor.

When Ubuntu hates upstream

Sometimes Ubuntu pisses me off, like the time they let an aMSN bug that crippled webcam support with a patch linger for several months, sadly now they are at it again.

Banshee 1.4.3 went out of the door with an embarrassing bug in the cover art plugin that made it take up 100% CPU, these things happen. The bug was quickly fixed and a patch was issued, there was however not a follow up .1 release for this problem and development went on for months in the 1.5.x branch instead. This means distributors still carry 1.4.3 as there is no 1.6 stable release yet. Most distributions love upstream and do not want to see their mailing lists flooded with tons of complaining users, they also want to make software look good so they apply the patch when asked politely… but not Ubuntu.

6 months, 4 days and counting, has gotten us what? Instructions on how to use Launchpad better but no patched builds.

I’m not dead

Some friends have started wondering why I stopped blogging. It’s not that I ran out of things to talk about, in fact recently outside starting a blog to talk about one of my other great passions pen and paper roleplaying (check out Pawn your wand), I have also been spending a bit of effort looking at gnome-shell. So far impressions of both the design reasoning and the application itself are utterly poor. But every time I sit down to write, the anger swells up inside me over the whole anti-mono crusade which is going on and I am tempted to add my say to the debate, yet I know that no matter how often the lies and slander of the anti-mono crowd is pointed out the very same points will return days later. It is like debating creationists, something long years experience has told me I do not have the stomach to do.

So I have spend time focusing on things I do like, I have been playing with Moblin (more on this later I promise), I have finally settled on a distribution – Ubuntu though part of me really wants to use openSUSE I just can’t get over their horrible  yast thingy and all this multiple repos which always seem to be poorly managed and in constant conflict. I also looked at Foresight, and was invited to join the team but Foresight just doesn’t deliver the integrated computing experience I have come to enjoy. E.g. why should I need to manually unlock the keyring upon login (btw. openSUSE you are guilty here as well). Aside that Foresight is very nice, just bear with Conary for being slow and instead spend your, lenghty, upgrade lounging in their IRC channel and you will discover the side that really sells Foresight. They have the nicest developers of any distro out there, always ready to help and to randomly shoot the breeze. I suspect superior tools gives you that calm edge and really I do want me some of that.

The one thing I dislike about Ubuntu is that they above all suffer from extreme cases of not invented here. They have their own bugtracker implementation (which makes me want to pull my hair out), they reject existing technologies such as plymouth and then go ahead and announcement their own basic reinvention of rhgb. They reject PackageKit and again write their own aptdaemon. It feels very much like they are positioning themselves intentionally to be as incompatible with other distros thus creating a lockin which is put mildly extremely uncool. I do love pkg-mono though, they know their stuff and are very helpful. In the end the presentation Ubuntu gives users is probably also the best we have to offer on a general desktop, there are still gapping holes to be filled but it’s a solid offering for which they should get praise.

A little more time with Ubuntu

In the quest for the perfect Linux for me, I decided to give Ubuntu a longer bit of time on my setup. This lead up largely to the weeks till the release of 9.04 meaning it is the latest Ubuntu has to offer.

Ubuntu has a very solidly frozen release which kinda bothers me since I either have to apply an unsupported PPA external repo to get the version of software upstream supports. This is the case for things like Banshee e.g.. In addition Ubuntu does not seem very willing to adopt software early which means that 9.04 ships with the older 0.9.14 version of Pulseaudio, which is a shame since 0.9.15 definitely is an improvement and finally lets me set up 5.1 (though still only analog). Again I can enable a PPA but that leads to a support nightmare (and breaks the awesomeness that is Apport) which I am not really prepared to bestove on anyone having worked with supporting users myself I know that I always like them to be in the most vanilla state I can get them to lessen my burden. This is a larger problem though of what to do with regards to the balance between a static release with updates and a rolling release. I do not believe this to be an easy problem ti solve but making people rely on PPAs to get important updates to X drivers and leaf applications like Banshee is not a good way to solve it from a QA point of view. What is, seems a huge problem space which would be interesting to explore.

There are also some really annoying moments, mostly when dealing with the package manager. I really miss an up to date PackageKit 0.4.x and interacting with apt-get or dpkg from the commandline just doesn’t feel as natural as using yum or rpm. The output of yum e.g. is very clean and easy to follow as is the out of rpm. In contrast dpkg has multiple lines of jibberish which one has to dig into to find simple information like version numbers for filing a bug report. I really think the time is approaching rapidly to have dpkg put down and radically redesigned, things like debhelper are especially poor designs for the target audience Ubuntu has. If you default to a situation where asking questions during the installation of updates you have failed. My metric for this is normally how quickly my mother would call upon me screaming “IT’S SAYING SOMETHING AGAIN!!! HELP”. Aside that dpkg is extremely frail for some reason, it falls over and gets it database corrupted quite quickly and unlike with rpm the recovery has not be easily discoverable (rm -rf /var/lib/rpm/__db.00* && rpmdb –rebuilddb normally takes care of it). It lacks some nice modern functionality like rollbacks and delta downloads, sadly it does’t look like it will gain them anytime soon either. I am concerned that I have yet to see a clear sign of commitment to PackageKit from Ubuntu, they don’t have the latest version and despite being marked as “in process for Jaunty” we still do not have it by default in any capacity.

I hate the fact that I can’t delete everything relating to gimp and openoffice without also losing my danish translations for everything else. Yes I know OpenOffice has features like a presentor that GNOME office does not have but AbiWord does just fine for me, it’s pretty, quick and very stable. I should be able to remove all those useless help files from OpenOffice as well. Minor nitpick I know but it seems that Ubuntu isn’t very flexible when it comes to changing these applications.

The Mono stack works beautifully, documentation is generated for everything and the coverage is near spotless (all I lack is Monsoon). You are given a full MonoDevelop stack. It’s truly a thing to behold how well kept it is and how much work has gone into making it the best Mono stack around. Additionally the excellent debian/ubuntu Mono team has done some impressive work cutting down the size of applications by removing Mono 1.x functionality meaning that now Banshee and all it’s dependencies take up less space on the CD than rhythmbox. I find this especially interesting as one of the, fallacious, accusations I got when proposing Banshee as the default media player in Fedora was that I disregarded the space contraints and I suggested just this solution to meet the requirement along with splitting out debug information. I am happy to see that it paid off for them and I hope that the patches will be broken out and pushed upstream where possible, also so other distros might benefit that they become available in something other than dpkgs default horrid one mega pseudo patch per package format. Truly masterful, and I get moonlight in the repos as well which rocks my rationale mind.

The desktop itself has some nice tweaks, I like the idea of using the fast user switching applet to do presence and to handle the logout/halt/suspend/hibernate scenerios. I just wish they did that work upstream so that everyone would benefit from looking at the design and applying. It is though a very nice idea and it works really well with Empathy. I do lack the option to set some predefined custom states such as “Having dinner” and such. There is the risk of growing this list very long if one was to do this though.

I hate Launchpad marginally less now, I still think that it is confusing and dead hard to use but somehow work gets done. It needs to be orders of magnitude easier to use before I beats bugzilla though. In the same sense I really miss an easy overview on a per package basis of all the bugs, like bugz.fedoraproject.org/<packagename>. It makes it much easier to do what I love, namely breaking software and triaging bugs, in an effective manner.

Suspend just works… most of the time, I have gotten the system into a state where the network driver never regained life and other little wringles but overall it is the first time I have seen suspend work consistently on this laptop. I hope the same is the case for other people so that one day we might rely universally on this technology to suspend machines when they are idle. If wake up could be made really quick perhaps a system as envisioned by OLPC that would suspend the machine while reading a website might be a viable future for us all.

I am still not sold on the per home directory encryption and it does worry me that I have yet to see any evaluation of this technology by a 3rd party security expert for flaws. It is appealing to have security that does not require every user of a machine to know the master password to boot it yet still have the advantage of knowing that while you are not logged in your data remains safe. It also does not encumber boot nor imparts the performance overhead to system binaries that full disk encryption would do, which is another appealing idea. I would like to have a more informed opinion on the design before I judging one way or the other. It worries me that I have not been able to find a wiki page listing the known weaknesses in this approach, it is not enabled by default but it would still be nice to be able to look up more information. Personally since my laptop is used only by me, I used the alternative CD to install and used dm-crypt, then added this on top, mostly “because I could”, surprisingly the performance overhead of doing this was very low. I think what worries me is that it seems like such a finely pick solution that does the best from a user point of view that it really has to have problems from a security point of view – experience tells most people that when sounds to good to be true, it very likely is.

A problem that seems to plague all Linux desktop right now on this laptop is that it takes very little to make it lock up for seconds or minutes. Audio stutters when the slightest load comes along. It didn’t used to do this but looking at the cpu scaling the slightest load seems to cause a problem where it instantly lowest the cpu speed to the lowest setting. I am currently unaware of what is going on and I don’t have another machine to confirm that it isn’t just this machine going tits up. Ubuntu sadly is affected as well, I won’t deduct them any points but it does make Linux as a desktop very painful on the whole.

Jaunty is an excellent desktop I would not hesitate to recommend it to people, out of the box you get a lot of very nice functionality and a very polished look and feel. It does somehow feel like it is the end of the line for the current Ubuntu desktop and that their experiments with new UI elements will have to lead to some major changes. Hopefully they will be able to pipe this into the GNOME 3 process in a standardized manner so to avoid basically forking the desktop.

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.