|
Trouble is, that part is not only evil in terms of moral -- it's detrimental to software quality. A lot of people seem to think that portability is just a way of being nice to people who use obsolete devices. Nothing could be further from the truth. First, the simple act of isolating platform-dependent (whether "platform" means software or hardware) operations behind an uniform interface makes software more future-proof, makes the code better organized, and forces you to think about the problem until it's clearer in your own head. I've seen a lot of software that was not meant to be portable, 'cause hey, we're only going to use it on <this CPU> running <this OS> and doing <these things>. Ten years down the line, no one is buying machines with <that cpu>, <that OS> hasn't been supported in half a decade and you have ten new customers that want different things, so <these things> are now <these 1000 things that we never thought about>. The software is now full of various small hacks and quirks and a compatibility layer has been bolted on top of a hundred thousand lines of code that make fifty small assumptions about the underlying platform. As for conspiracies... I don't think there's an evil masterplan behind anything, but I'm hesitant to be happy about a big company playing an important role in a critical piece of unportable infrastructure. A lot of people jump on the "it works and I don't care about other platforms" bandwagon. Suuure, they'll say, systemd is Linux-specific, but there are good reasons for that, they use Linux-specific things so that they can be as well-integrated as possible and give the most flexibility to their users. Win-win, right? Linux users win a better platform, systemd developers don't need to be worried about platforms their users don't care about. Except "systemd developers" is Red Hat, a bunch of really young people who hope to work for Red Hat one day, and a community of people who have been writing SysV scripts for so long that they'll give a kidney for anything that will put a nail in that crap's coffin. It's basically Red Hat and a few people that the PR machine calls "community", but make no mistake about it, when the people who do it for fun go have fun somewhere else, Red Hat is still going to be the main engine behind it. "Platforms their users don't care about" is -- by no mere coincidence -- Red Hat's competition. In this context, lack of portability is just a glorious term for vendor lock-in. Your infrastructure depends on systemd? Great, I hope you like Linux, 'cause you won't be moving it to something else any time soon. Oh, but the options are open, you'll move to CentOS, you say? Right -- for now, that's an option, because the Linux enterprise market is still, by and large, up for grabs, and there are very few Linux companies that are large enough that Fortune 500-class companies can talk to. If Red Hat goes evil now, they'll just go out of business. Wait for ten more years, until it supports enough projects that are too vital to fail, before you tie yourself to their platform. Remember all the fun we had with SMB and Kerberos a long, long time ago? Just because they have fluffy penguins doesn't mean they won't go Microsoft on our asses. Even if you don't care about software quality (which is a bad idea but I've seen enough people who think that "it's good" means "it makes money for the people selling it"), portability is great, it's a free ticket to say you know what guys, fuck you, fuck your shit platform, fuck your shit licensing schemes and especially fuck every single one of you fuckers, I'm switching to <this>. FREE TICKET! All you have to do is talk to your sysadmin team and utter the words if they think it's a good idea. |