

Thoughts of a sysadmin starting to get old ... - bensummers
http://www.c0t0d0s0.org/archives/5785-Thoughts-of-an-admin-starting-to-get-old-....html

======
ajross
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.

~~~
bensummers
I released some software as open source. I'd developed it on OpenBSD. People
quite reasonably wanted to run it on Linux.

Trouble is, running on Linux turned out to be more than just a port to
"Linux". It ended up being a port to an annoying amount of distributions.

You can't even rely on Linux being compatible with Linux. :-(

~~~
ajross
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.

~~~
c0t0d0s0
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.

------
gchpaco
There's an argument in there somewhere, behind the repetition of anecdotes,
but I'm damned if I can figure out what it is. The idea that somehow people
developing on laptops is bad because now the server has to support that
development environment is absurd on its face, particularly given the amount
of sheer crap that comes in a modern e.g. NetBeans install so that you can
simulate the Java environment on your J2EE box on your workstation.

He rants about GNU make a lot, but there's a very simple reason why I, for
example, write GNU makefiles and not standardized ones; GNU make is more
_useful_.

~~~
Periodic
I had this problem too. It sounded like he was upset that software written for
Linux and assuming Linux tools doesn't run on his pristine server. It sounded
like he wanted everything to compile on his old Digital Tru64 Unix Alpha box.
I hate to say it, but I'm pretty sure that the world has continued to move on
and evolve. Yes, people will start using libraries you don't have. Yes, people
will stop writing workaround for old technologies. Yes, people will tend to
write for their own environment first. No, it is not necessarily a bad thing.

It sounds like a guy who doesn't want to change, and I have a lot of trouble
mustering sympathy for that. Oh, and I think he wants a pony too.

~~~
c0t0d0s0
No ... i don't want a pony ;) I just want to be able to to compile code on
Solaris, Linux, one of the BSD without having to make vast adaptions (or hope
that someone else made it). It isn't even about libraries. Of course, you need
libraries. It's about compliance to standards, and that Linux shouldn't invent
it's own standard and instead work with the established standard bodies. Linux
isn't the centre of the universe.

Obviously you didn't understand the point of the article. It's not about
hating Linux or GNU ... it's just about the ability to use open source
software outside the Linux Community without ending to throw out all this
Linuxisms and GNUisms

At the end you can see it as the plea, that portability isn't just an
afterthought ... and given the state of some makefiles and hard coded things
in some open source developments you get the impression that it's a not-
thought-about it at all.

PS: I'm from the Opensolaris side of the unix universe.

------
CrLf
I gave up after a couple of paragraphs. Maybe I have a short attention span,
or maybe this is just the same tired old argument.

During the Unix wars nobody gave a crap for standards, and these only came to
be when Unix was starting to get some serious competition from non-unix
operating systems.

The problem is, relying too much on standards leads to stagnation, and it is
Linux that has prevented unix from standardizing itself into irrelevance.

I'm mostly a Linux guy, I admit, but I have worked, and still do, with other
unixes (the ones spelled with all caps) every day and I must say that although
they are unix (and I like the unix way of doing things), they are also a pain
to work with and not "standard" at all (just put AIX, Solaris and IRIX side by
side, and try creating users, managing ACLs, and so forth). The only standard
thing about them is the lack of the small features that Linux admins take for
granted and that make one's job so much easier (the so called GNUisms).
Keeping your tools in the 1980's just because they are "standard" doesn't mean
they are any good.

Don't get me wrong, once you have an AIX box humming along, it works just
great. But so does a Linux one with added flexibility and "niceness".

------
DanielStraight
There is a problem with maintaining standards. No matter how advanced your
application, you have to rely on a tool over 30 years old (make). I think it
would be insane to believe that the efforts of a single individual 30 years
ago produced the best possible build system for modern software.

------
russell
Some friends and I are going to start an old programmers' home. Rocking chairs
on the porch, (real) Unix in the hall closet. We'll save space for you.

~~~
die_sekte
The critical part is the lawn with kids to shout at.

~~~
astine
Gonna tell them script kiddies to get off my lawn!

~~~
Periodic
Yell at them script kiddies to get off my public interfaces!

------
c0t0d0s0
1\. The problem is a different one: You develop for a 1-2 core machine and
afterwards this stuff is destined to work on real servers. I can´t count how
often i found massive scaling problems in systems you wasn´t able to find on a
notebook, but was pretty obvious on larger system. Sometimes i was able to
remove the problem, but often we replicated the development plattform by using
1-2 socket servers.

2\. Obviously GNU make has advantages. I don´t have anything against GNU make.
I just hate this Linux centric view. But from my perspective it would be more
feasible to extend the standards (for example SUSv5 ;) ) to keep programs more
portable between all Unixes and derivates. Free Software should be operating
system agnostic.

3\. I have to correct you: HPUX and OSF/1 is mainly on life life-support
because of HP ill-fated decisions with PA-RISC and Alpha in favour of Itanic.
AIX isn´t a toy for testing ... in the real world there are many systems
running those operating sytems like Solaris and AIX. You just have too look at
the market data: Sun and IBM still sell systems worth billions of $.

4\. Yes gmake is in Solaris ... because of the dependence of many build
procceses. But i´m still thinking it would be better to define unixwide
standards that include GNU make. At the moment the behaviour is similar to
Microsoft. We have our LSB .. that´s a standard ... the bad thing ... it´s a
_extended_ version of POSIX, SUS and so on. I think people should ask, why
there is the need for a extended own standard instead of extending the
existing standards.

~~~
joeyo

      why there is the need for a extended own standard instead
      of extending the existing standards.
    

Because standards bodies move too slowly?

~~~
c0t0d0s0
So instead to help to make them faster, just ignore them?

~~~
joeyo
At the risk of being a bit gnomic: the standard is here to serve _me_ , I am
not here to serve the standard. Apparently the Linux community has more of a
taste for writing code than worrying about bureaucratic processes. I can't say
that I blame them.

~~~
c0t0d0s0
When everybody thinks like that, only bureaucrats define standards. Lack of
standards let to many problem: I´m just thinking about the amount of power
supplies i have to carry. A power supply for the company mobile, a power
supply for the iPhone (or at least the USB cable), a power supply for the
notebook. I have three small switches from three vendors needing three
separate voltages (a standard would be nice here, for example for a central
power supply feeding all this stuff). My USB hard drives have their own power
supply. The 1.5 TB Maxtor from the special offer have a different one than the
2 1TB Fujitsu-Siemens drives. Standards are bureaucratic, but they help ...
but we have to work on them, to enable them to serve us. And at the end it´s
the same at power supplies as with Unix standards.

------
wmf
I see one legitimate point in here: There's a lot of faux portability going on
these days. The software uses autoconf/automake and it's full of ifdefs so it
_should_ just configure/make on any platform, but actually it only runs on
Linux/x86. IMO the solution is for such software to stop pretending to be
portable (as a bonus, removing all those ifdefs should make the code more
readable), but that won't help the grumpy old Solaris users.

------
moe
I'm lost, all I see is rambling. What is his point, what is his problem?

