[Gllug] open source centric ICT in Schools from Sept 2012 ?

Nix nix at esperi.org.uk
Wed Jan 18 01:17:55 UTC 2012

On 17 Jan 2012, Alain Williams verbalised:

> On Tue, Jan 17, 2012 at 10:30:28PM +0000, Nix wrote:
>> On 13 Jan 2012, Alain Williams spake thusly:
>> > Not what I said. I said that open standards are more important than open source.
>> >
>> > An example of that is the definition of the Unix file system. This is an
>> > API: open/close/create/readdir/... How it is implemented is, at the application
>> > programming level of zero interest. This means that your application will
>> > work on very different file systems: sysv, ext2, reiser, ...
>> Well, not quite. POSIX doesn't specify 'the Unix file system' (that
>> would be BSD FFS perhaps), but rather the *programming interface* to the
> Errm: that is why I said ''API'' ???

You claimed that the Unix file system was an API. It isn't: it's a
family of file storage data structures. POSIX does not define the Unix
file system: it only defines a C interface for file storage

(Maybe I am being excessively pedantic here. OK, OK, I *know* I'm being
excessively pedantic here.)

>> As far as I know Unix is unique in having something like POSIX as a
>> guiding standard, rather than a central implementation which everyone
>> must be bug-for-bug compatible with -- though there is some of that.
>> (Right now, everyone has to be bug-for-bug compatible with Linux. Back
>> in the day, it was Solaris, SunOS, perhaps even OSF/1...)
> No. About 20-25 years ago I spent a lot of time porting programs between various
> different versions of Unix. Yes: there were a few places that needed #ifdef
> some feature or another, but that was a very small %age of the code.

Actually various parts of Unix became a porting nightmare before POSIX
came along. Signal handling and terminal I/O were a particular rat's
nest (and were hardly elegant before that), but there were lots of other
nasty gratuitously 'differentiated' areas, including e.g. socket
handling. In fact it's easier to list the areas that were *not*
pointlessly divergent before POSIX than to list the areas that were.

NULL && (void)
Gllug mailing list  -  Gllug at gllug.org.uk

More information about the GLLUG mailing list