Re: GPL vs LGPL vs CAS

From: Richard J. Fateman (fateman_at_eecs.berkeley.edu)
Date: 01/31/05

  • Next message: Jay Belanger: "Re: GPL vs LGPL vs CAS"
    Date: Mon, 31 Jan 2005 15:08:57 -0800
    
    

    Bernard Parisse wrote:
    >
    >> 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.

    I know of no company that employs scientists without asking them to
    sign a confidentiality agreement.

    > 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.

    If a researcher wants to experiment with browsers, then looking
    at browser source code would be just as important, I think.

    If a company pays the salary of an employee who spends a
    year writing a faster version of an algorithm, it has to have
    a good reason to then just give away the program.

    > 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.

    That doesn't seem to me to be a good argument for the
    company to give away source code.

    >
    >>
    >> : 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.

    Not everyone does, so we cannot predict what would happen.
    If Wolfram gave away Mathematica, there would be 200 people
    out of jobs. Of course most of them know nothing about CAS,
    just marketing.

    >
    >>> 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.

    Peer reviewers are used by the National Science Foundation.
    However the peer reviewers for symbolic math come from areas
    as distinct as computational geometry, graphics, theorem proving,
    numerical analysis, .... . This community does not generally
    view the development of a (new) free CAS as a research priority.
    Why should the NSF pay $5 million for something a student can
    buy for $79, and others can pay (whatever...)

    >
    >> 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?

    A commercial software company generates profit from sales.
    A free CAS project does not earn money. It only spends money.

    >
    >> 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
    >

    The people who promote faculty members in mathematics have very
    little to say about how the NSF spends computer science funds.
    But I am not sure that I would fund some projects that I have
    seen which seem to have no new ideas, and are just "NIH"
    projects ... Not Invented Here.

    >>> 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.
    >
    yes; and by the way, this is sometimes possible in Mathematica
    if you Unprotect[] pieces.

    >> 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.

    Not so many. There is, in particular, a need for a sustainable model
    for providing technical expertise, like a foundation, or a
    commercial side venture.

    Look at the large number of sourceforge
    projects that are NOT viable.

    > 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.

    My general approach is that I am happy if someone uses my software.
    I do not ask for money, or threaten a company that they must give away
    their software if they use my software.
    >
    >>> 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,

    Certainly the large number of theoretical papers would make
    it seem plausible that important problems of 20 years ago can
    now be solved, but my impression is that industrial application
    of GB is not very common. What I see are artificial benchmarks.
    When GB are useful for inverse problems like finding oil, or
    looking at MRI scans, that will be interesting. What I find
    is that avoiding GB is more important than optimizing them.

    > 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.

    This is my much stronger impression.

    > 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.

    And yet the book Modern Computer Algebra by vzGathen and Gerhard
    doesn't mention this. An indication that theoreticians study
    the wrong things.

    >
    >>> 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 suppose if your declared intention was to give it away to other
    people, they would not give it to you.

    >
    >> 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,
    Actually, we had the opportunity to make commercial Macsyma free, by
    buying it from Macsyma Inc. Instead it was bought by
    an individual (Andrew Topping), who then essentially ceased
    to sell it.

      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!

    You are free to withhold your programs from them. I doubt this
    will matter much to them.

    > 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?

    I do not know whawt would happen. Some people contend that
    Mathematica and Maple -- contrary to what we might think -- are
    not interchangeable, and someone who is forced to stop using
    Mathematica would not automatically buy Maple. (and vice versa).


  • Next message: Jay Belanger: "Re: GPL vs LGPL vs CAS"

    Relevant Pages

    • Re: __asm__ cmpxchg8b/cmpxchg16b
      ... it's crazy not to. ... If the CAS instruction that you are using allows you to automatically ... the current destination value as close as possible to the CAS, ... code which shows how Treiber's algorithm can be implemented in MSVC IA-32: ...
      (comp.programming.threads)
    • Re: Strong thread safety and lock free?
      ... they don't explicitly mention CAS in the actuall claims. ... algorithm itself is identical to that of atomic-ptr. ... I think that would still be patent infringement. ... algorithm is similar to that of Joe Seigh, ...
      (comp.programming.threads)
    • Simple, Experimental Wait-Free RW-Mutex Algorithm on Windows...
      ... This simplistic reader/writer algorithm is wait-free in the sense that there are no loops; ... I guess at a certain level its uses some of the same basic principals that one of Joe Seighs wait-free semaphore algorithms used. ... Everything takes place in single atomic statements which do not depend on any prior state holding a consistent value within a specific timeframe, unlike CAS or LL/SC. ...
      (comp.programming.threads)
    • Re: Strong thread safety and lock free?
      ... they don't explicitly mention CAS in the actuall> claims. ... > algorithm itself is identical to that of atomic-ptr. ... I think that would still be patent infringement. ... algorithm is similar to that of Joe Seigh, ...
      (comp.programming.threads)
    • Re: help polylogarithm
      ... Note that if you have Mathematica on your PC then 'LatticeReduce' implements the LLL algorithm: http://documents.wolfram.com/mathematica/functions/LatticeReduce ... you may try a search of LLL or PSLQ associated with your CAS name for more information. ...
      (sci.math)

    Loading