Contributed code, etc. (was [Maxima] Teaching differential equations with Maxima)



Instead of responding to various messages in this thread individually,
I've created one large response to various issues raised in it:

1) I am very happy to have people seek out existing
Macsyma/Maxima-related code. We have not yet fixed up the packages in
the share directory, however, so it does not yet make sense to seek out
new code for its own sake. Even so, seeking out code that someone has a
particular interest in always makes sense.

2) If there is a Macsyma package available on the web under conditions
like "free for scientific use", I have no problem with someone
contacting the author to see if his/her code may be incorporated into
Maxima. Doing so does not require my permission. However, the author has
to know that Maxima is distributed under the GPL, which does not
restrict distribution to scientific use, non-commercial use, etc. 

2.1)If the author does not want to remove those restrictions, we should
be respectful of his/her right to do so. We could definitely set up a
web page at the Maxima site that links to such code.

2.2) I *do not* think it behooves us to try to get contributions from
people who have a financial interest in their code. This includes the
current owner of the commercial Macsyma code, CRC Press, etc. I
discussed this in an earlier message, but let me add this: a *baseless*
legal challenge from an even modestly-funded commercial entity could
very well be the end of the Maxima project. We simply have zero
resources to fight such an action.

3) There was some discussion about what to do with contributed code that
is not necessarily up to the standards of the maxima distribution. It
has been suggested that we put it somewhere other than "share." This has
come up before. I created the share/contrib directory expressly for that
purpose. I consider that problem solved.

It should also be noted that share packages that work are currently the
exception, not the rule. Fixing them is one of the milestones between
where we are now and 6.0.

4) I am not clear on the legal status of the files that were originally
distributed as "DOE Macsyma." We need to determine whether there really
are functions that are missing (as opposed to simply superseded), and,
if so, exactly what they are. In the end, it may be simpler to
re-implement them then to locate the old versions and determine their
legal status. I don't know.

5) Vadim suggested a file describing all the share packages. I think it
would be very good to have someone work on such a file.

6) After much discussion of current and past ODE implementations in
Maxima, please let me say what I would really like to see for ODE's in
Maxima. There is an excellent ODE package at
<http://lie.uwaterloo.ca/odetools.htm>;. The package is written for
Maple. The code's license is such that it wouldn't be directly usable
for us, anyway. However, the techniques are documented in a series of
papers available from that site. A Maxima implementation of the
techniques should be a straightforward exercise.

--Jim