I've tried to hunt around and make some kind of sense out of the
history of Macsyma for the user manual, working largely from Dr.
Fateman's papers, the odd usenet posting, and some communications from
Richard Petti. I've included my first draft, and appeal to those who
where there to point out inaccuraces, omissions, etc. (I know I need
to include citations - I'll fix that up for the final version.) If
someone wants to take this as a start and write up a proper history,
please do - I know this is not very detailed and may be inaccurate in
some respects.
A Brief History of Macsyma
The birthplace of Macsyma, where much of the original coding took
place, was Project MAC at MIT in the late 1960s and earlier 1970s.
Project MAC was an MIT research project, sponsored by the Advanced
Research Projects Agency(ARPA), Department of Defense, under Office of
Naval Research. The contract, which undoubtedly means something to
someone was N00014-70-A-0 362-0002. This project was blessed to have a
group of brilliant coders working in the "Mathlab Group". They were
studying the possibility that
computers could be used to solve symbolic mathematical problems, a
challenge which at that time had never been undertaken. The
undertaking was a sequel to a previous effort at MIT called Mathlab.
The new effort was dubbed Macsyma - Project MAC's SYmbolic MAnipulator.
(Cite new paper) The original core design was done by W.A. Martin, C.
Engelman, and J. Moses in July 1968, and coding began in July 1969 with
significant parts of the system being programmed and designed by
W.A. Martin, P. Loewe, T. Williams, R. Fateman, E. Tsiang, P. Wang, J.
Golden and others. This was long before the days of personal computers
and cheap memory - development was centered around the group's
DEC-PDP-10, running the ITS operating system. This central machine was
the hardware core of the effort, and in its earliest years Macsyma ran
only on this machine. It could be accessed remotely from Arpanet, a
precursor to the Internet and World Wide Web, which helped it gain a
wider audience. As the effort grew in scope and ability the general
interest it created lead to attempts to "port" the code - that is, to
take the series of instructions which had been written for one machine
and operating system and adapt them to run on another,different system.
One of the very earliest ports, if not the earliest, was the running
of Macsyma in a MacLisp environment on a Honeywell Multics mainframe,
but due in part to the subsidized time on the MIT machine not much
effort was put into porting the early days (Computer time in those days
was measured out like the limited resource it in fact was, and the cost
of computer time on these machines could be very expensive - hence the
preference for the PDP-10.) The maintenance system was quite casual by
the standards of a modern software project, but without the instant
communication we take for granted today (many contributing individuals
did not have access even to Arpanet) things were manageable.
Around 1980, the idea of porting Macsyma began to be more interesting,
and the Unix based vaxima distribution, which ran on a Lisp environment
written in C, demonstrated that it was both possible and practical to
run the software on less expensive systems. Once the code stabilized,
the new version opened up porting possibilities, ultimately producing
at least six variations on the theme which included Macsyma, Maxima,
Paramax/Paramacs, Punimax, Aljbar, and Vaxima. These have followed
somewhat different paths, and most were destined to fade into the
sunset. The two which survived obscurity, Maxima and Macsyma, we will
discuss below.
There is a certain surprising aspect in this multiplicity of versions
and platforms, given how non-portable the code originally seemed, but
it was helped along both by gradual efforts of many people and the
introduction of the ANSI Common Lisp standard. While not everything
in Macsyma can be done in ANSI CL, the trend toward standardization
none the less made many things simpler. It is a trend the Maxima
project is planning to carry on, to maintain and expand on this
flexibility which has emerged.
With all these versions, in recent history there are two which have
been major players, due this time more to economics than to code
quality. 1982 was a watershed year in many respects for Macsyma - it
marks clearly the branching of Macsyma into two distinct products, and
ultimately gave rise to the events which have made Maxima both possible
and desirable. MIT had decided, with the gradual spread of computers
throughout the academic world, to put Macsyma on the market
commercially, via Arthur D. Little, Inc. This version came under the
auspices of Symbolics Inc., which turned the project into a significant
commercial effort. They hired away some of the MIT people to work
at Symbolics in order to improve the code, but they did not release any
of their changes back to the community. The original PDP-10 also went
off the Arpanet in 1983. (Interestingly, the closing of the MIT Lisp
and Macsyma efforts was a key reason Richard Stallman decided to form
the Free Software Foundation.) Between the high prices, closed source
code, and neglecting various platforms in favor of Lisp Machines (a
product of Symbolics which worked natively in Lisp) pressure came to
bear on MIT to release another version to accommodate these needs,
which they did with some reluctance. The new version was distributed
via the National Energy Software Center, and called DOE Macsyma. It was
from this version that most of the distributions listed above were
developed.
The code was very definitely not free - the licenses ran in the
neighborhood of two to three thousand dollars, with the key difference
that with the license came the source code. Among all the new activity
centered around DOE Macsyma, Dr. William Schelter began maintaining a
version of the code, calling his variation Maxima. However, by this
point in the game, Macsyma was no longer a solo player in the field.
In 1988, Stephen Wolfram introduced his computer algebra system
Mathematica, and in the same year? Waterloo Software released Maple.
These systems were inspired by Macsyma in terms of their capabilities,
but they proved to be much better at the challenge of building
mind-share. To the Macsyma user the proven, stable system seemed to
offer many advantages over these new systems. Needing a correct, tested
system with available source code more than they needed a GUI or fancy
formatting, they did not switch. Unfortunately for the Macsyma
community, the new systems proved that there was an enormous commercial
market for the closed, but perhaps more intuitive environments, and the
non-computer-science academic community also showed a willingness to
use these systems. DOE-Macsyma, because of the nature of its users and
maintainers, never responded to this challenge - it had no real need
to. Symbolics, however, proved unable to cope with the new
competition. In 1992 Richard Petti founded Macsyma Inc. by buying
their version of the program, with the intention to make it a viable
competitor to Mathematica and Maple. Unfortunately, despite graphical
improvements, improvements in ability, and attractive pricing, the
battle was already lost. When commercial efforts failed, R. Petti
attempted first to gain an endowment to permit continued development of
the system, and then to persuade Florida State to adopt Macsyma as an
addition to their symbolic mathematics software program, but both
efforts failed. In the summer of 1999 Macsyma Inc. was sold to a
holding company, which is seeking large contracts for the product and
has removed it completely from the retail market. The other DOE
Macsyma based efforts did not have Macsyma Inc.'s graphical interface,
or any visible market share. Mathematica and Maple appeared to have
vanquished Macsyma.
It was at this point Maxima entered the game. Although it was not
widely known in the general academic public, W. Schelter had been
maintaining and extending his copy of the code ever since 1982. He had
decided to see what he could do about distributing it more widely. He
attempted to contact the NESC to request permission to distribute
derivative works. The duties of the NESC had been assumed in 1991 by
the Energy Science and Technology Software Center, which granted him
virtually unlimited license to make and distribute derivative works,
with some minor export related caveats.
It was a major breakthrough. This release was granted in Oct. 1998,
just prior to the collapse of the commercial Macsyma effort. When the
company abruptly vanished in 1999, with little to no warning or
explanation, it left their customer base hanging. They began looking
for a solution, and some drifted toward Maxima, the only remaining
active and available version of the original Macsyma project and now
released under the Free Software Foundation's General Public License.
The fact it was free both in terms of source code and price was
appealing to many, and it also attracted some new users who were
looking
for mathematical software without the high price tags of Mathematica
and Maple.
Dr. Schelter maintained the Maxima system until his untimely death in
July, 2001. It was a hard and unexpected blow, but Schelter's obtaining
the go ahead to release the source code saved the project and possibly
even the Macsyma system itself. A group of users and developers who had
been brought together by the email list for Maxima decided to try and
form a working open source project around the Maxima system, rather
than let it fade - which is where we are today.
__________________________________________________
Do You Yahoo!?
Check out Yahoo! Shopping and Yahoo! Auctions for all of
your unique holiday gifts! Buy at http://shopping.yahoo.com
or bid at http://auctions.yahoo.com