On Thu, 04 Feb 2010 09:10:25 +0000, "Dr. David Kirkby" 
<david.kir...@onetel.net> wrote:
> It seems to me that Sage version numbers follow  the rule, that when last 
> digit 
> in X.Y.Z get to 2, then Y is incremented. That is some logic I guess, but it 
> is 
> not a sensible one. (I think this is a case of Mathematicians at work)

You are asking for it, so here it is:  your argument is a case of
what mathematicians call "engineer's induction" -- claim appears to hold
in 2 or 3 cases, so it must be a universal truth :).

Here are version numbers since 1.0:

sage-4.3.tar            260.62 MB       2009-12-24 17:45
sage-4.2.1.tar          258.56 MB       2009-11-14 18:26
sage-4.2.tar            259.19 MB       2009-10-25 06:08
sage-4.1.2.tar          256.41 MB       2009-10-15 01:44
sage-4.1.1.tar          210.48 MB       2009-09-14 07:00
sage-4.1.tar            207.49 MB       2009-07-09 22:16
sage-4.0.2.tar          205.27 MB       2009-06-19 12:46
sage-4.0.1.tar          202.43 MB       2009-06-06 17:16
sage-4.0.tar            204.43 MB       2009-05-31 11:15
sage-3.4.2.tar          206.14 MB       2009-05-12 05:14
sage-3.4.1.tar          208.44 MB       2009-04-22 04:31
sage-3.4.tar            204.55 MB       2009-03-12 05:13
sage-3.3.tar            213.85 MB       2009-02-21 18:50
sage-3.2.3.tar          205.98 MB       2009-01-06 07:09
sage-3.2.2.tar          205.64 MB       2008-12-30 20:24
sage-3.2.1.tar          204.74 MB       2008-12-20 06:28
sage-3.2.tar            203.55 MB       2008-11-20 21:02
sage-3.1.4.tar          202.27 MB       2008-10-20 15:12
sage-3.1.3.tar          202.34 MB       2008-10-14 16:50
sage-3.1.2.tar          196.46 MB       2008-09-20 03:03
sage-3.1.1.tar          190.52 MB       2008-08-17 18:42
sage-3.1.tar            190.51 MB       2008-08-17 03:00
sage-3.0.6.tar          189.49 MB       2008-07-31 03:15
sage-3.0.5.tar          188.25 MB       2008-07-11 18:55
sage-3.0.4.tar          188.22 MB       2008-07-10 08:46
sage-3.0.3.tar          190.18 MB       2008-06-23 18:00
sage-3.0.2.tar          189.86 MB       2008-05-24 23:36
sage-3.0.1.tar          211.71 MB       2008-05-05 13:13
sage-3.0.tar            208.27 MB       2008-04-24 02:49
sage-2.11.tar           195.47 MB       2008-03-31 03:29
sage-2.10.4.tar         189.80 MB       2008-03-18 00:35
sage-2.10.3.tar         184.12 MB       2008-03-11 20:21
sage-2.10.2.tar         209.34 MB       2008-02-23 02:47
sage-2.10.1.tar         205.03 MB       2008-02-03 01:54
sage-2.10.tar           200.56 MB       2008-01-18 23:27
sage-2.9.3.tar          195.65 MB       2008-01-06 08:01
sage-2.9.2.tar          197.76 MB       2008-01-05 14:38
sage-2.9.1.1.tar                196.25 MB       2007-12-25 22:36
sage-2.9.1.tar          201.66 MB       2007-12-24 20:09
sage-2.9.tar            185.48 MB       2007-12-16 15:32
sage-2.8.15.tar         167.35 MB       2007-12-04 07:21
sage-2.8.14.tar         164.90 MB       2007-11-25 07:59
sage-2.8.13.tar         164.87 MB       2007-11-21 21:56
sage-2.8.12.tar         163.28 MB       2007-11-07 15:34
sage-2.8.11.tar         158.24 MB       2007-11-03 00:41
sage-2.8.10.tar         157.32 MB       2007-10-29 04:31
sage-2.8.9.tar          156.71 MB       2007-10-25 08:01
sage-2.8.8.1.tar                156.08 MB       2007-10-21 17:15
sage-2.8.7.2.tar                153.20 MB       2007-10-20 17:44
sage-2.8.7.tar          153.26 MB       2007-10-16 06:05
sage-2.8.6.tar          151.41 MB       2007-10-06 07:25
sage-2.8.5.1.tar                148.39 MB       2007-09-26 16:38
sage-2.8.5.tar          148.40 MB       2007-09-21 08:12
sage-2.8.4.2.1.tar              147.02 MB       2007-09-20 17:01
sage-2.8.4.2.tar                146.40 MB       2007-09-13 21:41
sage-2.8.4.1.tar                145.79 MB       2007-09-09 18:52
sage-2.8.4.tar          145.78 MB       2007-09-07 22:18
sage-2.8.3.6.tar                144.96 MB       2007-09-06 09:33
sage-2.8.3.5.tar                144.91 MB       2007-09-06 01:03
sage-2.8.3.tar          141.80 MB       2007-08-31 15:35
sage-2.8.2.tar          133.31 MB       2007-08-22 17:44
sage-2.8.tar            137.38 MB       2007-08-13 01:18
sage-2.7.3.tar          135.73 MB       2007-08-03 03:05
sage-2.7.2.tar          135.30 MB       2007-07-29 04:19
sage-2.7.1.tar          129.62 MB       2007-07-24 23:44
sage-2.7.tar            114.79 MB       2007-07-20 05:09
sage-2.6.tar            101.22 MB       2007-06-03 05:32
sage-2.5.3.tar          97.91 MB        2007-05-23 01:38
sage-2.5.2.tar          98.24 MB        2007-05-20 17:15
sage-2.5.1.tar          97.52 MB        2007-05-19 17:11
sage-2.5.0.2.tar                96.62 MB        2007-05-11 16:55
sage-2.5.0.1.tar                96.61 MB        2007-05-11 05:56
sage-2.5.tar            96.57 MB        2007-05-09 02:06
sage-2.4.2.tar          92.46 MB        2007-04-13 06:52
sage-2.4.1.2.tar                92.03 MB        2007-03-28 20:25
sage-2.4.1.1.tar                91.88 MB        2007-03-28 05:37
sage-2.4.1.tar          91.88 MB        2007-03-28 02:40
sage-2.4.tar            91.69 MB        2007-03-26 02:34
sage-2.3.tar            88.31 MB        2007-03-06 20:38
sage-2.2.tar            87.19 MB        2007-03-01 01:29
sage-2.1.4.tar          86.89 MB        2007-02-18 06:41
sage-2.1.3.1.tar                85.80 MB        2007-02-17 10:01
sage-2.1.3.tar          85.62 MB        2007-02-16 17:44
sage-2.1.2.tar          85.62 MB        2007-02-16 07:25
sage-2.1.0.1.tar                85.45 MB        2007-02-09 17:05
sage-2.1.tar            85.70 MB        2007-02-09 09:54
sage-2.0.tar            83.96 MB        2007-01-28 14:33
sage-1.9.tar            83.99 MB        2007-01-27 17:54
sage-1.8.2.1.tar                83.38 MB        2007-01-25 05:27
sage-1.8.2.tar          83.38 MB        2007-01-25 04:19
sage-1.8.1.tar          82.84 MB        2007-01-24 05:55
sage-1.8.tar            82.78 MB        2007-01-23 16:55
sage-1.7.1.tar          80.99 MB        2007-01-18 09:42
sage-1.7.tar            81.12 MB        2007-01-16 08:54
sage-1.6.1.tar          77.53 MB        2007-01-14 10:45
sage-1.6.tar            74.30 MB        2007-01-12 15:11
sage-1.5.3.tar          73.74 MB        2007-01-05 19:58
sage-1.5.2.tar          72.01 MB        2007-01-05 00:06
sage-1.5.1.2.tar                72.75 MB        2006-12-16 23:47
sage-1.5.1.1.tar                72.75 MB        2006-12-16 17:57
sage-1.5.1.tar          72.75 MB        2006-12-16 07:31
sage-1.5.0.2.tar                72.72 MB        2006-12-15 06:51
sage-1.4.1.2.tar                64.19 MB        2006-10-19 19:09
sage-1.4.1.1.tar                64.18 MB        2006-10-19 04:36
sage-1.4.1.tar          64.18 MB        2006-10-19 00:42
sage-1.4.tar            63.38 MB        2006-10-06 06:45
sage-1.3.7.3.3.tar              61.45 MB        2006-09-22 01:54
sage-1.3.7.3.2.tar              58.65 MB        2006-09-22 00:57
sage-1.3.7.3.tar                56.45 MB        2006-09-21 11:52
sage-1.3.7.2.tar                60.77 MB        2006-09-12 18:17
sage-1.3.7.1.tar                60.05 MB        2006-09-11 04:58
sage-1.3.7.tar          54.52 MB        2006-09-09 06:48
sage-1.3.6.4.tar                52.55 MB        2006-08-31 20:03
sage-1.3.6.3.tar                51.71 MB        2006-08-13 18:50
sage-1.3.6.2.tar                51.45 MB        2006-08-07 17:15
sage-1.3.6.1.tar                51.31 MB        2006-08-04 09:30
sage-1.3.6.tar          51.30 MB        2006-07-30 12:58
sage-1.3.5.7.tar                51.26 MB        2006-07-28 18:54
sage-1.3.5.6.tar                52.24 MB        2006-07-28 09:30
sage-1.3.5.5.tar                52.12 MB        2006-07-26 03:15
sage-1.3.5.4.tar                50.69 MB        2006-07-21 14:48
sage-1.3.5.3.tar                54.92 MB        2006-07-15 14:21
sage-1.3.5.2.tar                50.27 MB        2006-07-08 15:25
sage-1.3.5.1.tar                49.91 MB        2006-07-05 04:26
sage-1.3.5.tar          49.57 MB        2006-07-04 03:29
sage-1.3.4.2.tar                48.69 MB        2006-06-27 08:41
sage-1.3.4.1.tar                48.69 MB        2006-06-26 20:14
sage-1.3.4.1.0.tar              48.68 MB        2006-06-26 20:08
sage-1.3.4.tar          48.66 MB        2006-06-25 19:14
sage-1.3.3.7.tar                48.67 MB        2006-06-20 19:23
sage-1.3.3.6.tar                48.66 MB        2006-06-19 01:20
sage-1.3.3.5.tar                48.66 MB        2006-06-18 06:58
sage-1.3.3.4.tar                48.65 MB        2006-06-16 07:24
sage-1.3.3.3.tar                48.78 MB        2006-06-12 18:28
sage-1.3.3.2.tar                48.78 MB        2006-06-12 02:26
sage-1.3.3.1.tar                48.78 MB        2006-06-08 22:30
sage-1.3.3.tar          48.54 MB        2006-06-07 02:05
sage-1.3.2.2.tar                48.97 MB        2006-05-28 01:21
sage-1.3.2.1.tar                48.98 MB        2006-05-25 21:22
sage-1.3.2.tar          49.26 MB        2006-05-23 02:05
sage-1.3.1.3.tar                47.87 MB        2006-05-23 02:04
sage-1.3.1.2.tar                48.95 MB        2006-05-19 21:21
sage-1.3.1.1.tar                48.95 MB        2006-05-18 19:04
sage-1.3.1.tar          48.95 MB        2006-05-17 07:17
sage-1.3.0.1.tar                48.92 MB        2006-05-11 22:07
sage-1.3.0.tar          48.92 MB        2006-05-08 20:14
sage-1.2.5.tar          48.74 MB        2006-05-05 07:38
sage-1.2.4.tar          48.63 MB        2006-05-02 10:45
sage-1.2.3.1.tar                48.50 MB        2006-04-22 01:19
sage-1.2.3.tar          48.50 MB        2006-04-21 03:55
sage-1.2.2.tar          48.71 MB        2006-04-18 06:39
sage-1.2.1.tar          50.90 MB        2006-04-14 01:20
sage-1.2.0.tar          46.96 MB        2006-04-07 20:22
sage-1.1.2.tar          42.04 MB        2006-03-15 08:45
sage-1.1.1.tar          42.02 MB        2006-03-13 10:55
sage-1.1.0.tar          42.02 MB        2006-03-10 02:11
sage-1.0.9.tar          42.00 MB        2006-03-07 19:45
sage-1.0.8.tar          42.00 MB        2006-03-07 06:53
sage-1.0.7.tar          39.88 MB        2006-03-03 12:15
sage-1.0.6.tar          39.93 MB        2006-02-26 16:18
sage-1.0.5.tar          39.87 MB        2006-02-21 10:15
sage-1.0.4.tar          39.73 MB        2006-02-17 10:28
sage-1.0.3.tar          39.69 MB        2006-02-13 16:06
sage-1.0.2.tar          39.69 MB        2006-02-13 01:01
sage-1.0.1.tar          39.80 MB        2006-02-10 11:28
sage-1.0.0.1.tar                39.27 MB        2006-02-05 15:47
sage-1.0.0.tar          39.26 MB        2006-02-04 08:50


