I kept reading wanting this to be interesting, but it's the same tired Unix incompatibility rant we've all been reading for 20 years now. First it was Sun needlessly extending Unix to the point where good software assumed 68k and wouldn't run on a VAX. Then it was AT&T needlessly reimplementing stuff like STREAMS instead of just using BSD sockets like everyone else did. Then it was Sun unbundling the compiler and forcing everyone to use proprietary/incompatible development environments. The list goes on and on.
Eventually everyone decided to sit down and write POSIX and X/Open and SUS, which was good. But development didn't stop when the standards were finished, and people again wanted to use tools and features on their platforms that weren't "standard" (GNU Make being a really good example from the article here -- no one who knows what they're talking about would serious consider using anything else. Even Sun ships it, for crying out loud). And history moved on, and platforms that didn't evolve in the direction the market wanted started to have trouble. OSF/1 (Digital Unix) and IRIX are dead now. HP/UX is on life support. AIX lives on as IBM's internal toy for tuning benchmarks on their big POWER6 boxes, but doesn't actually sell much.
So anyway, now the crisis du jour is Linux folks assuming they're building on Linux using the GNU tools instead of Solaris. Cry me a river. Sun is (well, was) as bad an offender in this space as anyone else. To the extent they supported anything "standard", it was because they wrote the standards around their own products post-hoc. But now they're a legacy platform, and their fans need to get used to living like the rest of us did for decades.
Well, yeah. It's not like Sun ever released a completely incompatible OS "upgrade" based on an entirely different codebase and standard set, right? :)
My point wasn't to defend linux, it was that this whole genre of platform flame is boring and useless. This stuff happens. It even happens for some really good reasons, like "improvements" and "features". It's been happening since the dawn of computing (at least), and it's even been happening in precicely this form since the Unix wars began in the mid 80's.
Just deal with it. Or don't. But stop complaining, because you won't fix anything.
At least in Solaris the kernel interfaces doesn't change from minor to minor release rendering existent binary drivers useless ;)
But that aside: At the end the text is not about Linux, about Solaris or AIX, FreeBSD, NetBSD, OpenBSD. It's about portability. Either we have to accept that there is a lock-in to Linux for many opensource development and stop all this portability stuff.
The article is about saying: Hey, use gmake if you want ... but keep into consideration, that the target system may be something else than Debian Lenny.
The next thing: I would like to see a standard way to install software on Linux. 17 distinct packages for Linux, just one of Mac OS X and 2 for (Open)Solaris. A standard would be nice here ... really.
And you have to take the following into consideration: Outside of the enthusiasts group something like binary compatibility guarantees something important for the admins. Improvements are good, features are good. But not at the price of breaking every bridge behind. At the end this hurts the Unix franchise, as the Microsoft franchise is simply a much larger market. We can't afford to fragmentize the Unix business by being to GNU/Linux centric. Deal with it. Solaris won't disappear, the *BSD won't disappear. But we should be able to ensure, that all can participate from open source development. And one factor is further development of the Unix standards to keep them current with the technological development, and not just cooking it's own soup.
Maybe I'm privileged then, because I got used to downloading software written for Linux and not necessarily getting it to compile without a few tweaks for my specific setup. It taught me my way around the OS and really helped me learn how to cleanly administer a system.
It really makes me appreciate a good package management system.
We support 3 million lines of code on every flavour of Linux, 32 and 64 bit architectures, as well as Mac OS X and Solaris (we use the Gnu auto tools).
Well yes and no (the codebase originated as VMS-only). The point is that going to Gnu tools helped us solve the problem, it didn't create the problem (as the OP was implying).
And this is the thing - the complaint seems to come down to "ensuring portability is hard in divergent environments" and the answer is "that should not be the sysadmin's problem, that should be upstream's problem". Up to upstream whether they want to deal with the pain up front in the design, or patch it as it comes.
Eventually everyone decided to sit down and write POSIX and X/Open and SUS, which was good. But development didn't stop when the standards were finished, and people again wanted to use tools and features on their platforms that weren't "standard" (GNU Make being a really good example from the article here -- no one who knows what they're talking about would serious consider using anything else. Even Sun ships it, for crying out loud). And history moved on, and platforms that didn't evolve in the direction the market wanted started to have trouble. OSF/1 (Digital Unix) and IRIX are dead now. HP/UX is on life support. AIX lives on as IBM's internal toy for tuning benchmarks on their big POWER6 boxes, but doesn't actually sell much.
So anyway, now the crisis du jour is Linux folks assuming they're building on Linux using the GNU tools instead of Solaris. Cry me a river. Sun is (well, was) as bad an offender in this space as anyone else. To the extent they supported anything "standard", it was because they wrote the standards around their own products post-hoc. But now they're a legacy platform, and their fans need to get used to living like the rest of us did for decades.