Hacker News new | ask | show | jobs
by justinsaccount 3959 days ago
Is the certification from "The Open Group" relevant to anyone?

OS X 10.10 ships with a version of bash from 2007. Without something like homebrew or macports to install an updated userland the "Unix" core of OS X is rotting away.

2 comments

It just means that the operating system ships with the properly-licensed UNIX software binaries and libraries, rather than the GNU free software replacements for said software. If you look in the man pages for any shell command OS X ships with, you'll see it's from the "BSD General Commands Manual". On Linux systems, this originates from GNU. Your example of bash is actually not part of that distribution, it's something additional OS X ships with just for userland purposes. I suppose the point of being a "certified UNIX distribution" is just so they can put the trademark on their website because it looks pretty.
Right.. and the actual BSD stuff is frozen in time as well:

  $ strings `which cp`|grep src
  $FreeBSD: src/bin/cp/utils.c,v 1.46 2005/09/05 04:36:08 csjp Exp $
  $FreeBSD: src/bin/cp/cp.c,v 1.52 2005/09/05 04:36:08 csjp Exp $

  $ strings `which ls`|grep src
  $FreeBSD: src/bin/ls/cmp.c,v 1.12 2002/06/30 05:13:54 obrien Exp $
  $FreeBSD: src/bin/ls/ls.c,v 1.66 2002/09/21 01:28:36 wollman Exp $
  $FreeBSD: src/bin/ls/print.c,v 1.57 2002/08/29 14:29:09 keramida Exp $
  $FreeBSD: src/bin/ls/util.c,v 1.38 2005/06/03 11:05:58 dd Exp $

https://svnweb.freebsd.org/base/head/bin/cp/cp.c?view=log and https://svnweb.freebsd.org/base/head/bin/ls/ls.c?view=log

show various fixes and new features added since then.

  $ strings /bin/* /sbin/* /usr/bin/* /usr/sbin/*|grep ,v
paints a pretty dismal picture.

One interesting way to look at this. The first commit from freebsd for ls.c is:

  Added Thu May 26 06:18:55 1994 UTC (21 years, 2 months ago) by rgrimes
  Original Path: vendor/CSRG/dist/bin/ls/ls.c
  File length: 13099 byte(s)
  BSD 4.4 Lite bin Sources

The last commit apple has is:

  Modified Fri Jun 3 11:05:58 2005 UTC (10 years, 2 months ago) by dd 
So apples version is almost closer in time to the original 4.4 sources as to the current version.
string `which ls`|grep src shows cvs strings. FreeBSD switched over to svn a long time ago and cvs id strings are not updated anymore. But svn log ls.c on the head branch shows the last change was on 20-July-2015.

In any case, why keep fiddling with the source code if the program does what it is intended to do?

Here's a good example. Came up just the other day.

    $ du -hs big.log;time cat big.log  > /dev/null
    199M	big.log

    real	0m0.045s
    user	0m0.002s
    sys	0m0.043s
    $ time gtr a b < big.log > /dev/null

    real	0m0.334s
    user	0m0.182s
    sys	0m0.142s
    $ time tr a b < big.log > /dev/null

    real	0m33.105s
    user	0m31.757s
    sys	0m0.488s
    $
I don't have a freebsd machine around to see if it's just apples tr that is broken.

I'm sure it's related to unicode bullshit, but the usual env var tricks don't seem to help.

UNIX is a spec. The point of being a "certified UNIX" is that the system conforms to SUS/POSIX and software developed targeting those specifications and their API are expected to run.

One might question the usefulness of SUS/POSIX in a world where most of the *nix ecosystem targets GNU, but saying it has no purpose beyond advertising is disingenuous.

Oh, I think its purpose is to make money for the open group.

I tried to download and run their test suite, but they lead to a page that says "For Purchase Enquiries please contact:"

They don't care about standards, they care about selling things.

Nothing could be further from the truth. Do you think these tests were created and maintained for free? Do you think the certification process happens on its own? Do you think there is no value in the whole Unix standard is stagnant, none-changing, and never reviewed or updated? And it all happens without cost? Do you think no one pays any attention to that?
Don't really understand your reply. Linux and GNU and {free,net,open}bsd are created and maintained "for free". Can things only have value if they cost money?

Is the unix certification only for large companies who can afford to throw money at the open group in order to get certified?

According to the wikipedia page:

> By decree of The Open Group, the term "UNIX" refers more to a class of operating systems than to a specific implementation of an operating system; those operating systems which meet The Open Group's Single UNIX Specification should be able to bear the UNIX 98 or UNIX 03 trademarks today, after the operating system's vendor pays a substantial certification fee and annual trademark royalties

Right.. Please tell me how this is not a meaningless certification? FreeBSD is more unix than OS X, and would likely have no problems running the test suite, but is not certified as "real unix" because that certification is about money.

Have you ever used a proper commercial UNIX (Aix, HP-UX,...)?

That bash version is actually very modern compared with their out-of-box experience.

I used to use some solaris boxes, that was always painful.

I knew some sysadmins liked it. There definitely was a mindset of some admins that solaris boxes were great. You did a full install of solaris that took up like 8G of disk space. Then you installed oracle. Then you never touched the machine again. As long as you never actually needed to use the machine for anything, solaris was great.

Solid kernel.. terrible userland. Still some very smart people working on zfs/dtrace/kvm, will be intersting to see what the next few years bring.