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.
GRUB (ok)
Linux kernel (ok I guess)
Ancient SysV init (unless you use pardus/gobo/some other radical distro)
-
Services, which probably include
Syslog-NG (which is marginally less broken than old syslog)
Sendmail (even if only for loopback addresses, it's still lame)
OpenSSH (ok, although I think the client sucks because I can't figure out how to store passwords and passfrases in KWallet)
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!
Apache is configured with commented text files (see httpd.conf) not xml.
tomcat/jakarta will require xml for configuration, but java is a sluggish choice for servers.
For example ebay.com is (under)powered by java and sun.
Even for clients, we think java is too sluggish.
We like modperl and mason for dynamic content.
For example Amazon.com.
From httpd.conf:
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
Pseudo-XML. Not real XML, either.
Grrr. Here it is with [] instead of angle-brackets because Haloscan eats them:
[IfModule ssl_module]
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
[/IfModule]
Who's going to replace BIND?
D. J. Bernstein.
See http://cr.yp.to/djbdns.html
Who's going to create a Linux server distro with only decent software in it?
You are!
Really can't find what you want at distrowatch.com?
Roll your own.
For example morphix
DJB's software has huge license issues (I am a big fan, though).
As for rolling my own... I have tried once or twice. But now? Diapers it is :-)
I manage with CentOS and a bunch of RPMs I did.