You will notice plenty of counterexamples to the guessed "rule",
e.g. 2.8.15.

Silliness aside, I believe that even if the current numbering system is
not perfect, an effort is usually made to have the number illustrate the
magnitude of the changes.  Hundreds of bugs fixed as a result of a
particularly succesful Bug Days would not get a new major version.  It
used to be, until recently, that goals for the next release were
discussed on sage-devel.  Trac milestones also usually have goals listed.

> [...]
> 
> It would however mean that people that wanted a stable release to install on 
> a 
> server they can't change every couple of weeks, would chose an X.Y.1, or an 
> X.Y.2, safe in the knowledge that it should be quite stable, as only bug 
> fixes 
> were applied.

I'm pretty sure this was discussed at length fairly recently in the
context of having "stable" vs "bleeding edge" branches.

> If a list of bugs to be fixed in the X.Y.1 or X.Y.2 were published, a user 
> could 
> consult that list, and determine if its worth the bother of him/her updating 
> Sage.  They would determine if they are likely to be affected by them, and 
> not, 
> they could put off upgrading until there was new functionality added when Y 
> is 
> incremented.

There are release notes for all releases, with a complete list of closed
tickets.  The user can consult the list and see (a) what annoying bugs
have been fixed and (b) what new functionality was added; this is a good
base for making a decision about upgrading or waiting, I think.

