This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Removal of support for GCC hosted on UWIN
- To: dewar at gnat dot com
- Subject: Re: Removal of support for GCC hosted on UWIN
- From: Chris Faylor <cgf at redhat dot com>
- Date: Wed, 10 Jan 2001 18:30:41 -0500
- Cc: gcc at gcc dot gnu dot org
- References: <20010110201325.8E30034D80@nile.gnat.com>
On Wed, Jan 10, 2001 at 03:13:25PM -0500, dewar@gnat.com wrote:
><<Hopefully, I'm not confused about what people mean by NT since I have to
>understand it fairly well to do my job. IMO, Interix is an add-on to
>the Windows NT operating system which provides full POSIX support. It
>is a proprietary package relying on Windows NT internals to do its job.
>It certainly is a subsystem but it is also an additional package provided
>by Microsoft in addition to Windows NT.
>>>
>
>Full POSIX support is a very strange way of defining this. It is simploy
>a full Unix system, with all the normal Unix features. FOr a user of
>Interix, NT+Interix looks pretty much like any other Unix system.
Sorry. I did not mean to imply that Interix only provides POSIX
libraries, however isn't that what we are talking about here? U/WIN
certainly offers more than just a 'libc.a'.
For a user of U/WIN, U/WIN looks pretty much like any other Unix system.
FYI.
>The technical structure, once again, is that NT is a microkernel system
>with subsystems.
>
>Technically there is no difference at all between
>
>NT Kernel + Win32 => provides what people normally think of as the NT
>operating system
>
>NT Kernel + Interix => Provides an implementation of Unix
>
>The two subsystems can of course be run together.
>
>It is a marketing decision of Microsoft that the only way you can buy
>the microkernel is to get the Win32 subsystem as well, so yes, in
>marketing terms it is an add on.
What other terms are there? If the only way to get the product is to
purchase a complete NT system and there is no way to purchase just NT
Kernel + Interix, then Interix is an add-on.
You want to avoid considering it to be add-on because it uses NT kernel
calls and bypasses the Win32 layer. However, Interix is not sold as an
operating system. I doubt that anyone is purchasing Interix just so
they can have UNIX running on their PC. It is probably, in fact, always
purchased as an add-on to Windows which provides UNIX functionality.
><<I've never purchased Interix from Microsoft, so maybe I'm wrong, but I
>don't believe that Microsoft markets this POSIX library as anything but
>an add-on to Windows NT. Here's the marketing blurb:
>>>
>
>Well we have worked extensively with Interix from the early non-Microsoft
>days. As far as we are concerned it is just one more Unix system for which
>we provide GNAT support. To think of Interix as a "POSIX library" is really
>quite misleading, that is unless you think of SOlaris as nothing more than
>a POSIX library :-)
>
>Note that Win32 programs cannot somehow use Interix to provide POSIX
>facilities, that's a compeltely wrong view of the strucure. The two
>subsystems are quite separated.
Again, since we were (I thought) discussing POSIX libraries, that is
what I was talking about.
>Historically (and perhaps this accounts for part of the confusion),
>Microsoft built at POSIX subsystem with minimal capabilities (about
>all it could do was run the POSIX tests), to convince the DoD that
>NT was an open system supporting POSIX (amazingly they got away
>with this rather deceptive^H^H^H^H^H^H^H^H^Hpeculiar approach).
>
>Softway Systems then acquired the code for this subsystem and used
>it as the starting point to develop a complete implementation of
>Unix as an NT subsystem. This version of Unix is quite complete
>(it was one of the easier Unices from the point of view of porting
>GNAT). Microsoft then later acquired Softway.
>
>I think if you *had* "purchased Interix from Microsoft", you would have
>a clearer view. I cannot imagine anyone familiar with Interix describing
>it as anything else than a (fairly conventional) implementation of the
>Unix operating system.
Actually, I purchased Interix from Softway prior to its acquisition by
Microsoft.
><<"Microsoft? Interix 2.2 is the easiest way for customers to take
>advantage of their previous investments in UNIX-based legacy
>applications as they move to the Windows? operating system. Interix
>provides a powerful, high-performance environment in which to easily
>run UNIX applications and scripts on the Window NT? and Windows 2000
>operating systems, enabling customers to take advantage of the many
>benefits of the Windows platform while still maintaining their
>UNIX-based legacy applications."
>>>
>
>I quite understand how reading this blurb may confuse you. Nothing it
>says is actually *wrong*, but it is highly (perhaps deliberately)
>misleading people reading it into thinking that this is some
>compatibility library for Unix applications, and you certainly can be
>excused for not realizing that what Microsoft is talking about is a
>complete Unix implementation that is quite separate from the Win32
>world.
I understand very well how Interix operates, I know what a subsystem on
NT is, and I'm familiar with a few of the NT kernel calls that allow
Interix to implement UNIX so well. In fact, I looked into using some of
them for Cygwin to provide functionality for fork().
So, you can stop educating me now.
>It is posible to write hybrid applications in which you have parts running
>under Win32, and parts under Interix, communicating through sockets, but
>you might as well be operating on separate machines as far as the level
>of communication goes. Indeed one way to build such hybrid applications
>in GNAT is to built the system as a distributed system, using the
>distribution features built into Ada 95, where it just happens that the
>two partitions are on the same physical machine.
Perhaps the implementation details of the way that Interix operates and
the fact that it is furnished by the vendor of the OS is sufficient to
exempt it from the GPL or from dropping Interix support from gcc. I may
be wrong but I think that there is more than just a technical issue at
issue here.
I was wrong when I mentioned in a previous message that Interix used a
"slightly different" method from U/WIN. Interix uses a completely
different method for accomplishing what it does.
Whether the isolation between Interix and Win32 is sufficient to make
the GPL a non-issue is obviously not for me to decide.
Since the GPL is as much a political document as a legal/technical one,
I wanted to raise the issues of how this package is marketed and
distributed by Microsoft in case that makes a difference in deciding
whether support for Interix should be continued.
cgf