I have not taken any offense, on the contrary!
Thank you very much for your detailed answer.

Maurizio

On Oct 27, 10:41 pm, William Stein <wst...@gmail.com> wrote:
> On Tue, Oct 27, 2009 at 1:58 PM, Maurizio <maurizio.gran...@gmail.com> wrote:
>
> > What about adopting a simpler strategy?
> > What do you think about this: every 6 months (or 9, or 12 whatever),
> > the developers are asked to focus on producing bugfixing instead of
> > introducing new features.
>
> Asked by whom?   For how long? And, who are "the developers"?   The
> Sage project has no fulltime employees: Michael Abshoff was the only
> one we ever had, and his funding ran out in May.   The vast majority
> of people who work on Sage do so for very specific reasons related to
> their own research or teaching, and consequently they work on
> specifically what they want to work on.   Moreover, I try my best not
> to boss anybody around involved in the project (if anybody feels
> bossed around by me, definitely let me know -- it's not intentional).
>
> I personally would be uncomfortable telling "the developers" to focus
> for a month (say) on producing bugfixes instead of new features.
> However, I think there is value in thinking about specific ways to
> improve the quality of Sage overall.  There are many things we can all
> do to help.  Here are some concrete suggestions:
>
> 1. Improve the doctest coverage.  It is currently 79.5%:
> $ sage -coverageall
> Overall weighted coverage score:  79.5%
> Total number of functions:  22734
> We need  114 more function to get to 80% coverage.
> ----------
>
> TAKE ACTION: Anybody reading this right now could sit down and put a
> dent in that "114 more functions".
>
> 2. Report bugs.  I checked yesterday and there are 822 known bugs in
> Sage, according to trac.   If you find a bug, make sure to report it
> and get it into trac.  Don't just blow it off.  The more bugs we know
> about (with clean, easy to test reproducible examples!), the better.
>
> TAKE ACTION: I bet you know about one bug in Sage that isn't listed in
> trac -- report it, and make sure it gets listed there!
>
> 3. Organize a bug day.  A few years ago Martin Albrecht introduced a
> "Bug Day" idea into Sage development.  This is a pre-announced day
> when people meet on irc and fix bugs.  We have had 17 of these, but
> they stopped for no apparent reason nearly a *year* ago.  See the list
> here:http://wiki.sagemath.org#BugDays
>
> TAKE ACTION: Organizing a Bug Day is easy!  Just come up with a time,
> announce it on sage-devel, see if you can get some other people
> interested, make a list of specific bugs to work on (with some common
> theme), show up, "keep score", and report on what happened in another
> sage-devel followup email.
>
> 4. Help write a Selenium test suite for the sage notebook.   If we had
> a sufficiently good one, this would have prevented most (all?) of the
> many recent issues with the notebook.  I personally won't do any
> nontrivial further development on the notebook or merging of patches
> until there is a test suite.
>
> TAKE ACTION: I'm going to do this.
>
> > In this way, what happens is that one
> > release every "n" months could be considered more stable and reliable,
> > and these releases are kept on the website available for downloading
> > together with the current release.
> > In this way, I hope, there's really no overhead in the current work.
>
> This is trying to introduce some committee-style rules into the future
> of Sage development, instead of suggesting specific concrete actions
> people can take to improve the quality of Sage.   This makes me a
> little bit uncomfortable, as if I'm being told what to do.   It also
> seems idealistic to ask a hundred people to work a few weeks on fixing
> bugs -- "the developers are asked to focus on producing bugfixing
> instead of introducing new features" -- and assume that this will
> result in "no overhead" and a release that is "more stable and
> reliable".  My concerns are that:
>
>   (1) This suggestion asks many people to do for free a bunch of
> painful, difficult work that they likely don't want to do, and don't
> have the time to do.
>
>   (2) Without a top notch test suite and multiple rounds of alpha/beta
> testing, often fixing a bunch of bugs can easily results in software
> that is less stable and more buggy.   I think Sage has a good test
> suite, but honestly it is nowhere near where I want it to be -- which
> is 100% doctest coverage, plus a large suite of randomized testing
> that is run 24/7 on a cluster hunting for bugs, like what is done in
> the MPIR project.
>
> I want to emphasize point (2).  In my experience, *most* people's
> attempts to fix a bug results in something they think fixes the bug,
> but in fact adds several other bugs.   This is just the reality of
> software engineering.  This is the case for extremely experienced
> developers new to a project, for experienced developers who have been
> involved for a long time, but forget something subtle, etc.
>
> I'm all for fixing bugs, but don't consider it necessarily capable of
> producing a more *stable* Sage release -- indeed it can result in a
> much less stable one, unless there is a perfect test suite.
>
> > Of course, some effort in changing goals twice a year would be
> > required, so that old problems are solved.
>
> > Thanks for discussing this
>
> > Regards
>
> > Maurizio
>
> Thanks to you to.  Please try not to take any offense to what I wrote
> above.  I'm just trying to engage in a helpful intellectual way.
> Honestly, I would rather be doing something else right now, but you've
> patiently and painstakingly laid out your thoughts in detail
> repeatedly, so I think it is unfair if I don't respond.
>
>  -- William
--~--~---------~--~----~------------~-------~--~----~
To post to this group, send an email to sage-devel@googlegroups.com
To unsubscribe from this group, send an email to 
sage-devel-unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---

Reply via email to