[comp.os.minix] Reusing Minix Source

hp@vmars.tuwien.ac.at (Peter Holzer) (04/17/91)

To make matters a little more complicated (most Minix tools are
explicitely public domain, and most authors can be contacted by
email, so you can just ask them), how is the situation with parts of
the Minix kernel/MM/FS? Minix is definitely not public domain, but it
is meant for learning about OS's. The best way to learn something is to
do it. If I wanted to write an OS of my own (no, I am not seriously 
considering it), could I use parts of Minix (e.g. device drivers), 
change them to fit my OS, and still make my OS public domain?
Or would I have to rewrite everything myself? I guess for most device
drivers the only parts that would remain unchanged are the ones which
actually ontrol the device and you haven't much choice how write them
anyway. All the algorithms used in Minix are also described in The
Book, and if I implemented them after the text that would be ok (I hope
nobody has patented them yet :-), so why can't I just copy parts of the
code?.
--
|    _  | Peter J. Holzer                       | Think of it   |
| |_|_) | Technical University Vienna           | as evolution  |
| | |   | Dept. for Real-Time Systems           | in action!    |
| __/   | hp@vmars.tuwien.ac.at                 |     Tony Rand |

nall@cs.utk.edu (John Nall) (04/24/91)

In article <2410@tuvie.UUCP> hp@vmars.tuwien.ac.at (Peter Holzer) writes:

>If I wanted to write an OS of my own (no, I am not seriously 
>considering it), could I use parts of Minix (e.g. device drivers), 
>change them to fit my OS, and still make my OS public domain?
>Or would I have to rewrite everything myself? I guess for most device
>drivers the only parts that would remain unchanged are the ones which
>actually ontrol the device and you haven't much choice how write them
>anyway. All the algorithms used in Minix are also described in The
>Book, and if I implemented them after the text that would be ok (I hope
>nobody has patented them yet :-), so why can't I just copy parts of the
>code?.

While I have no idea of how copyright is implemented outside of the US,
within the US it means you can't copy the item.  So you would not be able
to copy parts of Minix - technically, not even one line.  On the other hand,
you could read the book carefully, study the source carefully, and then come
up with your own O/S.  The problem would be, however, in proving that you did
NOT copy it, since, as you state, there is basically only one way to do it.

Those people who have successfully done such things in the commercial 
software market have gotten around this by making sure that the people who
write the code not only do not look at the original, but can PROVE that they
have not (I'm not sure how they prove that).  The classic, of course, is the
guy who not only copies code, but even uses (a) original comments, and (b)
parts of the original code which serve no use and should not even be in the
original, and then attempts to claim he never looked at the original!

So far as algorithms go, my understanding is that you CAN't patent them.
But of course you can copyright a particular implementation of one.

BTW, on all the above I'm talking about doing something for commercial
purposes.  Fair use doctrine and all that stuff covers the type of stuff
99% of us do.



-- 
-------------------------------------------------------------------------
John Nall, Comp. Sci. Dept. | "MY Personal Best?  Oh, let me think a moment. 
Univ of Tenn at Knoxville   |  I think perhaps the time I read the entire
nall@cs.utk.edu             |   set of Travis McGee books over a weekend."

rhyde@musial.ucr.edu (randy hyde) (04/24/91)

>> You haven't much choice how to write them...
> There's only one way to do it...

Not True!  Sure, the interface has to be fairly consistent, but there
are lots of (different) ways to accomplish something and be original about it.

OTOH, I suspect your claim about "not even copying one line" is
unsupportable.  There are fair use clauses in literary copyrights (I'm
not sure if this applies to software) which allow this.  Furthermore, it
would be on PH to *prove* you copied that one line and it resulted in
damage of some sort or another to them.  I doubt they would push it that far.

I, for example, plan on rewriting the process manager in 32532 assembly
language
as soon as my copy of Minix arrives.  I will have no problem
distributing the sources.   Why?  Because I don't plan on acting like a
human compiler and translate the source line for line (which would make
it a derivative, still covered by the copyright).  I will study the
algorithms and data structures and then redesign the code using the
appropriate paradigm (i.e., assembly language rather than C).  Although
this would be a sticky point were Minix simply a commercial software
product (*I* would have to be ready to prove it wasn't a simple
derivation), I'm sure the courts wouldn't have any problem with my
releasing my code since the purpose of the textbook was to teach me how
to write an O/S and applying the information I got from the book is an
expected thing.

dc@caveat.berkeley.edu (Dave Cottingham) (04/24/91)

In article <1991Apr24.132201.29077@cs.utk.edu> nall@cs.utk.edu (John Nall) writes:
>So far as algorithms go, my understanding is that you CAN't patent them.
>But of course you can copyright a particular implementation of one.
>

I wish it were so, but it ain't.  The US Patent Office has been
issuing software patents like crazy for about five years now.  Are
they valid?  Who knows, but valid or not they should be fairly
effective at protecting large immobile software companies from
competition from small innovative ones.  For more info on this
subject, FTP to prep.ai.mit.edu and grab pub/lpf/patents.texinfo.

There is a patent treaty in the works which most of the industrialized
world is likely to sign.  In its current incarnation it includes
software among the things that can be patented.  So, all you hackers
out there, if your country signs this, you'll find the following
algorithms protected by patent (they're patented in the US already):
LZW compression (used by compress), backing store (used by X-windows),
and include files (used by everything).  And many more.  Maybe you
should look into this.

Dave Cottingham			| "The low-bid contractor is not always
dc@caveat.berkeley.edu		|  the truly socially conscious one."
				| - Loni Hancock, mayor of Berkeley

nall@cs.utk.edu (John Nall) (04/25/91)

In article <1991Apr24.164057.20338@agate.berkeley.edu> dc@caveat.berkeley.edu (Dave Cottingham) writes:
>In article <1991Apr24.132201.29077@cs.utk.edu> nall@cs.utk.edu (John Nall) writes:
>>So far as algorithms go, my understanding is that you CAN't patent them.
>>But of course you can copyright a particular implementation of one.
>>
>
>I wish it were so, but it ain't.  The US Patent Office has been
>issuing software patents like crazy for about five years now.  Are

Huh?  Do we have a communications problem here?  I never said one cannot
patent software!

In all honesty, I'll have to concede that I am  not completely up to 
date in the field.  I did a law review article on it a number of years
ago, but things have changed since then.  So I will slink away and leave 
the field to others who may be more aware of the current state of affairs.





-- 
-------------------------------------------------------------------------
John Nall, Comp. Sci. Dept. | "MY Personal Best?  Oh, let me think a moment. 
Univ of Tenn at Knoxville   |  I think perhaps the time I read the entire
nall@cs.utk.edu             |   set of Travis McGee books over a weekend."