> That is the approach GCC takes. If we look at the latest 4.4.3, we see
> 
> "This release is a bug-fix release, containing fixes for regressions in GCC 
> 4.4.2 relative to previous releases of GCC."
> 
> http://gcc.gnu.org/gcc-4.4/
> 
> Wolfram Research do that too, with their X.Y.Z. A major release was 
> Mathematica 
> 6. Only bug fixes were applied in 6.0.1 - there was no new functionality.

Unfair comparisons.  Both GCC and Mathematica are significantly older
and more mature than Sage.  They can afford to be patient with new
functionality, see also below.

> I know Sage follows this "release early, release often" scheme, but I'm not 
> convinced this approach is really going to make Sage a viable alternative to 
> to 
> Magma, Maple, Mathematica and Matlab.

I feel that the two main obstacles on Sage's path to its stated goal
are:

1. The (sometimes complete) lack of functionality in some areas of
mathematics
2. The absence of a native Windows port.

It saddens me to admit to 2, since I think that Sage is awesome enough
that one could go through the trouble of using a virtual machine image
under Windows, or even (gasp!) give some flavour of Linux a try, but I
think it is nevertheless true.

Anyway, the point I'm trying to make here (and this goes in the
direction of Nick Alexander's post a few days ago), is that without
functionality, everything else seems pointless.  In the context of
stability: if a user upgrades Sage to a new version and this causes some
trouble in the form of new bugs, the said user might or might not be put
off.  However, if a user needs to be able to accomplish a certain task
and Sage offers no way of doing so, or it's much worse at it than other
software, that person is very likely to not give Sage a try.

