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.