Reconsidering the GPL licensing of Maxima



--- Chris Sangwin  wrote:

> Dear all,
> 
> I know the issue of choosing a licence for software is a difficult
> one, and that the GPL has certain clauses designed to restrict how
> the *source code* is incorporated into other projects, (open or 
> closed source).

IIRC it's actually more complicated than that (e.g. linking libraries)
which is one of the reasons GPL 3.0 will be needed.  Those definitions
get a tad blurred.

> I have two points to add.
> 
> (1) I think there is a place for a good general purpose CAS available
> freely to the academic community.  The GPL is designed to protect the
> freedom we have to do this.  Currently I see this CAS as Maxima.  For
> a commercial application one could always team up with an existing
> commercial CAS....

But then the broader community wouldn't get to benefit from the work
the commercial company was putting in unless they happened to use that
specific toolset.

If I'm not mistaken (after all I don't know the thinking of the
Mathsoft folk) they are taking a rather far sighted view of this issue.
 A free symbolic core has the following benefits:

a)  It allows their commercial product to leverage developers not on
their payroll, if only for bug fixing occasional feature enhancements. 
They will have to put in the majority of the work to meet their goals,
true, but that leads us to the second major benefit...

b)  - namely, that if their work creates a sufficiently powerful core
other companies might begin to use it and contribute back rather than
building from scratch, which is work Mathsoft also gets to leverage
into its own products.  It makes the CAS marketplace a bit more of a
level playing field.  Every CAS needs to be (mostly) correct to be a
viable product, but that's hard - this approach levels the playing
field while ensuring everyone's products are higher quality.  It's a
general boost to the field.  It also makes it easier for Mathsoft to go
up against Mathematica and Maple - they can claim as a feature that
their core is available for universal use in the name of ensuring
quality and long term viability of work based on it.  Openness will
appeal to academia, if for no other reason than if their budgets get
slashed they don't lose the ability to upgrade the core their work
depends on.  They aren't chained to Mathsoft the way so many documents
in high energy physics (as an example) are chained to Mathematica
availability in order to be useful (see Feyncalc, for example.)  This
means Mathsoft has to work to ensure customer loyalty, but that in
itself will attract people since they know that they can't be dismissed
as being already "addicted" to their software.  (Not to say any of the
others do this - indeed, their product quality is quite good in my
experience - but I prefer a situation where they CAN'T pull such
stunts, regardless of their inclinations.  Management can change, after
all.) I personally much prefer dealing with a company who has a vested
interest in listening to their paying customers, and knows there are
viable alternatives out there for me.

There is also one other potential long term benefit, although this
isn't so specific to the commercial bottom line - if commercial
companies, rather than duplicating work already done in order to stay
current, were able to build off of each others improvements, mightn't
that result in a product far more capable than any one company could
produce?  That would boost the general appeal of the software, if it
could happen, and might even make possible new heights in computational
mathematics.

> (2) A good API for maxima would allow the functionality of Maxima to
> be included into other applications without using the source code of
> maxima in that project.   I am no legal expert, but commercial 
> applications sit happily on top of, for example, Linux without the
> need to change the source code of Linux itself.   
> 
> A good API would of course also help other GPL projects.

The problem is, how does one design such an API?  I don't know the
details of that myself, or what the legal definition is of the
distinctions between running on the linux kernel and linking a library
in, but I know it's not a simple subject.  Even less so when lisp is
involved.

I think such an API would be so much work, given the current state of
Maxima's innards, that it would never happen in a time frame that would
be of interest to Mathsoft.

> Have I missed the point somewhere?  If so, I'm sorry.

Dunno.  I've probably missed a couple myself, but I think LLGPL would
preserve the integreity of Maxima as a free, open source CAS and allow
benefical alliances with commercial entities, which I regard as a good
thing.  GPL+Lisp is a murky issue at best, and I would prefer to see us
duck the issue altogether and go with a license which might, in the end
be more beneficial for Maxima in terms of attracting large scale effort
at improvement.

Dr. Fateman, what is involved with requesting a version of the DOE
Macsyma distribution?  It seems what we need to start doing is
comparing that to the current state of the code, and start tracking
down specific people (those that haven't already responded) to get
things rolling.  That way we can also evaluate Bill Schelter's
contributions and how critical they are to the core functionality and
current enhancements.  (Plus maybe getting more extensive documentation
released :-).  Or has this already been put in motion?

Cheers,
CY


	
		
______________________________________________________
Click here to donate to the Hurricane Katrina relief effort.
http://store.yahoo.com/redcross-donate3/