[comp.os.mach] Mach license issues

bob%eroica.utah.edu@cs.utah.edu (Bob Wheeler) (10/05/90)

Some miscellaneous notes to clear things up...


In article <8785@helios.TAMU.EDU> cnh5730@calvin.tamu.edu (Chuck Herrick) writes:

>Well, don't that beat all... the little people need not apply?
>One wonders who the market for i386 Mach will be down the
>road... and one hopes all will take note.

CMU has an educational license that forbids them to sell Unix sources or
binaries. I don't think we need to crawl all over their back because
they don't want to pay the huge fee to upgrade their license so that they
can sell binaries. 

I believe that CMU has made arrangements with Mt Xinu to distribute Mach
to the world. If you want to get Mach then talk to Mt Xinu. Don't flame
all over CMU, they are doing R&D not distributions. (Mt Xinu as you recall 
was set up because Berkeley didn't want to do support and distribution either)



melling@cs.psu.edu (Michael D Mellinger) then asks:

>Will CMU have an AT&T free version of Mach within the next year?  I've
>heard that Mach 3.0 will have all of the AT&T code removed.

There are two parts to Mach 3.0. The micro-kernel or pure kernel and then 
there are the servers. 

First the micro-kernel. There are two parts to this. The machine-independent
and the machine dependent parts. When someone says that Mach 3.0 will be AT&T
free they really mean is the machine-independent part of the pure kernel is
AT&T free. You still have to add the machine-dependent part to this to get a 
kernel that is useful.

Most of the low level routines (locore, device drivers, autoconfig) for the
machine dependent part are derived from vendor sources of Unix. Thus, you 
still may need a license from Sun say to run Mach on a Sun 3 someday. The Mach
3.0 port that I am doing to the Hewlett-Packard HP800 series workstations is 
derived using sources from HP-UX, HP's proprietary version of Unix. Thus if 
you want to run the 800 Mach 3.0 port you will need a license from HP even 
though the pure kernel is AT&T free.

The only two ports that I know of that are vendor unencumbered are the 386 
port done at CMU and the Motorola 68030 Mach 2.5 and soon to be 3.0 ports done
here at Utah. This is largely due to the fact that the vendor who owned the
386 code used to write the port is allowing it to be used without severe
licensing restrictions. The ports done at Utah are derived from our 4.3BSD
port to the HP300 that we did without using vendor specific code.

Notice that with our port, although vendor unencumbered, was still derived from
4.3BSD sources which were derived from AT&T sources and thus you still need
a Berkeley Unix and AT&T license for our stuff.

Now we come to the servers... A Mach 3.0 pure kernel is really not very 
useful if you don't have a server on top of it. The server is what the user
really interacts with. Although there are lots of servers being written the
most popular one will probably be the Unix server. Here again, this is straight
BSD code that is dropped on top of the micro kernel. Same rules apply to it
as far as licenses that applied to BSD Unix. Thus you really do need an AT&T
license to do anything useful.


Then finally larry@belch.Berkeley.EDU (Larry Foard) whines...

>I agree I am working on UNIX application software for the 386, I would have
>loved to have used MACH but the makers of MACH seem to have no interest in
>making it available to "real" people. I can't understand why some one goes
>through the effort to write a revolutionary OS and then keeps it locked in a
>closet because they won't take the effort needed to get it out to the public.

Mach right now is in the R&D stages. Since the Univ of Utah CS Dept is doing 
ports, we get weekly updates from CMU automatically to keep us up to date. 
The 3.0 pure-kernel is still moving and changing. It is not something that in 
my opinion is ready for the general "Buy a shrink wrapped copy and it will 
work" PC user. It's still very much a research piece of software.

Right now companies that are members of the Open Software Foundation are 
porting versions of Mach 3.0 to their various hardware platforms. Those ports 
are in various stages from conception to near completion. Someday, if your 
favorite computer company is a member of OSF, you will probably be able to buy
a shrink wrapped copy of Mach and run it. Just because we aren't there yet 
doesn't mean that you should take pot-shots at CMU or the rest of us. CMU is 
doing a great job as are the other folks around the world doing ports to 
various pieces of hardware.

>The PC market is being taken over by Windows 3.0 and Sys V unix, if MACH
>should ever become available to the general public, it may be to late, 
>every one will already have software for SYS V.

As for Mach being too late because everyone will be running Unix. Remember that
Unix applications run unchanged on Mach. The system calls get trapped to the 
kernel and the kernel sends them back up the the server. You really should 
figure out what something is about before you start griping about it.

>Every one seems to talk about the AT&T source license as though they grow on 
>trees, maybe they do if you work for a multi billion dollar corporation, but 
>what about small companys and individuals?

You will have to just be patient. Mach 3.0 is on its way and someday you will
be abe to get it from Mt Xinu for you PC. Right now if you want to play with
Mach you can find it running on NeXT machines. If you really want to play
with Mach at a deeper level you probably need to be working for a company or
University doing Mach research work. They will have an AT&T license you can
use.


	Bob Wheeler
	Systems Software Group
	Computer Science Department
	University of Utah 

My opinions are my own and do not necessarily represent the opinions of the 
University of Utah Computer Science Department, Hewlett-Packard, CMU or
Mt Xinu.

fsset@bach.lerc.nasa.gov (Scott E. Townsend) (10/05/90)

Ok, Ok, I see from this thread that a *NIX compatible MACH already ported
is going to require an ATT license, at least.  Now for a slightly different
question:

What is necessary to get the 'bare' kernel and port it to your own hardware
with your own system call interface (which might look like POSIX ;-)?
Specifically, I'm working on a parallel processor based on 88000's in a
VME cage, with cages connected in a Hypercube arrangement.  We have an
incredibly primitive executive which load & runs single tasks on each processor.
We would like to get to the next step of having a 'real' executive.

So, I don't need hardware manufacturer code license, I'll write the
hardware interface code.  I don't need *NIX server code (though it would be
nice & I'll probably support 'vanilla' I/O stuff)  I would like to have
a kernel with the capabilities I believe MACH has.  Is there a way to get
just license-free code & some porting documentation?  We are a research
center, we're not goig to sell this stuff.

I'm posting since I suspect I'm not the only one in this situation, I hope
it isn't considered a waste.


--
------------------------------------------------------------------------
Scott Townsend               |   Phone: 216-433-8101
NASA Lewis Research Center   |   Mail Stop: 5-11
Cleveland, Ohio  44135       |   Email: fsset@bach.lerc.nasa.gov
------------------------------------------------------------------------