> Sage 4.0.0 - major new release. Sometime really great has happened. Be 
> prepared 
> for some bugs (remember gcc 4.0.4 ?)
> Sage 4.0.1 - only bug fixes
> Sage 4.0.2 - only bug fixes
> Sage 4.0.3 - only bug fixes
> Sage 4.1.0 - semi- major release, new functionality.
> Sage 4.1.1 - bug fixes only.
> Sage 4.2.0 - new functionality.
> Sage 4.2.1 - bug fixes only.
> 
> Developers would get their code reviewed, but know that if its contains new 
> functionality, it will have to wait until Z or Y is incremented before it 
> will 
> get in.

You probably meant "wait until X or Y is incremented" (that's something
else engineers tend to have trouble with -- variable names :).

I have an objection to your last statement here: it is already hard
enough to get tickets that have new functionality reviewed and merged in
a timely fashion, and this results in bitrot and endless rebasing before
and throughout the review process.  Suppose Sage 5.0.1 was just
released, then there could be a handful of releases until a new "major"
release comes around.  I don't relish the thought of having to keep
rebasing my patches waiting for a review, and then most likely having to
keep rebasing my patches waiting for the merge -- in fact, I remember
Nicolas Thiery going half crazy at some point over the category
framework, and eventually sage-combinat got their own branch where they
can keep writing new code and periodically push things into the main
Sage branch.  But this means that Nicolas is now (on a smaller scale)
release manager for sage-combinat.

Getting back to the point, I believe it is too early in Sage's life to
tip the balance in the favour of increased stability *if it comes at the
cost of increasing the barrier to including new functionality*.


Best,
Alex


-- 
Alex Ghitza -- Lecturer in Mathematics -- The University of Melbourne
-- Australia -- http://www.ms.unimelb.edu.au/~aghitza/

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