From: moler@matrix.mathworks.com (Cleve Moler)
Newsgroups: sci.math.num-analysis
Subject: "Public Domain" MATLAB ?
Keywords: MATLAB
Date: 20 Sep 90 17:49:13 GMT
Organization: The MathWorks Inc., Menlo Park, CA


              Is There a "Public Domain" MATLAB?

>From time to time, I see references to, or get requests for, the
"public domain" version of MATLAB.  I am the original author of
MATLAB, and one of the founders of The MathWorks.  I would like
to explain how I regard "public domain" MATLAB.

There are two versions of MATLAB.  I wrote the first, which we now
refer to as "classic" MATLAB, over the period from 1977 to 1984,
while I was on the faculty at the University of Mexico.  It is 
an interactive matrix laboratory, written in Fortran, which uses
some of the subroutines from LINPACK and EISPACK.  I distributed
a few hundred copies of the source code, usually charging a
small service charge, and including a letter requesting that the
code not be redistributed.  I never used the term "public domain".

The second version, written in C by Steve Bangert and John Little,
is the basis for a family of products from The MathWorks, Inc.,
a company which Bangert, Little and I founded in 1985.  These
products are called PC-MATLAB, Mac-MATLAB, Pro-MATLAB, etc.

I obviously recommend that anyone interested in using MATLAB
acquire the MathWorks version appropriate for his or her machine.
In addition to my commercial interest, I believe the MathWorks
versions are preferable scientifically, educationally, and, in the
long run, economically.  The MathWorks versions:

     * Are faster in execution,
     * Have much better storage management,
     * Include powerful graphics,
     * Are extensible and programmable,
     * Can be expanded with sophisticated "toolboxes",
     * Are supported by scientific software professionals.
    
The only feature of classic MATLAB that is not present in modern
MATLAB is the "chop" function which allows the simulation of
shorter precision arithmetic.  It is an interesting curiosity,
but it is no substitute for roundoff error analysis and it makes
execution very slow, even when it isn't used.

I know of several serious bugs in classic MATLAB, particularly
in logical and looping operations, but I don't intend to fix them.
In fact, there have been no fixes made to the code since about 1982.
I stopped distributing any copies myself 4 or 5 years ago.

The number of computers for which MathWorks MATLAB is not available
is declining as old machines are retired and new machine versions
are announced.

A few other commercial systems, for example SCT's CTRL-C,
are based on classic MATLAB.  That's OK.  CTRL-C, was done with
my permission and it helped establish MATLAB in control and
systems engineering.  Now the company is a worthy competitor.

I realize that classic MATLAB is available on a few bulletin boards
and through some "freeware" services.  In some cases, unauthorized
statements about public domain software are included.   I have
regarded this as a mixed blessing.  It certainly gives the MATLAB
approach to computing valuable exposure, but I am afraid that some
users of classic MATLAB do not realize how inferior it is to the
MathWorks products.

In summary, here is my position:

     * There is no such thing as "public domain" MATLAB.

     * I no longer distribute "classic" MATLAB.

     * The code and documentation of classic MATLAB cannot
       be used for commercial purposes without my permission.

     * I would appreciate it if anybody making a copy of
       classic MATLAB for personal or educational use
       would include this statement with it.

Thanks to everybody who has used and supported all the versions
of MATLAB over the years.  Stick with us -- we're committed to
its continued support, development and improvement.

   -- Cleve Moler
      moler@mathworks.com, or,
      na.moler@na-net.stanford.edu

   MathWorks main office:
      The MathWorks, Inc.
      21 Eliot Street
      South Natick, MA 01760
      508-653-1415



--
Virtually all of the programs obtained by our sampling | John W. Eaton
procedure were written in FORTRAN.  -- Donald E. Knuth | jwe@che.utexas.edu
Newsgroups: comp.soft-sys.matlab