The Linux software ecosystem is boring and a little lame (a rant).

Quick, answer this:

What was the last time a basic piece of the Linux system was redesigned and replaced by everyone?

And the new piece was not a drop-in replacement or evolutionary development for the old garbage?

Please post the answers on comments, because the best I can come up with is one of the following:

  • Postfix replacing Sendmail
  • Everything else replacing Wu-ftpd
  • GRUB replacing LILO ? (not that GRUB is all that great, but at least you have a decent chance of fixing it when it breaks)
  • OpenSSH replacing telnet and rlogin

There are still distros shipping Wu-imap and its offspring!

There are still distros shipping the old syslog!

Let's consider a basic, tty Linux first.

  1. GRUB (ok)
  2. Linux kernel (ok I guess)
  3. Ancient SysV init (unless you use pardus/gobo/some other radical distro)
  4. Services, which probably include
    1. Syslog-NG (which is marginally less broken than old syslog)
    2. Sendmail (even if only for loopback addresses, it's still lame)
    3. OpenSSH (ok, although I think the client sucks because I can't figure out how to store passwords and passfrases in KWallet)
  5. A getty

At least here there is not much room for innovation because we are trying to start something that is a lot like a 30-year-old Unix box.

So, let's go server-ish. What would you normally use?

  • BIND

    Ancient software with a terrible security history. Yes I know it's rewritten lately. They did that before, too, you know.

  • Apache

    For all the good things Apache has, it has some bad ones, too.

    • It's overkill for most servers.
    • As the A in LAMP it has lead people to believe PHP4 is the right language to develop applications in, and MySQL a good place to store their data.
    • If it fails to do what you want, you may get an error. Or not.
    • The configuration is in some sort of pseudo-XML

    Let's get real. For most modern web apps what you want is a decent, high performance WSGI thingie for python apps, and whatever you use for Rails. Apache may or may not be that or have that inside, but who needs the rest of it? What for? PHP pages? mod_perl web apps?

    No, really, I'm asking a question here. What pieces of Apache do you use nowadays?

  • Samba

    • It does what it does.
    • Noone else does it.
    • Ergo, it's the best at what it does.
    • That doesn't mean that losing its TDB every once in a while while doing a "RPC vampire" is not annoying.

    But actually, I am pretty happy about Samba. I mean, what's the alternative, here? NFreakingS?

  • CUPS

    Ok, not too many new print servers out there, but hey, it's better than LPRng!

And if I had written this rant three years ago, I would have used the exact same examples.

Where's the vibrant new server app?

Who's going to write a cool, performing, easy to configure HTTP+WSGI server in D?

Who's going to implement a fast, secure, simple, zeroconf-enabled, file serving daemon?

Who's going to replace BIND?

Who's going to create a Linux server distro with only decent software in it?

Me? No way, I have diapers to change. And there used to be smarter and more driven people around to do this stuff. Are they all changing diapers now?

Come on, stop rehearsing with your band that plays "metal with medieval influences"! Stop growing your stamp collection! Stop

Come on, it's only going to consume at most a year or two of your life. It's not going to harm you more than a budding alcoholism, or a poetry hobby, or attending furry conventions, young man (or woman)!

You don't need to be all that knowledgeable (look at the BIND4 sources) or brilliant, all you need is to be industrious.

Grow a spine and get cranking! Show us old hacks what you've got!


Comments powered by Disqus