Re: GPL vs LGPL vs CAS

From: Bernard Parisse (parisse_at_domain.invalid.fr)
Date: 01/31/05


Date: Mon, 31 Jan 2005 20:40:10 +0100


> Since the same issue comes up in other software, including
> numerical computation, graphics, and facilities as
> diverse as browsers, it seems to me that the particular
> perspective of CAS would not add much to the discussion.
>

I would not say it is the same for e.g. browsers than for
CAS or numerical computation software.

>> And there is one deeper question: the development of science
>> is an open process, therefore the software for science should
>> also be open
>
>
> I do not know why you say this. As far as I can tell
> the development of computers and related science has not
> been an open process. Konrad Zuse, Bletchley Park, come
> to mind. The development of weapons and drugs.
>

I believe that many scientific people would agree that the development
of science in their field is open. There are a few exceptions of
course, especially when military applications are not far.
For our subject, I think the question is where you draw
the boundary between CAS and commodity software. For
example, I don't think that a CAS researcher needs to look
at a browser source code, but I believe that if he want
to experiment new CAS algorithms, it would be better for him
to have access to the source code of a CAS. Otherwise, he
might never know if his algorithm is faster or not, just
because he will for example compare an interpreted and a
compiled algorithm, or he will not use efficient data
structures.

>
> : the source code of the algorithms in a CAS
>
>> should be published (I don't know for interfaces, but the
>> distinction could be done, and proprietary interfaces could
>> certainly work over open-source computing software much like
>> proprietary software work with the linux kernel).
>
>
> I think that you are expressing a preference. I
> generally agree with it. It is not something you and
> I control.

If everybody in the CAS community had the same preferences,
we might have an open-source CAS in the top 2 CAS.

>> There are however most probably academic positions in the corresponding
>> fields of maths or computer science, and I don't see why contributing
>> to an open CAS could not be seen as a research publication,
>> therefore the number is $0 only because people in these academic
>> positions do not see software development as research.
>
>
> Because the US funding agencies do not see system building
> as research, professors who do CAS-related work must propose
> something else to get funding from NSF, DARPA, DOE, ONR,
> NSA, in the United States.
>

Humm, I wonder who decides in the US funding agencies? I mean
the people who decide take certainly some advices in the
scientific community, therefore the fault for getting no
funding for open CAS development would be the community fault.

> The (European) idea that a professor has automatic
> funding and can run a project, with students and staff, without
> external funding has good and bad aspects. It might allow
> the development of a new CAS, at least for a while. But then
> it runs out.
>

Why would it run out much more than a commercial CAS?

> In the US, my experience is the persons who promote faculty members
> in mathematics do not see writing programs as the equivalent of
> publication.

That's in phase with my guess for no-CAS development funding

>> mupad is more open than other commercial systems
>> (except for the kernel).
>
>
> My impression is that Maple code can be viewed, except for
> comments, and except for the kernel, by anyone with access
> to Maple. This is not free, but I have definitely benefited
> from looking at how Maple did some things to understand
> its behavior or even bugs.
>

If you mean tricks like interface(verboseproc=...), I agree
that it gives a few indications, but reading commented source code
is much better than this kind of code.

> But completing a system to the point of robust packaging,
> delivery, technical support, porting to new hardware etc etc
> is not part of academic software. That is when industrial
> and commercial partnerships play a role. At that point GPL
> interferes with technology transfer. The "BSD" or "MIT" license
> is much better for this (that is, you can use it, but don't
> sue us if it doesn't work). My university would much
> prefer technology transfer to be done by specific licenses
> but my colleagues and I try to avoid this.
>

I don't see why GPL interferes, there are now many proofs
of viable economic models built over GPL softwares.
I don't say that an open-source CAS should automatically be GPL,
I just find that the balance of power is not fair with the
academic (or geeks) software developers with BSD kind of licenses.

>> New developments require therefore
>> time (they need to catch up the improvements in CAS algorithms
>> made during the 10 or 20 last years),
>
>
> I do not believe that, beyond a certain point of competence that
> the algorithm improvements are the key
> at all. The set of features does not increase because there
> is (say) a faster FFT algorithm for multiplying polynomials.
> Most of the algorithms in Maxima date from 1980, but this
> includes a sparse modular GCD, an polynomial factoring
> algorithms that is probably good enough for most applications,
> etc.
> In fact I would guess that the theoretical asymptotic O(f(n))
> improvements
> that have filled the last 20 years of journals are of remarkably
> little impact on systems like Mathematica, Maple. They make
> their mark by what computations can be done, e.g. look
> at Wester's benchmarks. Asymptotic timing is probably not
> so important!
>

Some of the articles may have no impact on major CAS, but I would
certainly never say that no important progress happened in
this field during the last 20 years, Groebner basis comes
immediately to mind, but there are certainly a lot of other
important improvements, especially because computers are
so much more powerful now, so that people had the opportunity
to experiment a lot more. I don't find your example of
GCD computation very convincing, it is clear that this algorithm
was one of the first to be studied, you would expect
less progress for this algorithm than for algorithms that
were too time-consuming to play with 20 years ago.

>> it is not clear that they will do these improvements
>> and expand outside of their initial
>> users. If for example axiom had been developped openly from
>> scratch, it would probably be much more different.
>>
> I see no reason to believe this. I suspect that for the
> longest part of its development as Scratchpad, anyone expressing
> an interest in participating could look at it and help. After
> some brief discussion (and a long delay because of IBM lawyers),
> I actually got a free computer (IBM-RT) and Scratchpad at
> Berkeley for experimentation.
>

But you are not "anyone", do you really believe that IBM
would have given me or anyone interested in CAS development
a free license to use and modify the source of Scrachtpad?

> I would prefer to see the largest number people to use my software.
> The idea that we could force Maple or Mathematica to become "free"
> by making our code GPL seems unlikely. Our code could be
> rewritten if it mattered.
>

I don't believe we can force Maple or MMA to become free, but
we can certainly influence their policy. Much like linux
development has influence on Microsoft. And first let's
stop to offer them our work without honest counterpart!
Fortunately there is some competition today between Maple and
Mathematica and others, but just imagine what would happen
if one of them would fail and the other remain in a monopoly
situtation?



Relevant Pages

  • Re: GPL vs LGPL vs CAS
    ... perspective of CAS would not add much to the discussion. ... the source code of the algorithms in a CAS ... Because the US funding agencies do not see system building ... to Maple. ...
    (sci.math.symbolic)
  • Re: Second TI-Nspire report
    ... On your CAS algorithms remarks, I can give you a few hypothesis ... The other problem is that handheld need to become almost as cheap as ... The 32 KB limit is indirectly math related. ...
    (comp.sys.hp48)
  • Re: Computer Algebra Algorithms lisp vs. C. BENCHMARKS?
    ... If we can decide on a few algorithms to code, ... To be specific I would propose that each of the univariate polynomials would ... In Lisp, Maple, Mathematica, etc. such facilities are part of the language. ... A CAS is a collection of interacting ...
    (sci.math.symbolic)
  • Re: Second TI-Nspire report
    ... focusing on students' and parents' observations and ... feedback to working with the handheld calculator. ... On your CAS algorithms remarks, I can give you a few hypothesis ...
    (comp.sys.hp48)
  • Re: Second TI-Nspire report
    ... On your CAS algorithms remarks, I can give you a few hypothesis ... The math soft of the nspire is therefore most probably exactly ... The C.A.S seems to use the comatrix divided by the determinant formula ...
    (comp.sys.hp48)