On 2016-03-11 14:46Z, Martin Vahi wrote:
>
> "MINIX is the operating system that Linus Torvalds was
> forbidden to tinker with",
Methinks that 'prohibition' was set up by Linus himself; or more exactly
that the affair was later described as a prohibition.
Anyway it was a long time ago.
> people [k]now that from applications software developer
> perspective it is PARAMOUNT that the various shell scripts WORK
I disagree. I firmly believe any professional application should not
rely on scripts. If it has to, then it should be the job of the
application developer to make sure the script is portable enough (and at
the very least, to be sure it runs flawlessly on common systems.)
Baring that work, the application should be categorized as "requiring
xxxx as operating system," where xxx is the (only) OS of the developer.
Which is, by the way, a perfectly acceptable requirement, and a very
common one for professional applications.
> That is to say, people, who write Ruby, Bash, probably also Python, do not
> care so much about the kernel API, but the incompatibilities of
> command-line utilities is a SHOW-STOPPER, so if You can just get the
> command line utilities to work the way they work on Linux
Your definition of "compatibility" seems to be "be the same as it is on
[GNU/]Linux." Then an obvious solution is to stay using GNU/Linux: as
far as I know, it is the most common operating system for servers, by a
wide margin, once you discard Windows.
So I do not see where is the problem.
> then You do not
> actually need any Linux compatibility to port applications to whatever nice
> operating system that You got Your research funding for.
Actually it did not work. For a long time, MINIX had supported the GNU
utilities as an alternate command-line environment (and it is the same
for the *BSD systems.) But the Linux-targeted applications do not work.
As a result, many people designed Linux compatibility layers, to ensure
those applications worked. Later these layers showed to be difficult to
support; then the demand for such compatibility went down, as the market
coalesced (around Linux.)
By the way, before year 2000, you could replace "Linux" with "Xenix" and
"compatibility layer" with "iBCS": the result is the same picture.
Also you can try with DOS+MVS, DOS+VDM, Windows+WOW, Win32+WOW64 etc.
Anyway, MINIX designers went away from that trail years ago. It was a
conscious decision, based on years of experience of non-success.
It appears a bit difficult to show up and say that it should work now.
> To sum it up, the idea that applications software depends on operating
> system specific utilities, which in turn depend on operating system kernel
> (API), seems to be not the most optimal [...]
Thanks to confirm that scripts (which are those which using these
utilities) are not the paramount.
> My cook-book-style recommendations is that make
> sure that command line utilities behave like they behave at Linux, but the
> command line utilities do not have to be tied to any particular operating
> system architecture
That is the point of the GNU operating system (you seem to use Linux as
a moniker for it, but it is really the GNU operating system, not Linux
which is really one "particular operating system architecture.")
Since many people are using the GNU/Linux operating system, they would
be compatible with your view; so there should not be any problem.
The MINIX designers happen to not share your view. Let it be.
Antoine