[TUHS] Do Interface specifications such POSIX or the LSB Still Matter
ggm at algebras.org
Thu Feb 15 08:13:34 AEST 2018
once you have virtualized OS support embedded in a wrap like docker
why do you need the definition of the sysctl() calls as a spec? Ok so
clearly the people who write virtualization need some equivalent, but
basically, virtualbox or parallels or vmware plus docker == "I run a
miniature clone of the real underlying OS" so the premise behind the
ABI spec in POSIX which made it possible to write code depending on
runtime calls into systems libraries is somewhat moot. I suspect that
a minority of programs tickle things which are POSIX+/- later and they
never work well.
LSB sort of works. Sort of.
WINE manages to handle an amazing number of things, with no formalized
POSIX equivalent boundary definition.
So this is a view from the "I want to run this binary I have been
given" world view, which is mostly the consumerist take.
"I want a roughly plausible story to compile this code on a different
OS" is a different take. I recently had some code which had to compile
a C to Python shared library to extend the python core, with OpenSSL
calls. its well written. It works on FreeBSD from its porting base in
Debian, and the author is not stupid, and writes code in wide public
support (I won't out him but he's an old school MIT graduate and
really can code very well)
it simply doesn't work as-is on OSX. So clearly, something in the
API/ABI space as compiled up for OSX, for this source mashup gets
outside the boundary of what I believe POSIX tries to do. So.. how did
POSIX help? Did it avoid the problem? Nope. Did it make the problem
surface smaller? Probably.
On Thu, Feb 15, 2018 at 6:53 AM, Clem Cole <clemc at ccc.com> wrote:
> I've send a couple of you private messages with some more details of why I
> ask this, but I'll bring the large question to debate here:
> Have POSIX and
> LSB lost
> usefulness/relevance? If so, we know ISV’s like Ansys are not going to go
> ‘FOSS’ and make their sources available (ignore religious beliefs, it just
> is not their business model); how to we get that level of precision to allow
> the part of the
> that will be 'binary only' continue to
> create applications?
> Seriously, please try to stay away from religion on this
> question. Clearly, there are a large number of ISVs have traditionally
> used interface specifications. To me it started with things like the old
> Cobol and Fortran standards for the languages. That was not good enough
> since the systems diverge, and /usr/group then IEEE/ANSI/ISO did Posix.
> Clearly, Posix enabled Unix implementations such a Linux to shine, although
> Linux does not doggedly follow it. Apple was once Posix conformant, but I'd
> not think they worry to much about it. Linux created LSB, but I see fewer
> and fewer references to it.
> I worry that without a real binary definition, it's darned hard (at least in
> the higher end of the business that I live day-to-day) to get ISV's to care.
> What do you folks think?
More information about the TUHS