It's clear there might be legal issues if Mathematica linked to Sage
using Mathlink, so I was thinking of sending the email below to both
the FSF and Wolfram Research. Any comments?

=============
Hi,

I would like to seek some clarification on software license
conditions. Since this affects Wolfram Research, the GNU General
Public License and developers of the Sage mathematical software, I've
copied this to 3 relevant parties. I realise some of the information
will be obvious to some of the parties concerned, so please excuse it
if you feel I am stating the obvious.

Sage

http://www.sagemath.org/

is an open-source mathematical package released under the GPL version
2, or if the user wishes, any later version of the GPL. Sage uses a
web-based interface, which will often be used on one persons computer,
perhaps by a class of students, but may be set up to allow use over
the Internet. Sage provides extensive mathematical capabilities, and
does not require the use of any commercial software to use Sage. It
makes use of various pieces of open-source mathematical software, such
as the GNU Scientific library, ATLAS for linear algebra, R for
statistics etc. (A more complete list can be found at
http://www.sagemath.org/links-components.html)

Anyone can download a free Sage binary, or get the source code and
compile it themselves, or an get a free account to use Sage at

http://sagenb.org/

and numerous other public servers, mainly at academic institutions. By
default Sage will only work on the computer it is installed on, but it
is possible to configure a computer  network and Sage to allow Sage to
work on a number of computers (typically a class of students), or make
it completely public.

Mathematica

http://www.wolfram.co.uk/mathematica/

is a closed-source proprietary mathematical package, with extensive
cababilites. There are features of Mathematica which Sage does not
have and there are features in Sage which Mathematica does not have.
Some people may use Sage, others Mathematica, and others will use
both.

Wolfram Research, who produce Mathematica, provide an API so people
can write external programs to link to Mathematica. They call this
Mathlink.

http://reference.wolfram.com/mathematica/tutorial/MathLinkAndExternalProgramCommunicationOverview.html

The license for Mathlink can be found here.

http://www.wolfram.co.uk/legal/agreements/mathlink.html

Three things I note from reading this license are:

 * Section 1 states  the license permits only non-commercial software to be used
 * Section 10 states that requests to to use the Mathlink interface
for commercial purposes should be directed to Wolfram Research.
 * A note at the bottom states that as with the standard Mathematica
license, one is not permitted to make Mathematica available over the
Internet.

There is an open-source program called 'jmath', released under the GPL

http://robotics.caltech.edu/~radford/jmath/

which does use the Mathlink protocol, although if you read the authors
notes, you will see the author is a bit unclear on the legal situation
of doing this, with different sources giving him different answers.

Sage includes code which allows communication with Mathematica using
pexpect, which essentially just sends plain  text back and forth
between Sage and the command line version of Mathematica. Sage does
not currently link to any Mathematica binaries. In order to use this
feature in Sage, a user would obviously need to buy a Mathematica
license. To comply with the Mathematica license, using Sage over the
Internet would not be permitted.

This is not technically the best way to communicate with Mathematica,
and a better way technically would be to use the Mathlink API, which
would require linking to Mathematica binaries.

I'd like to ascertain if it is possible for Sage to achieve these aims:

1) Sage to remain GPL
2) Develop software which would allow Sage to communicate with
Mathematica using the Mathlink protocol, rather than use inferior
methods such as pexpect or sockets, which avoid linking with any
Mathematica binaries.
3) Keep all parties concerned happy.

Options I think might work are:

1) We could ensure that any software developed by Sage developers to
communicate with Mathematica, was not installed by default. It could
be a sepparate package, which needs to be installed, and that package
not be GPL. Exactly what license that was released under might not be
easy to determine. Obviously this extra package would not be of
benefit to anyone without a Mathematica license.

2) Another option, which might be acceptable to all, would be to
release Sage under the GPL, complete with the code which links to
Mathematica, but state that use of that part of Sage would require:

* A Mathematica license
* Commercial use of Sage and Mathematica using the Mathlink protocol
would require both a Mathematica license and a license from Wolfram
Research to use the Mathlink protocol. (We would probably keep the
pexcept interface to allow commercial use of Sage with Mathematica,
without a commercial user requiring a license to use Mathlink - they
would only require a Mathematica license.)
* Use of Sage whether for commerical or non-commerical purposes with
Mathematica would need to follow the Mathematica license, which
specifially prohibits use over the internet.

Would either of these options be acceptable to both the FSF and
Wolfram Research? Can either of you think of a way which might be
acceptable to the FSF, Wolfram Research, and Sage developers?

The mixing of commerical and non-commerical code, is often
advantageous to everyone. I believe Mathematica uses ATLAS, and
Mathematica 9 can now use the GPL'ed R, since it of benefit to Wolfram
Research. Likewise, Sage uses both ATLAS and  R, but could benefit
from a better interface to Mathematica.

Unforutnately, software licenses are a bit of a legal minefield, and
ascertaining what is and is what acceptable is not acceptabe is not
always easy. It's clear the developer of jmath had received
conflicting information, although I'm not aware of either the Free
Software Foundation or Wolfram Research objecting to the GPL'ed jmath.

Dr. David Kirkby.

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To post to this group, send email to sage-devel@googlegroups.com.
To unsubscribe from this group, send email to 
sage-devel+unsubscr...@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel?hl=en.


Reply via email to