On (not) reinventing the wheel

I used to dual-boot Moblin and Fedora on my old netbook — but when I had it replaced due to battery and SSD failures, I stopped doing it on the new netbook, instead exclusively booting Fedora, and relegating MeeGo to a USB stick with persistent overlay. Thankfully, MeeGo’s image creation tool (mic2) is derived from Fedora’s livecd-tools, so I can simply use the latter to burn the MeeGo image to USB with overlay, without messing with the image by hand.

(as an aside, the only way to flash an image to a partition, instead of wiping the entire disk, is using Fedora’s tool, and by extension MeeGo’s — but with the latter, only if one used the Fedora-derived command-line tool, mic-livecd-iso-to-disk instead of the recommended ones)

There are several reasons for this, in no particular order:

Storage

Moblin supports ext3 but not ext4; MeeGo adds btrfs to this mix but there’s still no ext4 support. I buy the rationale that ext4 is the SVN of file systems, and that we’ll eventually all migrate to btrfs anyway. But on the other hand, btrfs is not quite there yet — I switched back to ext4 after the SSD failure, when I realized that btrfsck does not yet handle bad sectors properly, unlike e2fsck. With other Linux distributions increasingly switching to ext4 — which can be easily migrated to btrfs later on — the trade-off (slight disk usage increase vs easy access to other Linux partitions) is surely in favour of supporting ext4.

Moblin/MeeGo also does not support LVM, which is used by default by Fedora’s installer, but this is a minor issue — someone deciding to use MeeGo and Fedora can just partition the disk without using LVM.

connman vs NetworkManager

I used to be agnostic as to how my network connections are configured — as long as it just works. This is why my new netbook is a Sony — because unlike other vendors (shame on you, especially, Dell) it does not use a Broadcom WLAN chip with a proprietary, badly-documented, buggy Linux driver (shame on you, Canonical, for helping develop it if only had Canonical put its considerable weight to getting specs and firmware released). Instead, it has a nice Atheros chip.

The same is true when it comes to the software stack. At the beginning I did not pay much attention to the connman vs NetworkManager controversy — prior to version 0.7, NetworkManager had its warts, and connman happened to work just fine on the home wireless networks I tried. This changed when I try connecting to a work network that uses 802.1X security. The MeeGo GUI does not support this, and the developers don’t consider this important at all. The command-line tool is badly documented — documentation is non-existent — and throw cryptic error messages. Makes one wish Java-style checked exception is more widely used; that way, at least developers have to *think* about the exception propagation, instead of just exposing them by neglect to the users.

GNOME 3.0, Fedora MeeGo stack

Fedora 13 already comes with a preview of GNOME 3.0’s shell, and work is in progress on having  MeeGo available. There are some annoying integration issues — the network-manager-netbook applet that integrates the Moblin/MeeGo desktop with NetworkManager is not as well supported as the default connman-based applet, and MeeGo’s window manager has some incompatible modifications that has not been merged back upstream. But, like NetworkManager’s Dan Williams, I believe that the way to improve the Linux desktop is to improve the existing tools that work across all sorts of devices, rather than reinventing them to solely target mobile devices, and in the process having to solve the same technical issues over and over again.

9 responses to “On (not) reinventing the wheel

  1. “it does not use a Broadcom WLAN chip with a proprietary, badly-documented, buggy Linux driver (shame on you, Canonical, for helping develop it)”

    What makes you think that Canonical helped the development of the Broadcom driver?

    We simply packaged it and patched the open part when it wasn’t compatible with our kernels. As far as I know we weren’t involved in the development of that driver.

    • I stand corrected — Dell and Canonical only prodded Broadcom to release the driver. http://ubuntuforums.org/showthread.php?t=881903&page=2

      So I guess the question is whether the same amount of prodding could have been better spent asking for specs. Support for Atheros chipsets were poor in the past too, but in the end an arrangement was made in which some OSS developers sign NDAs and were allowed to see technical details, from which they improve the open source drivers.

      The Broadcom experience led me to distrust Dell’s Linux line — one can no longer get a machine that ships with Linux, and assume the hardware is fully supported by open-source drivers. And worse, Dell seems to now be extending the practice employed in their Mini line of not offering any alternative WiFi adapters. Sad, considering I obtained an Intel 5100 for only $25.

    • Why not? The only proprietary technology on the laptop is its Memory Stick reader (which should also work on Linux; have not tried it yet). I stay away from Sony’s higher-end lines, and try to avoid their music and movie products, but their low-end Vaios are really decent Linux machines.

      And nowadays I’d say Sony is preferable than Apple. The situation there is reversed, actually — after Jobs’ control-freak outbursts over the iOS, I still use Apple’s OSS software (LLVM, WebKit, CUPS) but am boycotting their hardware completely.

      • Yeah, maybe preferable to Apple, but that isn’t saying much. I avoid both of them. Sony had the Sony/BMG rootkit thing, and they are always pushing there own media formats – Betamax, Mini Disk, Memory stick, Blu-Ray. And just a general anti-customer attitude. I guess you could consider their businesses separately, but the blanket avoidance has worked for me.

      • I understand your preference — right now, though, there’s not many vendor that ships netbooks in Europe with

        a) HD screen
        b) Broadcom-free design (no heat-producing video accelerator, no bcm wifi)
        c) Intel video
        d) decent online store with product customization

        Getting free engraving is a nice touch too.

  2. Hi Read with interest. I am switching constantly between Meego Ubuntu and Moblin. I must say I still prefer Moblin although obviously Meego is newer. The Broadcom wifi is easy enough in moblin and ubuntu to sort but a little more of a pain in Meego. Seeing as you like fedora so much why don’t you try their moblin spin?

    • Broadcom is easy enough in Moblin (and presumably Meego), and even in Fedora, but the driver itself used to be very buggy — does not matter where you get it from. At my previous workplace, attempting to connect with the version of the Broadcom driver that is current at the time, it simply locked up the kernel solid. And naturally, the driver came with no documentation — no release notes, etc. — that it took a while after the bug was reported that the RPMfusion (i.e. Fedora add-on repo) packager could verify that it’s fixed. By that time I’ve already replaced the card with an Intel 5100.

      I help out with the Moblin (soon MeeGo) spin, but there are several choices that upstream made that unfortunately makes it harder to use on top of a general-purpose Linux:

      • ConnMan has poor support for 802.1X wifi. openSUSE and Fedora ships network-manager-netbook instead, but it tends to lag behind the latest NetworkManager, that Fedora normally ships. It’s currently broken in our Rawhide tree, for example, due to interface changes from NM 0.8.0 -> NM 0.8.1
      • MeeGo forked the mutter compositing window manager, and I use gnome-shell as my primary desktop, which relies on the official mutter release. We’re in wait-and-see mode to see if the issue will be resolved by the time we stabilize for the next release — supposedly upstream will make it parallel installable

      I like the look-and-feel of MeeGo better than Moblin, actually — with the latter, the scrollbars and some of the buttons just look too … toy-ish.