Hi,

Ondrej, Bernard, and Tim have been sort of arguing in response to
Rob Dodier's nice post...  In their discussion they are I think seeing
everything too much in black and white, and missing the shades
of grey.  Here's what we actually do in Sage:

1. Identify needed functionality (e.g., compute characteristic
     polynomials of matrices, or "symbolic calculus").

2. Find the existing best open source free option that
     implements 1, if there is any (e.g., say the pari C library
     in the above example, or "maxima" + a very sophisticated
     Python interface).

3. Fully integrate 2 into Sage. (Bobby Moretti and I did this
    for Calculus, in the above example.)

4. Somebody comes along and points out that 2 is not
    optimal and that they can do better.  E.g., they have a
    new algorithm for computing characteristic
    polynomials, or think they can implement a drop in
    replacement for symbolic calculus that is in fact much
    better.

5. Somebody tries very hard to implement 4.  Sometimes they
    succeed, and we *switch* over to it, and sometimes they fail,
    and the code never goes into Sage.   Both happen and that
    is fine by me.

This is what is happening with symbolics.  In 2005 we identified
Maxima as the best open source system given our constraints.
Bobby Moretti and I spent about 8 months fully integrating Maxima
in as the core of our symbolic calculus functionality in Sage.
Bill Furnish "popped up" and claimed he could do something
much better, and has been working on this for the last 5 months.
If (or when) his code turns out to be clearly better than what is currently
built on top of Maxima in Sage, then it will go into Sage.  If not, it won't.

The *only* reason I can see for not going from 4 to 5 in the above
example is that I, or Bobby Moretti, and Maxima authors, or whatever
have big egos and can't stand to see their hard work and code
get thrown away.    Well I swallow my frickin' pride and just deal
with it, and have thrown away massive amounts of code I write.
I think that's really the core issue in this whole thread -- some people
are really disturbed by code get thrown away...  Well deal with
it.  It's much more important to make decisions that are best for the
overall quality of a project and "the community goals" than to
stroke your ego by keeping your own code alive forever.

 -- William

--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---

Reply via email to