Monday, May 28, 2007

How Different Are Linux Distro's anyway?

In my years in software development since Linux has taken off in popularity enough to warrant commercial software vendors porting their wares to it, one thing I've seen vendors having trouble with is dealing with the massive number of different Linux flavours out there. Back when we were just Windows and Unix (commercial *nix's if you will), life was so much easier. The operating system vendors ensured that the releases were well defined so that we could easily put together a reasonable list of supported versions for our products.

With Linux, it really is next to impossible to do that. Novell and Red Hat do fill in that role as commercial Linux vendors that provide a stamp of approval over their versions of all the packages that go into a Linux distribution. But, really, none of the developers I know that are using Linux are using any of those commercial Linux'es. They're using Fedora, OpenSuSE, and more lately Ubuntu. It really is impossible to validate your products against all the possible combinations of Linux that your customers may want to use.

But, I then ask the question, so what? How different are these distributions anyway that makes it so hard to support Linux. Yes, you may have version differences in the packages, and things like the major versions of GTK can break under GUI applications like Eclipse. Also, it's pretty confusing the number of different ways to set up user's environment variables, but then applications shouldn't be relying on that anyway. I really wonder if there's much else that can affect most software products.

It bugs me every time someone tries to explain away a bug with, sorry, that version of Linux isn't a reference platform so we can't look at your problem, especially when the person is using a recent distro like Ubuntu. But it really does speak to the challenges that software vendors face with the fragmentation of the Linux market. But I guess it's part of the price we pay for "freedom".

5 comments:

  1. Q: "How different are Linux Distro's anyway?"

    A: "Just enough to ensure that something will go wrong."

    I typed in bunch of bile that I deleted. You probably never tried to target "Linux", rather that a single distribution so you're not really aware of the pain.

    Steve

    ReplyDelete
  2. Not at the level you do my friend :).

    ReplyDelete
  3. The solution is to get your app packaged by the distributions, and to assist with that, rather than sit outside with your app and wonder how to support the multitude of systems.

    ReplyDelete
  4. That way users can always run the old version and can't get any updates. Real smart.

    Hmmh, imagine if on Windows or the Mac, all software had to come with the operating system. Insane.

    Hey, I sound more bitter and angry than I really am. Linux works that way and we need to work with Linux so we need to work that way too.

    Steve

    ReplyDelete
  5. i would recommend compiling everything from scratch and brainwash your customers to do the same. distribute your wares as source.

    distros == dependency hell.
    your mileage may vary with my solution however.

    ReplyDelete