Path: sparky!uunet!math.fu-berlin.de!news.netmbx.de!Germany.EU.net!
gmd.de!newsserver.jvnc.net!
howland.reston.ans.net!wupost!emory!ogicse!news.u.washington.edu!
ns1.nodak.edu!plains!ndsuvm1!nu013809
From: NU013...@NDSUVM1.BITNET (Greg Wettstein)
Newsgroups: comp.os.linux
Subject: The need for POSIX compliance.
Message-ID: <93055.012304NU013809@NDSUVM1.BITNET>
Date: 24 Feb 93 07:23:04 GMT
Article-I.D.: NDSUVM1.93055.012304NU013809
Organization: North Dakota Higher Education Computer Network
Lines: 38

I am aware of the fact that Linux is, I believe, POSIX.1 compliant.  I
also believe that the GNU utilities conform to various additional levels
of POSIX.N compliancy.  What I do not understand is who and or what is
behind the drive for POSIX compliance.  I know that the various levels
of POSIX have been defined through the IEEE but little beyond that.

What I need is a general pointer to material describing what POSIX is
all about.  The reason for this is that I am locked in a somewhat mortal
political battle which may decide our ability to innovate.  I have a
network of Linux machines which are operating very efficiently in a
mission critical application for our center.  Unfortunately this
approach runs counter to the 'true blues' in our computing resource
department which want to replace everything we have done with an IBM
proprietary DOS based networking system, sigh.....   :-(

I need to argue for our open system approach and thus need to become more
well versed on the ins and outs of POSIX.  I believe that the Feds have
mandated that any systems vended for government contract need to meet
a certain level of POSIX compliance.

I would (deeply) appreciate any pointers that the denizens of the network
could sling at me, e.g. reference articles, standards documents etc. that
would allow me to explain and document what POSIX compliance means.  It
would be an extremely interesting coup to be able to 'legitimize' Linux
in a commercial application such as ours.  Thanks in advance for any
help and/or information which may be forthcoming.

                            As always,
                            Dr. G.W. Wettstein
                            Oncology Research Division Computing Facility
                            Fargo Clinic / MeritCare

                            UUCP: uunet!plains!wind!greg
                            INTERNET: greg%wind.u...@plains.nodak.edu
                            Phone: 701-234-2833

`The truest mark of a man's wisdom is his ability to listen to other
 men expound their wisdom.'

Newsgroups: comp.os.linux
Path: sparky!uunet!psinntp!sunic!news.funet.fi!hydra!klaava!torvalds
From: torva...@klaava.Helsinki.FI (Linus Torvalds)
Subject: Re: The need for POSIX compliance.
Message-ID: <1993Feb24.100838.16501@klaava.Helsinki.FI>
Organization: University of Helsinki
References: <93055.012304NU013809@NDSUVM1.BITNET>
Date: Wed, 24 Feb 1993 10:08:38 GMT
Lines: 51

In article <93055.012304NU013...@NDSUVM1.BITNET> NU013...@NDSUVM1.BITNET
(Greg Wettstein) writes:
>I am aware of the fact that Linux is, I believe, POSIX.1 compliant. 
[ some deleted ]

I'd like to clear this up: one of the *goals* is to be POSIX.1
compliant, but while linux is probably very close, I woouldn't guarantee
100% compliance: I'm not actively reading through the POSIX specs, but
instead checking them when some question comes up.  If somebody finds
something that doesn't follow POSIX, please tell me about it (preferably
quoting chapter and verse), and I'll try to fix it as soon as possible. 

That said, the current kernel and libraries are POSIX.1 too all
practical purposes - I just can't guarantee 100% compliance. 

Also, while POSIX has been important, that is actually more of a symptom
than a cause: I (and others) have tried to make linux an easy platform
to port to, and POSIX is one of the things that helps.  But there are
also a lot of code in linux to do things that are not actually POSIX,
but just happen to be "normal" - extensions that make linux look more
like some of the real unix systems rather than just a cut-down POSIX
clone.  When implementing a new feature, the first question has been
"does this help porting things to linux" rather than "is this strictly
needed by POSIX". 

>I also believe that the GNU utilities conform to various additional levels
>of POSIX.N compliancy.  What I do not understand is who and or what is
>behind the drive for POSIX compliance.  I know that the various levels
>of POSIX have been defined through the IEEE but little beyond that.

POSIX.1 is actually IEEE 1003.1.  The name comes from "Portable
Operating System Interface" + an "X" for the normal unix reasons.  The
reason for POSIX is simple: most people agree that unix needs some
standard so that writing portable programs wouldn't be a matter of
inserting various #ifdef's at every other line.  While a lot of programs
still need more detailed knowledge of the system than just POSIX
compliance can tell you, POSIX still allows for a lot of reasonable
programs to be written portably, with the hope that they would work on
any number of systems (including VMS/POSIX and other horrors from hell). 

>What I need is a general pointer to material describing what POSIX is
>all about.

I'd suggest you check out POSIX.0 (general reasons) which should cover
your questions pretty well (it should - it's 325 pages long..).  POSIX.0
is available electronically at several sites: you should check out
nic.funet.fi: pub/doc/OS/posix.  Also POSIX.2 (shell and utilities
standard) is available at the same place.  POSIX.1 isn't - as far as I
know the only way to get .1 is to buy it (or have some kind person send
it by mail :-)

		Linus