Re: [sage-devel] Re: What's the point of two "stable" releases in two days?

2010-06-02 Thread Dr. David Kirkby

On 06/ 2/10 01:12 PM, kcrisman wrote:



On Jun 2, 4:08 am, John Cremona  wrote:

Sage surely benefits from having a very wide range of people who are
developers, ranging in age, motivations, mathematician vs. software
professional, and so on.

Don't make assumptions about the volunteer mathematicians all being
youngsters!  (Some of us are over 50, and, I think, amateurs in the
best sense of the word.)


Very much so.


I never made such an assumption.


If contributing to Sage meant always (and only) promising to do
specific things by deadlines, many would (I think) fall by the
wayside, including (probably) me.


+1


Me too. I was not saying that we had to sign up in blood to keep to a rigid 
structure. But to have some idea how long something is expected, when a release 
might be made, how much testing time will be devoted to that release, would be 
useful.



I think the best policy, given the current state (not necessarily best
overall), is to have a few reliable people who are knowledgeable about
your type of ticket, who care at least a little bit about that type,
and whom you trust to give good feedback even if it means "needs
work".  For better or for worse, there are always more tickets ready
for review than people to review them - it's probably human nature ;)

> but I think honestly also it's the fact that many of us feel we would

be doing a disservice to review most tickets, due to ignorance or lack
of experience in those areas.  But there are some good 2-5 person
teams who put in very high quality stuff.  I think there are enough
people interested in and reliable with the build system/env. variables/
etc. that it would be easy to have an informal list of people who
would review them.


It has became more difficult with the creating of sage-solaris. There are 7 
members, and I've never had a single reply to any of the 26 messages I've posted 
there.



I believe there is far too little time between a release candidate and a
final release - a fact that would be obvious to any professional software
developer if a roadmap was published.



I'd agree with you here.



+1


It would be great if William could see this. Of all the things I like and 
dislike about Sage, the single biggest dislike of mine is probably the way a 
release is made without what I consider sufficient testing. At the most basic 
level, Sage releases are made without them even being built on all supported 
platforms, so sometimes they don't even compile.



In terms of a roadmap, I think it would be extremely valuable to have a list
of features that Sage is clearly lacking to be a viable alternative to the
closed source offerings, perhaps somewhere on the wiki by topic.


I agree with Robert there.

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


Re: [sage-devel] Re: What's the point of two "stable" releases in two days?

2010-06-02 Thread Dr. David Kirkby

On 06/ 2/10 09:08 AM, John Cremona wrote:

Sage surely benefits from having a very wide range of people who are
developers, ranging in age, motivations, mathematician vs. software
professional, and so on.


Yes


Don't make assumptions about the volunteer mathematicians all being
youngsters!  (Some of us are over 50, and, I think, amateurs in the
best sense of the word.)


I did not use the word "all". I said:

"Peter Jeremy and myself are quite a bit older than most Sage developers."

I would add John I believe you are one of the most "professional" developers. I 
recall when someone wanted to change a doc test just because it gave a different 
result on their computer, that I questioned what the answer should be. You went 
away and calculated it by another means. Too many others tend to accept the 
answer a doc test to look for is what their computer gives.



If contributing to Sage meant always (and only) promising to do
specific things by deadlines, many would (I think) fall by the
wayside, including (probably) me.


I was not implying that. But to have some strategy would be sensible. I'd like 
to see clearly defined terms of what the alphas and release candidates are. When 
they take place. How much time between the final release candidate and a release 
being made public.




John

On 2 June 2010 01:22, Robert Bradshaw  wrote:

On Jun 1, 2010, at 4:09 PM, Dr. David Kirkby wrote:


On 06/ 1/10 11:56 AM, Robert Bradshaw wrote:


On May 29, 2010, at 3:34 AM, Dr. David Kirkby wrote:



The real question though is why do you think Sage would be better off
with a roadmap? Would we have more users?


Probably not.


Happier users?


Yes.


Would it attract more developers?


It would probably put less off. The random nature of Sage at the moment is
not attractive to developers.


I don't know anyone who's been turned off due to the nature of Sage
development or lack of clear roadmap, but I could see it happening.


Are we suffering due to the lack of a roadmap?


I think we are. I believe that if there were specific dates for feature
freezes, it would be useful to know. I for example have a lot of tickets I
need reviewing, which has become increasing difficult to get done since
sage-solaris was created. Should I try to badger someone to review them
tomorrow, since the release will be made Thursday, or I should not worry,
since no releases will be made soon?


Releases are always going to be made soon, so it's always worth trying to
get a review as soon as possible. (I've got a lot of tickets in that
situation as well, but I've been otherwise occupied lately). The only urgent
ones would be blockers (e.g. something that produces incorrect results) or
occasionally something that's really a pain to rebase.


If Sage has a mission of being a viable alternative to the commercial
products, it should have some roadmap of how it is going to do that. Student
projects could be proposed to address specific areas of weakness.


Yes, it's amazing what students can do.


As you know, there was a full-time employee working on the Solaris port,
yet that was many years late. Had there been specific milestones to reach by
certain dates, it would have been realised that port was slipping badly.
It's more difficult when there is no plan.


Honestly, I don't know if such a plan or milestones would have made a
difference here.


I believe there is far too little time between a release candidate and a
final release - a fact that would be obvious to any professional software
developer if a roadmap was published.


I'd agree with you here.


Would a user download a verion today, if there was a new release scheduled
for tomorrow? He/she would probably wait a day or so.


Or, he would decide to do that, then never come back for a long time. (It's
happened to me.) With frequent releases this is less of an issue.


Or is it more of a PR need?


You may consider it "PR" but I would say it looks more professional than
random dates. I think appearing professional is a good thing if you want to
compete with professional software.


I didn't mean this in the derogatory sense at all--I agree it's important to
be professional.


I think our different views may be age related. It might not be a
coincidence that both Peter Jeremy and myself are quite a bit older than
most Sage developers. Perhaps we see things from a different perspective.


And I sincerely do appreciate another perspective, thank you for
elaborating. It may also be the cathedral vs. the bazaar difference of
perspective. It could also be professional software developers vs.
volunteering mathematicians (and in particular, Sage is developed primarily
by its users, who put in the work to get the features they need and want
them in as soon as possible rather than being directed by external
customers).

In terms of a roadmap, I think it would be extremely valuable to have a list
of features that Sage is clearly lacking to be a viable alternative to the
closed source offerings, per

[sage-devel] Re: What's the point of two "stable" releases in two days?

2010-06-02 Thread kcrisman


On Jun 2, 4:08 am, John Cremona  wrote:
> Sage surely benefits from having a very wide range of people who are
> developers, ranging in age, motivations, mathematician vs. software
> professional, and so on.
>
> Don't make assumptions about the volunteer mathematicians all being
> youngsters!  (Some of us are over 50, and, I think, amateurs in the
> best sense of the word.)

Very much so.

> If contributing to Sage meant always (and only) promising to do
> specific things by deadlines, many would (I think) fall by the
> wayside, including (probably) me.

+1

> >> I think we are. I believe that if there were specific dates for feature
> >> freezes, it would be useful to know. I for example have a lot of tickets I
> >> need reviewing, which has become increasing difficult to get done since
> >> sage-solaris was created. Should I try to badger someone to review them
> >> tomorrow, since the release will be made Thursday, or I should not worry,
> >> since no releases will be made soon?

I think the best policy, given the current state (not necessarily best
overall), is to have a few reliable people who are knowledgeable about
your type of ticket, who care at least a little bit about that type,
and whom you trust to give good feedback even if it means "needs
work".  For better or for worse, there are always more tickets ready
for review than people to review them - it's probably human nature ;)
but I think honestly also it's the fact that many of us feel we would
be doing a disservice to review most tickets, due to ignorance or lack
of experience in those areas.  But there are some good 2-5 person
teams who put in very high quality stuff.  I think there are enough
people interested in and reliable with the build system/env. variables/
etc. that it would be easy to have an informal list of people who
would review them.

> >> I believe there is far too little time between a release candidate and a
> >> final release - a fact that would be obvious to any professional software
> >> developer if a roadmap was published.
>
> > I'd agree with you here.


+1

> > In terms of a roadmap, I think it would be extremely valuable to have a list
> > of features that Sage is clearly lacking to be a viable alternative to the
> > closed source offerings, perhaps somewhere on the wiki by topic. We need
> > something higher level than tickets, but lower level than the mission. This
> > has been done haphazardly for some areas, but doing this systematically
> > (with a common place to accumulate the results) would be very valuable. This
> > has and will happen, to some extent, as part of grant proposals and sage
> > days planning. The combinatorics group is a stellar example of this:
> >http://trac.sagemath.org/sage_trac/wiki/SageCombinatRoadMap. I'm not
> > convinced that tying things to specific milestones/timelines will be as
> > realistic given the dynamic nature of the developer base, but setting goals
> > for specific Sage days, or "big" releases like 5.0 makes a lot of sense.

+1

- kcrisman

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


Re: [sage-devel] Re: What's the point of two "stable" releases in two days?

2010-06-02 Thread John Cremona
Sage surely benefits from having a very wide range of people who are
developers, ranging in age, motivations, mathematician vs. software
professional, and so on.

Don't make assumptions about the volunteer mathematicians all being
youngsters!  (Some of us are over 50, and, I think, amateurs in the
best sense of the word.)

If contributing to Sage meant always (and only) promising to do
specific things by deadlines, many would (I think) fall by the
wayside, including (probably) me.

John

On 2 June 2010 01:22, Robert Bradshaw  wrote:
> On Jun 1, 2010, at 4:09 PM, Dr. David Kirkby wrote:
>
>> On 06/ 1/10 11:56 AM, Robert Bradshaw wrote:
>>>
>>> On May 29, 2010, at 3:34 AM, Dr. David Kirkby wrote:
>>
>>> The real question though is why do you think Sage would be better off
>>> with a roadmap? Would we have more users?
>>
>> Probably not.
>>>
>>> Happier users?
>>
>> Yes.
>>
>>> Would it attract more developers?
>>
>> It would probably put less off. The random nature of Sage at the moment is
>> not attractive to developers.
>
> I don't know anyone who's been turned off due to the nature of Sage
> development or lack of clear roadmap, but I could see it happening.
>
>>> Are we suffering due to the lack of a roadmap?
>>
>> I think we are. I believe that if there were specific dates for feature
>> freezes, it would be useful to know. I for example have a lot of tickets I
>> need reviewing, which has become increasing difficult to get done since
>> sage-solaris was created. Should I try to badger someone to review them
>> tomorrow, since the release will be made Thursday, or I should not worry,
>> since no releases will be made soon?
>
> Releases are always going to be made soon, so it's always worth trying to
> get a review as soon as possible. (I've got a lot of tickets in that
> situation as well, but I've been otherwise occupied lately). The only urgent
> ones would be blockers (e.g. something that produces incorrect results) or
> occasionally something that's really a pain to rebase.
>
>> If Sage has a mission of being a viable alternative to the commercial
>> products, it should have some roadmap of how it is going to do that. Student
>> projects could be proposed to address specific areas of weakness.
>
> Yes, it's amazing what students can do.
>
>> As you know, there was a full-time employee working on the Solaris port,
>> yet that was many years late. Had there been specific milestones to reach by
>> certain dates, it would have been realised that port was slipping badly.
>> It's more difficult when there is no plan.
>
> Honestly, I don't know if such a plan or milestones would have made a
> difference here.
>
>> I believe there is far too little time between a release candidate and a
>> final release - a fact that would be obvious to any professional software
>> developer if a roadmap was published.
>
> I'd agree with you here.
>
>> Would a user download a verion today, if there was a new release scheduled
>> for tomorrow? He/she would probably wait a day or so.
>
> Or, he would decide to do that, then never come back for a long time. (It's
> happened to me.) With frequent releases this is less of an issue.
>
>>> Or is it more of a PR need?
>>
>> You may consider it "PR" but I would say it looks more professional than
>> random dates. I think appearing professional is a good thing if you want to
>> compete with professional software.
>
> I didn't mean this in the derogatory sense at all--I agree it's important to
> be professional.
>
>> I think our different views may be age related. It might not be a
>> coincidence that both Peter Jeremy and myself are quite a bit older than
>> most Sage developers. Perhaps we see things from a different perspective.
>
> And I sincerely do appreciate another perspective, thank you for
> elaborating. It may also be the cathedral vs. the bazaar difference of
> perspective. It could also be professional software developers vs.
> volunteering mathematicians (and in particular, Sage is developed primarily
> by its users, who put in the work to get the features they need and want
> them in as soon as possible rather than being directed by external
> customers).
>
> In terms of a roadmap, I think it would be extremely valuable to have a list
> of features that Sage is clearly lacking to be a viable alternative to the
> closed source offerings, perhaps somewhere on the wiki by topic. We need
> something higher level than tickets, but lower level than the mission. This
> has been done haphazardly for some areas, but doing this systematically
> (with a common place to accumulate the results) would be very valuable. This
> has and will happen, to some extent, as part of grant proposals and sage
> days planning. The combinatorics group is a stellar example of this:
> http://trac.sagemath.org/sage_trac/wiki/SageCombinatRoadMap . I'm not
> convinced that tying things to specific milestones/timelines will be as
> realistic given the dynamic nature of the developer base, but setting go

Re: [sage-devel] Re: What's the point of two "stable" releases in two days?

2010-06-01 Thread Robert Bradshaw

On Jun 1, 2010, at 4:09 PM, Dr. David Kirkby wrote:


On 06/ 1/10 11:56 AM, Robert Bradshaw wrote:

On May 29, 2010, at 3:34 AM, Dr. David Kirkby wrote:



The real question though is why do you think Sage would be better off
with a roadmap? Would we have more users?


Probably not.

Happier users?


Yes.


Would it attract more developers?


It would probably put less off. The random nature of Sage at the  
moment is not attractive to developers.


I don't know anyone who's been turned off due to the nature of Sage  
development or lack of clear roadmap, but I could see it happening.



Are we suffering due to the lack of a roadmap?


I think we are. I believe that if there were specific dates for  
feature freezes, it would be useful to know. I for example have a  
lot of tickets I need reviewing, which has become increasing  
difficult to get done since sage-solaris was created. Should I try  
to badger someone to review them tomorrow, since the release will be  
made Thursday, or I should not worry, since no releases will be made  
soon?


Releases are always going to be made soon, so it's always worth trying  
to get a review as soon as possible. (I've got a lot of tickets in  
that situation as well, but I've been otherwise occupied lately). The  
only urgent ones would be blockers (e.g. something that produces  
incorrect results) or occasionally something that's really a pain to  
rebase.


If Sage has a mission of being a viable alternative to the  
commercial products, it should have some roadmap of how it is going  
to do that. Student projects could be proposed to address specific  
areas of weakness.


Yes, it's amazing what students can do.

As you know, there was a full-time employee working on the Solaris  
port, yet that was many years late. Had there been specific  
milestones to reach by certain dates, it would have been realised  
that port was slipping badly. It's more difficult when there is no  
plan.


Honestly, I don't know if such a plan or milestones would have made a  
difference here.


I believe there is far too little time between a release candidate  
and a final release - a fact that would be obvious to any  
professional software developer if a roadmap was published.


I'd agree with you here.

Would a user download a verion today, if there was a new release  
scheduled for tomorrow? He/she would probably wait a day or so.


Or, he would decide to do that, then never come back for a long time.  
(It's happened to me.) With frequent releases this is less of an issue.



Or is it more of a PR need?


You may consider it "PR" but I would say it looks more professional  
than random dates. I think appearing professional is a good thing if  
you want to compete with professional software.


I didn't mean this in the derogatory sense at all--I agree it's  
important to be professional.


I think our different views may be age related. It might not be a  
coincidence that both Peter Jeremy and myself are quite a bit older  
than most Sage developers. Perhaps we see things from a different  
perspective.


And I sincerely do appreciate another perspective, thank you for  
elaborating. It may also be the cathedral vs. the bazaar difference of  
perspective. It could also be professional software developers vs.  
volunteering mathematicians (and in particular, Sage is developed  
primarily by its users, who put in the work to get the features they  
need and want them in as soon as possible rather than being directed  
by external customers).


In terms of a roadmap, I think it would be extremely valuable to have  
a list of features that Sage is clearly lacking to be a viable  
alternative to the closed source offerings, perhaps somewhere on the  
wiki by topic. We need something higher level than tickets, but lower  
level than the mission. This has been done haphazardly for some areas,  
but doing this systematically (with a common place to accumulate the  
results) would be very valuable. This has and will happen, to some  
extent, as part of grant proposals and sage days planning. The  
combinatorics group is a stellar example of this: http://trac.sagemath.org/sage_trac/wiki/SageCombinatRoadMap 
 . I'm not convinced that tying things to specific milestones/ 
timelines will be as realistic given the dynamic nature of the  
developer base, but setting goals for specific Sage days, or "big"  
releases like 5.0 makes a lot of sense.


- Robert

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


Re: [sage-devel] Re: What's the point of two "stable" releases in two days?

2010-06-01 Thread Dr. David Kirkby

On 06/ 1/10 11:56 AM, Robert Bradshaw wrote:

On May 29, 2010, at 3:34 AM, Dr. David Kirkby wrote:



The real question though is why do you think Sage would be better off
with a roadmap? Would we have more users?


Probably not.

Happier users?


Yes.


Would it
attract more developers?


It would probably put less off. The random nature of Sage at the moment is not 
attractive to developers.



Are we suffering due to the lack of a roadmap?


I think we are. I believe that if there were specific dates for feature freezes, 
it would be useful to know. I for example have a lot of tickets I need 
reviewing, which has become increasing difficult to get done since sage-solaris 
was created. Should I try to badger someone to review them tomorrow, since the 
release will be made Thursday, or I should not worry, since no releases will be 
made soon?


If Sage has a mission of being a viable alternative to the commercial products, 
it should have some roadmap of how it is going to do that. Student projects 
could be proposed to address specific areas of weakness.


As you know, there was a full-time employee working on the Solaris port, yet 
that was many years late. Had there been specific milestones to reach by certain 
dates, it would have been realised that port was slipping badly. It's more 
difficult when there is no plan.


I believe there is far too little time between a release candidate and a final 
release - a fact that would be obvious to any professional software developer if 
a roadmap was published.


Would a user download a verion today, if there was a new release scheduled for 
tomorrow? He/she would probably wait a day or so.



Or is it more of a PR need?


You may consider it "PR" but I would say it looks more professional than random 
dates. I think appearing professional is a good thing if you want to compete 
with professional software.


I think our different views may be age related. It might not be a coincidence 
that both Peter Jeremy and myself are quite a bit older than most Sage 
developers. Perhaps we see things from a different perspective.




Dave

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


Re: [sage-devel] Re: What's the point of two "stable" releases in two days?

2010-06-01 Thread Robert Bradshaw

On May 29, 2010, at 3:34 AM, Dr. David Kirkby wrote:


On May 26, 10:56 pm, Robert Bradshaw 
wrote:

I didn't know anyone even looked at those numbers--maybe it would be
better to put it in the *past* so people know not to trust it. I just
deleted the date for now, though hopefully June is still a realistic
target.

- Robert


IMHO, Sage development should have a plan like Jeremy showed for
OpenOffice and FreeBSD - not have development occur in an
uncoordinated haphazard manner. That's not to say we expect everything
to happen on the days indicated, but at least have something to aim
at.


Both of those roadmaps seem to focus primarily on the a single release  
cycle, which given their different pace, makes sense. On the other  
hand, I'm not able to find a clear roadmap for Python--though at a  
lower level PEPs serve the same purpose (though not tied to a date,  
other than the release cycle ones) and they seem to get along just  
fine. The Sage project does have some concrete goals [1] and we do  
occasionally have specific pushes (e.g. the new symbolics, coercion,  
linear algebra overhaul, documentation) though those are usually  
shorter term (e.g. associated with a Sage Days).


The real question though is why do you think Sage would be better off  
with a roadmap? Would we have more users? Happier users? Would it  
attract more developers? Are we suffering due to the lack of a  
roadmap? Or is it more of a PR need? Given that Sage has no full-time  
developers, and in particular is primarily driven by the personal  
needs of those who use it in teaching and research, I think it is  
unrealistic to attach dates or releases to most feature requests or  
bug reports unless someone is actively working on it (in which case  
the answer is still "it'll be in as soon as I get it done" and given  
our rolling release schedule there's no +6 months until the next  
release). So what would be on this roadmap? The recent discussion  
about overhauling permutation groups comes to mind, though again I  
don't know if a timeline could be assigned at this point (but a Sage  
Enhancement Proposal would be nice).



At the moment when I create a trac ticket, I gets a choice of several
milestones including  4.4.3 or 5.0. With no plan of what one of those
releases is supposed to consist of, when it is supposed to occur, its
hard to chose. (Actually, I just set it to the earliest, but if there
was a proper plan, then I'd be more choosy)


If something has a positively reviewed patch that doesn't break,  
there's little motivation to put it off until a later release (meaning  
the next one, if the current release is in a feature freeze--or I  
suppose if the release manager decides do to a stability/bug-fix-only  
release), so we always assign tickets to the next release, and bump  
everything that didn't go in when a new release comes out. The 5.0  
milestone is there to collect items that are goals/blockers for 5.0,  
but if something's ready no sense in waiting until then to get it out.


I know you won't like the answer, but the releases consist of  
whatever's ready to go when a release is cut. Personally, I think it's  
great for both developers (your stuff gets in and released quickly)  
and users (they get new features and bug fixes quickly, though if  
they're happy with the version they have there's no need to upgrade).


- Robert

[1] http://trac.sagemath.org/sage_trac/milestone/sage-5.0

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


[sage-devel] Re: What's the point of two "stable" releases in two days?

2010-05-29 Thread Dr. David Kirkby
On May 26, 10:56 pm, Robert Bradshaw 
wrote:
> I didn't know anyone even looked at those numbers--maybe it would be  
> better to put it in the *past* so people know not to trust it. I just  
> deleted the date for now, though hopefully June is still a realistic  
> target.
>
> - Robert

IMHO, Sage development should have a plan like Jeremy showed for
OpenOffice and FreeBSD - not have development occur in an
uncoordinated haphazard manner. That's not to say we expect everything
to happen on the days indicated, but at least have something to aim
at.

At the moment when I create a trac ticket, I gets a choice of several
milestones including  4.4.3 or 5.0. With no plan of what one of those
releases is supposed to consist of, when it is supposed to occur, its
hard to chose. (Actually, I just set it to the earliest, but if there
was a proper plan, then I'd be more choosy)

Dave



Dave

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


[sage-devel] Re: What's the point of two "stable" releases in two days?

2010-05-29 Thread Dr. David Kirkby
On May 26, 9:23 pm, kcrisman  wrote:

> Wouldn't it be easiest for someone to change the 5.0 release date
> thingie on Trac to "sometime in June, but may be pushed to July or
> later in order to fulfill goals (Cygwin, etc.)"?  This seems like even
> more of a tempest in a teapot than the SPKG.txt thread ;)
>
> - kcrisman

The underlying problems would not be changed by that.

Dave

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


[sage-devel] Re: What's the point of two "stable" releases in two days?

2010-05-29 Thread Dr. David Kirkby


On May 26, 9:13 am, William Stein  wrote:
> On Wed, May 26, 2010 at 12:59 AM, David Kirkby  
> wrote:
> > Looking at the Sage roadmap
>
> >http://trac.sagemath.org/sage_trac/roadmap
>
> > I see Sage 4.4.3 is "A tiny minor release on the way to 5.0" which is
> > due on  30th May.
>
> > Sage 5.0 is due out two days later on first of June.
>
> > I don't believe such a release strategy says anything positive for
> > Sage. In fact, quite the opposite - I think it looks incredibly
> > amateurish. Who can take a program serious if two releases are made
> > two days apart?
>
> Sage releases rarely come out on the random day that they happened to
> be scheduled for on trac.  That day is just some field one fills in
> when making the milestone.  I wouldn't take it too seriously.

Sage has a mission of creating a viable free open source alternative
to Magma, Maple, Mathematica and Matlab. Those are all professionally
developed software

Randomly scheduled release days is not a very professional approach to
software development. IMHO, Sage should have some plan, like Jeremy
showed with links to FreeBSD and OpenOffice. That's not to say
everyone should give up if deadlines are not met, but at least if
milestones are set, people can see where Sage is aiming, If milestones
are repeatedly missed, it would suggest that a goal is unrealistic, or
will need changes to the approach to make it more realistic.

I can't see to find this archived on Google groups, but

http://www.mail-archive.com/sage-devel@googlegroups.com/msg04618.html

has a comment from Michael Abshoff in August 2007 that:

"I guess it isn't a secret that William want Sage 2.8.1 to work on
Solaris "out of the box".

It took about 2.5 years after that before Sage would build properly
and pass the tests on Solaris.

Currently to me at least, Sage development looks a bit haphazard.

I realise you are a mathematician, but you are the lead developer of
an open-source project. You might consider looking at a book on
software engineering, as  there are a lot of things that can be
learned from such book that could be applied to Sage.

http://www.amazon.com/Software-Engineering-9th-Ian-Sommerville/dp/0137035152/ref=sr_1_4?ie=UTF8&s=books&qid=1275123329&sr=1-4

has quite a good reputation. I've not seen that book, but have an
older book on a similar subject by  Roger  Pressman, though I believe
Pressman's more recent books are not so up to date now.

> If you want to make a parallel stable version of Sage and release it
> that way, go for it.

I will do at a later date, if I think you are convinced of the need
for a more stable releases and you can convince some others. At the
minute, it appears to me my views are in quite a minority and given
the problems that caused with Solaris, I'm not so keen to get involved
in something else that I can see some of your regular developers would
certainly not like.

IMHO, producing stable versions should be the primary aim rather than
a secondary aim.

Dave

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


[sage-devel] Re: What's the point of two "stable" releases in two days?

2010-05-27 Thread leif
On 27 Mai, 16:30, kcrisman  wrote:
> On May 27, 5:39 am, Harald Schilly  wrote:
>
> > On May 27, 2:27 am, kcrisman  wrote:
>
> > > But quite different here - there are no email reminders, no anything.
>
> > We have an RSS feed and release announcements are emailed to over 1400
> > people!http://groups.google.com/group/sage-announce/about
>
> Right, but only if you want it; there is no requirement. That was my
> point.
>
> I can't resist point out also 
> thathttp://groups.google.com/group/sage-support/about
> says there are 1740 people there, so clearly sage-announce is not even
> reaching the whole community interested in getting updates about
> Sage.  Yet they find out ;)

Some of those recipients might be other mailing lists or mail
forwarders.. ;-)

How do you know the actual number of Sage users? (And in case of site
installations, most end users won't care about updates because they're
made by admins; they will most probably notice them though.)

-Leif

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


[sage-devel] Re: What's the point of two "stable" releases in two days?

2010-05-27 Thread kcrisman


On May 27, 5:39 am, Harald Schilly  wrote:
> On May 27, 2:27 am, kcrisman  wrote:
>
> > But quite different here - there are no email reminders, no anything.
>
> We have an RSS feed and release announcements are emailed to over 1400
> people!http://groups.google.com/group/sage-announce/about
>

Right, but only if you want it; there is no requirement. That was my
point.

I can't resist point out also that 
http://groups.google.com/group/sage-support/about
says there are 1740 people there, so clearly sage-announce is not even
reaching the whole community interested in getting updates about
Sage.  Yet they find out ;)

- kcrisman

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


[sage-devel] Re: What's the point of two "stable" releases in two days?

2010-05-27 Thread Harald Schilly
On May 27, 2:27 am, kcrisman  wrote:
> But quite different here - there are no email reminders, no anything.

We have an RSS feed and release announcements are emailed to over 1400
people!
http://groups.google.com/group/sage-announce/about

h

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


Re: [sage-devel] Re: What's the point of two "stable" releases in two days?

2010-05-26 Thread Robert Bradshaw

On May 26, 2010, at 5:06 PM, Tim Daly wrote:


William Stein wrote:
On Wed, May 26, 2010 at 3:08 PM, Tim Daly developer.org> wrote:



The Axiom project had a long debate about releases
and version numbers which I see is about to happen here.

Axiom decided that a reasonable balance was to make 2 decisions,
one about releases and one about versions.

RELEASES

There is a choice between releasing often and releasing,
say, yearly. Sage releases about every week or two at the
moment. The upside of this strategy is that people get the
latest version immediately. The downside of this strategy
is that people are ALWAYS in update mode and big changes
are very hard to manage in a small window (2 days?)

First, there would be a "silver" and a "gold" releases. The
silver version is updated continuously and available from
most of the sites with a git pull or git clone. The "gold"
release would be a time-boxed release every 2 months.

This gives people who care about a particular change a way to
get the latest release immediately. It allows others who just
want "the system", a way to update at a more reasonable pace,
maximally, every 2 months. The "gold" release is maintained
on github, the "silver" is on all other sites.

VERSIONS

Version numbers get religious really fast and the debate is
not very productive. Essentially, a single number is not
sufficient to carry all of the information about what might
have changed, especially if you have a component system.

Since git maintains a 40-digit SHA1 hash for every commit
it is sufficient for a version number. Any reference to a
single hash number gives all of the required information.
This is sufficient for "silver" releases.

Since the time-boxed "gold" releases are 2 months apart it
is sufficient to use the form "May 2010" as the unique
"release number". This is easy to distinguish from "March 2010".

I'm sure that the Sage list will find this method "not right"
for a variety of reasons but I can tell you that there is no
perfect solution. The Axiom debate raged on for about a year.
Time-boxing isn't perfect but it allows big changes to
occur without breaking everyone and little changes to occur
without annoying everyone.

Every project seems to have this debate. Good luck with it.



Thanks for sharing the above.

1. How do you think your choice of releases and version numbers
impacted the number of Axiom users?  Developers?


I have no way to track the number of users so I can't say.

Axiom forked (twice) and the forks have their own version numbering  
schemes,

each one different and neither one is clear, at least to me.

Developers will track whatever scheme you use and they won't like  
it :-)


It is very difficult to introduce large changes to the system if the  
updates are too
frequent. I'm introducing a new package that includes over 50 new  
pieces of
algebra in this next release. The developer "silver" version has  
seen each new
piece of algebra as it was introduced, with updates happening  
several times a

day all month long but each new piece is useless standalone.
The "gold" version will have a fully implemented and tested piece so  
users

won't see the intermediate states.

At the rate you are currently releasing I don't know how you can  
introduce
fundamental changes like a reorganization of the categories. If  
there is a mistake
the whole user community gets hit. And if it takes a couple weeks to  
debug then
you'll have the world at your throat. The "silver" releases give  
your developers
a chance to play before it goes out to the general public. I make NO  
guarantees
about silver releases. They might not even build (although breaking  
the build

is on my list of major sins).

If you "succeed" wildly then you'll have thousands of universities  
downloading
versions, students will each have a different version depending on  
the day of
the week they decided to download.  A "gold" version would give  
professors

something concrete to point at e.g. the "September 2010" version.



2. Now that you've had the above version/release schedule for a few
years, is there anything you would change?



Well you'd be amazed at how quickly 8 weeks goes by

The pace of 8 weeks between releases leaves  7 weeks of work and a  
week of
deep test, binary builds, etc. Fedora always seems to break things  
on every
release so it just takes a lot of time. I see you have the same  
breakage happening

on certain platforms. It is very frustrating.

Having done the silver/gold release mechanism for about 4 years now  
I think it is
"just about right". It gives lots of pressure to "hit the timebox"  
but enough time

to plan for a major change.

Timeboxing also allows estimates of when to stop adding new features  
("a freeze")
and start cleaning up the little details. This subtle side-effect  
forces fixing the little
annoying things that nobody notices but make it cleaner and more  
professional.



3. How did your debate about the above end?  Was their 

[sage-devel] Re: What's the point of two "stable" releases in two days?

2010-05-26 Thread leif
On 27 Mai, 02:27, kcrisman  wrote:
> > > For Sage, this is simply not true for the majority of *users*.   The
> > > vast majority of Sage users could care less that we release new
> > > versions -- most don't even notice or care.
>
> > I can't judge this. If it's true, fine.
>
> Especially for those running servers.  But for most the updates are
> not as important.

Yes, admins love less frequent updates, as long as users don't
complain (and there are no security issues).
And alphas & rcs aren't mirrored... (some kind of unintentional? "gold
release" feature)

> > My experience is rather that many people just update (not only)
> > software in general either because they fear missing something or just
> > feel they have to have the latest version (they *believe* to be best/
> > superior), i.e. rather *not* driven by *functional* demand.
>
> But quite different here - there are no email reminders, no anything.

Subscribe to sage-release (where pre-releases are announced, too), or
sage-announce? ;-)

On certain failures, you get a "run sage -upgrade" message.

> No huge marketing campaigns (at least not for upgrades; hopefully for
> 5.0 we will make a big push for *new* users).  As long as you don't
> encounter a life-threatening bug, you just keep using it.  When you
> do, you update (or use sagenb.org).  I really like this aspect.  I
> think this makes Sage a little different from both productivity
> software/OSes and more academic/industrial software.

The Sagenb aspect is nice. Like Live-CDs for getting an impression
before updating/installing (though I even hate reboots).
And it's easy to have/keep multiple Sage installations, a rarely
available opportunity.

-Leif

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


[sage-devel] Re: What's the point of two "stable" releases in two days?

2010-05-26 Thread kcrisman

>
> > For Sage, this is simply not true for the majority of *users*.   The
> > vast majority of Sage users could care less that we release new
> > versions -- most don't even notice or care.
>
> I can't judge this. If it's true, fine.

Especially for those running servers.  But for most the updates are
not as important.

> My experience is rather that many people just update (not only)
> software in general either because they fear missing something or just
> feel they have to have the latest version (they *believe* to be best/
> superior), i.e. rather *not* driven by *functional* demand.
>

But quite different here - there are no email reminders, no anything.
No huge marketing campaigns (at least not for upgrades; hopefully for
5.0 we will make a big push for *new* users).  As long as you don't
encounter a life-threatening bug, you just keep using it.  When you
do, you update (or use sagenb.org).  I really like this aspect.  I
think this makes Sage a little different from both productivity
software/OSes and more academic/industrial software.

- kcrisman

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


Re: [sage-devel] Re: What's the point of two "stable" releases in two days?

2010-05-26 Thread William Stein
On Wed, May 26, 2010 at 5:06 PM, Tim Daly  wrote:
>
>
> William Stein wrote:
>>
>> On Wed, May 26, 2010 at 3:08 PM, Tim Daly 
>> wrote:
>>
>>>
>>> The Axiom project had a long debate about releases
>>> and version numbers which I see is about to happen here.
>>>
>>> Axiom decided that a reasonable balance was to make 2 decisions,
>>> one about releases and one about versions.
>>>
>>> RELEASES
>>>
>>> There is a choice between releasing often and releasing,
>>> say, yearly. Sage releases about every week or two at the
>>> moment. The upside of this strategy is that people get the
>>> latest version immediately. The downside of this strategy
>>> is that people are ALWAYS in update mode and big changes
>>> are very hard to manage in a small window (2 days?)
>>>
>>> First, there would be a "silver" and a "gold" releases. The
>>> silver version is updated continuously and available from
>>> most of the sites with a git pull or git clone. The "gold"
>>> release would be a time-boxed release every 2 months.
>>>
>>> This gives people who care about a particular change a way to
>>> get the latest release immediately. It allows others who just
>>> want "the system", a way to update at a more reasonable pace,
>>> maximally, every 2 months. The "gold" release is maintained
>>> on github, the "silver" is on all other sites.
>>>
>>> VERSIONS
>>>
>>> Version numbers get religious really fast and the debate is
>>> not very productive. Essentially, a single number is not
>>> sufficient to carry all of the information about what might
>>> have changed, especially if you have a component system.
>>>
>>> Since git maintains a 40-digit SHA1 hash for every commit
>>> it is sufficient for a version number. Any reference to a
>>> single hash number gives all of the required information.
>>> This is sufficient for "silver" releases.
>>>
>>> Since the time-boxed "gold" releases are 2 months apart it
>>> is sufficient to use the form "May 2010" as the unique
>>> "release number". This is easy to distinguish from "March 2010".
>>>
>>> I'm sure that the Sage list will find this method "not right"
>>> for a variety of reasons but I can tell you that there is no
>>> perfect solution. The Axiom debate raged on for about a year.
>>> Time-boxing isn't perfect but it allows big changes to
>>> occur without breaking everyone and little changes to occur
>>> without annoying everyone.
>>>
>>> Every project seems to have this debate. Good luck with it.
>>>
>>
>> Thanks for sharing the above.
>>
>> 1. How do you think your choice of releases and version numbers
>> impacted the number of Axiom users?  Developers?
>>
>
> I have no way to track the number of users so I can't say.
>
> Axiom forked (twice) and the forks have their own version numbering schemes,
> each one different and neither one is clear, at least to me.
>
> Developers will track whatever scheme you use and they won't like it :-)
>
> It is very difficult to introduce large changes to the system if the updates
> are too
> frequent. I'm introducing a new package that includes over 50 new pieces of
> algebra in this next release. The developer "silver" version has seen each
> new
> piece of algebra as it was introduced, with updates happening several times
> a
> day all month long but each new piece is useless standalone.
> The "gold" version will have a fully implemented and tested piece so users
> won't see the intermediate states.
>
> At the rate you are currently releasing I don't know how you can introduce
> fundamental changes like a reorganization of the categories. If there is a

Just a remark -- we do not release as frequently as you think.   There have been
10 releases in the last 6 months.

> mistake
> the whole user community gets hit. And if it takes a couple weeks to debug
> then
> you'll have the world at your throat. The "silver" releases give your
> developers
> a chance to play before it goes out to the general public. I make NO
> guarantees
> about silver releases. They might not even build (although breaking the
> build
> is on my list of major sins).
>
> If you "succeed" wildly then you'll have thousands of universities
> downloading
> versions,

I think we have around 8000 downloads per month, last time I checked.

>  students will each have a different version depending on the day
> of
> the week they decided to download.  A "gold" version would give professors
> something concrete to point at e.g. the "September 2010" version.
>
>
>> 2. Now that you've had the above version/release schedule for a few
>> years, is there anything you would change?
>>
>>
>
> Well you'd be amazed at how quickly 8 weeks goes by
>
> The pace of 8 weeks between releases leaves  7 weeks of work and a week of
> deep test, binary builds, etc. Fedora always seems to break things on every
> release so it just takes a lot of time. I see you have the same breakage
> happening
> on certain platforms. It is very frustrating.

Yes, Fedora is indeed annoying that way.

>
> Having done th

Re: [sage-devel] Re: What's the point of two "stable" releases in two days?

2010-05-26 Thread Tim Daly



William Stein wrote:

On Wed, May 26, 2010 at 3:08 PM, Tim Daly  wrote:
  

The Axiom project had a long debate about releases
and version numbers which I see is about to happen here.

Axiom decided that a reasonable balance was to make 2 decisions,
one about releases and one about versions.

RELEASES

There is a choice between releasing often and releasing,
say, yearly. Sage releases about every week or two at the
moment. The upside of this strategy is that people get the
latest version immediately. The downside of this strategy
is that people are ALWAYS in update mode and big changes
are very hard to manage in a small window (2 days?)

First, there would be a "silver" and a "gold" releases. The
silver version is updated continuously and available from
most of the sites with a git pull or git clone. The "gold"
release would be a time-boxed release every 2 months.

This gives people who care about a particular change a way to
get the latest release immediately. It allows others who just
want "the system", a way to update at a more reasonable pace,
maximally, every 2 months. The "gold" release is maintained
on github, the "silver" is on all other sites.

VERSIONS

Version numbers get religious really fast and the debate is
not very productive. Essentially, a single number is not
sufficient to carry all of the information about what might
have changed, especially if you have a component system.

Since git maintains a 40-digit SHA1 hash for every commit
it is sufficient for a version number. Any reference to a
single hash number gives all of the required information.
This is sufficient for "silver" releases.

Since the time-boxed "gold" releases are 2 months apart it
is sufficient to use the form "May 2010" as the unique
"release number". This is easy to distinguish from "March 2010".

I'm sure that the Sage list will find this method "not right"
for a variety of reasons but I can tell you that there is no
perfect solution. The Axiom debate raged on for about a year.
Time-boxing isn't perfect but it allows big changes to
occur without breaking everyone and little changes to occur
without annoying everyone.

Every project seems to have this debate. Good luck with it.



Thanks for sharing the above.

1. How do you think your choice of releases and version numbers
impacted the number of Axiom users?  Developers?
  

I have no way to track the number of users so I can't say.

Axiom forked (twice) and the forks have their own version numbering schemes,
each one different and neither one is clear, at least to me.

Developers will track whatever scheme you use and they won't like it :-)

It is very difficult to introduce large changes to the system if the 
updates are too

frequent. I'm introducing a new package that includes over 50 new pieces of
algebra in this next release. The developer "silver" version has seen 
each new
piece of algebra as it was introduced, with updates happening several 
times a

day all month long but each new piece is useless standalone.
The "gold" version will have a fully implemented and tested piece so users
won't see the intermediate states.

At the rate you are currently releasing I don't know how you can introduce
fundamental changes like a reorganization of the categories. If there is 
a mistake
the whole user community gets hit. And if it takes a couple weeks to 
debug then
you'll have the world at your throat. The "silver" releases give your 
developers
a chance to play before it goes out to the general public. I make NO 
guarantees
about silver releases. They might not even build (although breaking the 
build

is on my list of major sins).

If you "succeed" wildly then you'll have thousands of universities 
downloading
versions, students will each have a different version depending on the 
day of

the week they decided to download.  A "gold" version would give professors
something concrete to point at e.g. the "September 2010" version.



2. Now that you've had the above version/release schedule for a few
years, is there anything you would change?

  

Well you'd be amazed at how quickly 8 weeks goes by

The pace of 8 weeks between releases leaves  7 weeks of work and a week of
deep test, binary builds, etc. Fedora always seems to break things on every
release so it just takes a lot of time. I see you have the same breakage 
happening

on certain platforms. It is very frustrating.

Having done the silver/gold release mechanism for about 4 years now I 
think it is
"just about right". It gives lots of pressure to "hit the timebox" but 
enough time

to plan for a major change.

Timeboxing also allows estimates of when to stop adding new features ("a 
freeze")
and start cleaning up the little details. This subtle side-effect forces 
fixing the little
annoying things that nobody notices but make it cleaner and more 
professional.




3. How did your debate about the above end?  Was their some definitive
argument, or?
  
Originally the development was released every 2 m

[sage-devel] Re: What's the point of two "stable" releases in two days?

2010-05-26 Thread leif
On 27 Mai, 01:11, William Stein  wrote:
> On Wed, May 26, 2010 at 4:06 PM, leif  wrote:
> > On 27 Mai, 00:08, Tim Daly  wrote:
> >> [...]
> >> There is a choice between releasing often and releasing,
> >> say, yearly. Sage releases about every week or two at the
> >> moment. The upside of this strategy is that people get the
> >> latest version immediately. The downside of this strategy
> >> is that people are ALWAYS in update mode and big changes
> >> are very hard to manage in a small window (2 days?)
>
> > Indeed, not to mention testing/quality.
>
> For Sage, this is simply not true for the majority of *users*.   The
> vast majority of Sage users could care less that we release new
> versions -- most don't even notice or care.

I can't judge this. If it's true, fine.

My experience is rather that many people just update (not only)
software in general either because they fear missing something or just
feel they have to have the latest version (they *believe* to be best/
superior), i.e. rather *not* driven by *functional* demand.

In fact, newer versions often introduce new problems, often without
any (subjective) advantage to the individual user.
(Microsoft was forced to offer a Vista-to-XP downgrade option for
example... :D :D :D )

Never change a running system... ;-)

> In fact, probably most
> just use sagenb.org.    Many people on this list might pipe up that
> *they* are "ALWAYS in update mode".    But the people reading this are
> a small fraction of users.
>
> In fact, even me -- when I'm *using* Sage for my research --- I will
> have a copy of Sage for that project, and I will not upgrade that copy
> of Sage for months on end.

:-)

-Leif

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


[sage-devel] Re: What's the point of two "stable" releases in two days?

2010-05-26 Thread leif
On 27 Mai, 00:52, "Dr. David Kirkby"  wrote:
> On 05/26/10 09:48 PM, leif wrote:
> > On 26 Mai, 21:50, "Dr. David Kirkby"  wrote:
> >> On 05/26/10 05:34 PM, leif wrote:
>  I like the risk assessment field idea.
>
> >>> Me too, perhaps give it a different name.
>
> >> What would you call it? There are at least three things to consider I can 
> >> think of.
>
> >> 1) What are the risks associated with a change?
>
> > impact (quantitive; severity is too hard)
>
> >> 2) The probability of the change causing a problem.
>
> > ? at least *what* it might cause? Who knows...
>
> >> 3) The impact such a problem would cause.
>
> > affected components
>
> >> There might be others.
>
> > Yes. Just lost one.
>
> I don't follow you. What have you lost?

I simply had a 3rd/4th aspect in mind, but immediately forgot it. :(

Perhaps one should also differentiate between the impact on users and
that on the source code/development process.

-Leif

> Dave

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


Re: [sage-devel] Re: What's the point of two "stable" releases in two days?

2010-05-26 Thread William Stein
On Wed, May 26, 2010 at 4:06 PM, leif  wrote:
> On 27 Mai, 00:08, Tim Daly  wrote:
>> [...]
>> There is a choice between releasing often and releasing,
>> say, yearly. Sage releases about every week or two at the
>> moment. The upside of this strategy is that people get the
>> latest version immediately. The downside of this strategy
>> is that people are ALWAYS in update mode and big changes
>> are very hard to manage in a small window (2 days?)
>
> Indeed, not to mention testing/quality.

For Sage, this is simply not true for the majority of *users*.   The
vast majority of Sage users could care less that we release new
versions -- most don't even notice or care.  In fact, probably most
just use sagenb.org.Many people on this list might pipe up that
*they* are "ALWAYS in update mode".But the people reading this are
a small fraction of users.

In fact, even me -- when I'm *using* Sage for my research --- I will
have a copy of Sage for that project, and I will not upgrade that copy
of Sage for months on end.


-- 
William Stein
Professor of Mathematics
University of Washington
http://wstein.org

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


[sage-devel] Re: What's the point of two "stable" releases in two days?

2010-05-26 Thread leif
On 27 Mai, 00:08, Tim Daly  wrote:
> [...]
> There is a choice between releasing often and releasing,
> say, yearly. Sage releases about every week or two at the
> moment. The upside of this strategy is that people get the
> latest version immediately. The downside of this strategy
> is that people are ALWAYS in update mode and big changes
> are very hard to manage in a small window (2 days?)

Indeed, not to mention testing/quality.


> First, there would be a "silver" and a "gold" releases. The
> silver version is updated continuously and available from
> most of the sites with a git pull or git clone. The "gold"
> release would be a time-boxed release every 2 months.
>
> This gives people who care about a particular change a way to
> get the latest release immediately. It allows others who just
> want "the system", a way to update at a more reasonable pace,
> maximally, every 2 months.

Agree, too. Though I would call these "releases" and "snapshots".

> VERSIONS
>
> Version numbers get religious really fast and the debate is
> not very productive. Essentially, a single number is not
> sufficient to carry all of the information about what might
> have changed, especially if you have a component system.
>
> Since git maintains a 40-digit SHA1 hash for every commit
> it is sufficient for a version number. Any reference to a
> single hash number gives all of the required information.
> This is sufficient for "silver" releases.
>
> Since the time-boxed "gold" releases are 2 months apart it
> is sufficient to use the form "May 2010" as the unique
> "release number". This is easy to distinguish from "March 2010".

Such naming has advantages and disadvantages, too.
(It e.g. doesn't reflect major and minor changes; perhaps less
relevant because Sage consists of many components, but there are other
aspects, too.)


> [...]
> Time-boxing isn't perfect but it allows big changes to
> occur without breaking everyone and little changes to occur
> without annoying everyone.

Agree, but one shouldn't make a release just because "it is time
to" (in the worst case, just to make it sound up-to-date or superior
to some other thing).

-Leif

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


Re: [sage-devel] Re: What's the point of two "stable" releases in two days?

2010-05-26 Thread William Stein
On Wed, May 26, 2010 at 3:08 PM, Tim Daly  wrote:
> The Axiom project had a long debate about releases
> and version numbers which I see is about to happen here.
>
> Axiom decided that a reasonable balance was to make 2 decisions,
> one about releases and one about versions.
>
> RELEASES
>
> There is a choice between releasing often and releasing,
> say, yearly. Sage releases about every week or two at the
> moment. The upside of this strategy is that people get the
> latest version immediately. The downside of this strategy
> is that people are ALWAYS in update mode and big changes
> are very hard to manage in a small window (2 days?)
>
> First, there would be a "silver" and a "gold" releases. The
> silver version is updated continuously and available from
> most of the sites with a git pull or git clone. The "gold"
> release would be a time-boxed release every 2 months.
>
> This gives people who care about a particular change a way to
> get the latest release immediately. It allows others who just
> want "the system", a way to update at a more reasonable pace,
> maximally, every 2 months. The "gold" release is maintained
> on github, the "silver" is on all other sites.
>
> VERSIONS
>
> Version numbers get religious really fast and the debate is
> not very productive. Essentially, a single number is not
> sufficient to carry all of the information about what might
> have changed, especially if you have a component system.
>
> Since git maintains a 40-digit SHA1 hash for every commit
> it is sufficient for a version number. Any reference to a
> single hash number gives all of the required information.
> This is sufficient for "silver" releases.
>
> Since the time-boxed "gold" releases are 2 months apart it
> is sufficient to use the form "May 2010" as the unique
> "release number". This is easy to distinguish from "March 2010".
>
> I'm sure that the Sage list will find this method "not right"
> for a variety of reasons but I can tell you that there is no
> perfect solution. The Axiom debate raged on for about a year.
> Time-boxing isn't perfect but it allows big changes to
> occur without breaking everyone and little changes to occur
> without annoying everyone.
>
> Every project seems to have this debate. Good luck with it.

Thanks for sharing the above.

1. How do you think your choice of releases and version numbers
impacted the number of Axiom users?  Developers?

2. Now that you've had the above version/release schedule for a few
years, is there anything you would change?

3. How did your debate about the above end?  Was their some definitive
argument, or?

 -- William

-- 
William Stein
Professor of Mathematics
University of Washington
http://wstein.org

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


Re: [sage-devel] Re: What's the point of two "stable" releases in two days?

2010-05-26 Thread Dr. David Kirkby

On 05/26/10 09:48 PM, leif wrote:

On 26 Mai, 21:50, "Dr. David Kirkby"  wrote:

On 05/26/10 05:34 PM, leif wrote:



I like the risk assessment field idea.



Me too, perhaps give it a different name.


What would you call it? There are at least three things to consider I can think 
of.

1) What are the risks associated with a change?


impact (quantitive; severity is too hard)


2) The probability of the change causing a problem.


? at least *what* it might cause? Who knows...


3) The impact such a problem would cause.


affected components


There might be others.


Yes. Just lost one.


I don't follow you. What have you lost?

Dave

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


Re: [sage-devel] Re: What's the point of two "stable" releases in two days?

2010-05-26 Thread Tim Daly

The Axiom project had a long debate about releases
and version numbers which I see is about to happen here.

Axiom decided that a reasonable balance was to make 2 decisions,
one about releases and one about versions.

RELEASES

There is a choice between releasing often and releasing,
say, yearly. Sage releases about every week or two at the
moment. The upside of this strategy is that people get the
latest version immediately. The downside of this strategy
is that people are ALWAYS in update mode and big changes
are very hard to manage in a small window (2 days?)

First, there would be a "silver" and a "gold" releases. The
silver version is updated continuously and available from
most of the sites with a git pull or git clone. The "gold"
release would be a time-boxed release every 2 months.

This gives people who care about a particular change a way to
get the latest release immediately. It allows others who just
want "the system", a way to update at a more reasonable pace,
maximally, every 2 months. The "gold" release is maintained
on github, the "silver" is on all other sites.

VERSIONS

Version numbers get religious really fast and the debate is
not very productive. Essentially, a single number is not
sufficient to carry all of the information about what might
have changed, especially if you have a component system.

Since git maintains a 40-digit SHA1 hash for every commit
it is sufficient for a version number. Any reference to a
single hash number gives all of the required information.
This is sufficient for "silver" releases.

Since the time-boxed "gold" releases are 2 months apart it
is sufficient to use the form "May 2010" as the unique
"release number". This is easy to distinguish from "March 2010".

I'm sure that the Sage list will find this method "not right"
for a variety of reasons but I can tell you that there is no
perfect solution. The Axiom debate raged on for about a year.
Time-boxing isn't perfect but it allows big changes to
occur without breaking everyone and little changes to occur
without annoying everyone.

Every project seems to have this debate. Good luck with it.

Tim Daly


kcrisman wrote:

On May 26, 3:56 pm, William Stein  wrote:
  

On Wed, May 26, 2010 at 12:50 PM, Dr. David Kirkby





 wrote:


On 05/26/10 05:34 PM, leif wrote:
  

On 26 Mai, 18:09, Robert Bradshaw


I like the risk assessment field idea.
  

Me too, perhaps give it a different name.


What would you call it? There are at least three things to consider I can
think of.
  
1) What are the risks associated with a change?
  
2) The probability of the change causing a problem.
  
3) The impact such a problem would cause.
  
There might be others.
  
Even things that have a fairly high probability of causing a problem are

probably not worth worrying about too much if the impact would be minimal.
  
Conversely, even something which has a low probability of causing a problem,

but would have major consequences, needs to be taken seriously.
  
However, unless there was a *major* change in Sage release practices, it

would be a bit pointless doing any sort of risk analysis. I don't detect
much of an appetite for a major change in Sage release practices. In fact, I
detect quite the converse.
  

At a bare minimum, any major change should be designed by people who
have actually done some Sage releases.




Wouldn't it be easiest for someone to change the 5.0 release date
thingie on Trac to "sometime in June, but may be pushed to July or
later in order to fulfill goals (Cygwin, etc.)"?  This seems like even
more of a tempest in a teapot than the SPKG.txt thread ;)

- kcrisman

  


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


Re: [sage-devel] Re: What's the point of two "stable" releases in two days?

2010-05-26 Thread Robert Bradshaw

On May 26, 2010, at 1:23 PM, kcrisman wrote:


On May 26, 3:56 pm, William Stein  wrote:

On Wed, May 26, 2010 at 12:50 PM, Dr. David Kirkby

 wrote:

On 05/26/10 05:34 PM, leif wrote:



On 26 Mai, 18:09, Robert Bradshaw



I like the risk assessment field idea.



Me too, perhaps give it a different name.


What would you call it? There are at least three things to  
consider I can

think of.



1) What are the risks associated with a change?



2) The probability of the change causing a problem.



3) The impact such a problem would cause.



There might be others.


Even things that have a fairly high probability of causing a  
problem are
probably not worth worrying about too much if the impact would be  
minimal.


Conversely, even something which has a low probability of causing  
a problem,

but would have major consequences, needs to be taken seriously.


However, unless there was a *major* change in Sage release  
practices, it
would be a bit pointless doing any sort of risk analysis. I don't  
detect
much of an appetite for a major change in Sage release practices.  
In fact, I

detect quite the converse.


At a bare minimum, any major change should be designed by people who
have actually done some Sage releases.



Wouldn't it be easiest for someone to change the 5.0 release date
thingie on Trac to "sometime in June, but may be pushed to July or
later in order to fulfill goals (Cygwin, etc.)"?  This seems like even
more of a tempest in a teapot than the SPKG.txt thread ;)


I didn't know anyone even looked at those numbers--maybe it would be  
better to put it in the *past* so people know not to trust it. I just  
deleted the date for now, though hopefully June is still a realistic  
target.


- Robert


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


[sage-devel] Re: What's the point of two "stable" releases in two days?

2010-05-26 Thread leif
On 26 Mai, 21:50, "Dr. David Kirkby"  wrote:
> On 05/26/10 05:34 PM, leif wrote:
>
> > On 26 Mai, 18:09, Robert Bradshaw
>
> >> I like the risk assessment field idea.
>
> > Me too, perhaps give it a different name.
>
> What would you call it? There are at least three things to consider I can 
> think of.
>
> 1) What are the risks associated with a change?

impact (quantitive; severity is too hard)

> 2) The probability of the change causing a problem.

? at least *what* it might cause? Who knows...

> 3) The impact such a problem would cause.

affected components

> There might be others.

Yes. Just lost one.

> Even things that have a fairly high probability of causing a problem are
> probably not worth worrying about too much if the impact would be minimal.

Such as not being functional on an obsolete platform ;-)

> Conversely, even something which has a low probability of causing a problem, 
> but
> would have major consequences, needs to be taken seriously.

Yes, as Robert B. stated in another thread, a minimal "not hard" (1
character) change can have big consequences... :)
(So it might be "trivial" as well as "critical".)

> However, unless there was a *major* change in Sage release practices, it would
> be a bit pointless doing any sort of risk analysis. I don't detect much of an
> appetite for a major change in Sage release practices. In fact, I detect quite
> the converse.

Looks like... (I personally would replace many Sage "releases" by
commits to the central repository, which should be a developer's
resource, as opposed to "true" releases (including betas) for end
users. IMHO some tickets are merged into "releases" too early, others
too late. The notion of "alpha" releases is also different in Sage;
have there ever been betas? ... Intermediate releases and their
download could be avoided/replaced by just announcing which tickets
will be/have been merged, s.t. a developer (more or less
automatically) only updates the parts he's working on if appropriate.)

-Leif

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


[sage-devel] Re: What's the point of two "stable" releases in two days?

2010-05-26 Thread kcrisman


On May 26, 3:56 pm, William Stein  wrote:
> On Wed, May 26, 2010 at 12:50 PM, Dr. David Kirkby
>
>
>
>
>
>  wrote:
> > On 05/26/10 05:34 PM, leif wrote:
>
> >> On 26 Mai, 18:09, Robert Bradshaw
>
> >>> I like the risk assessment field idea.
>
> >> Me too, perhaps give it a different name.
>
> > What would you call it? There are at least three things to consider I can
> > think of.
>
> > 1) What are the risks associated with a change?
>
> > 2) The probability of the change causing a problem.
>
> > 3) The impact such a problem would cause.
>
> > There might be others.
>
> > Even things that have a fairly high probability of causing a problem are
> > probably not worth worrying about too much if the impact would be minimal.
>
> > Conversely, even something which has a low probability of causing a problem,
> > but would have major consequences, needs to be taken seriously.
>
> > However, unless there was a *major* change in Sage release practices, it
> > would be a bit pointless doing any sort of risk analysis. I don't detect
> > much of an appetite for a major change in Sage release practices. In fact, I
> > detect quite the converse.
>
> At a bare minimum, any major change should be designed by people who
> have actually done some Sage releases.
>

Wouldn't it be easiest for someone to change the 5.0 release date
thingie on Trac to "sometime in June, but may be pushed to July or
later in order to fulfill goals (Cygwin, etc.)"?  This seems like even
more of a tempest in a teapot than the SPKG.txt thread ;)

- kcrisman

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


Re: [sage-devel] Re: What's the point of two "stable" releases in two days?

2010-05-26 Thread William Stein
On Wed, May 26, 2010 at 12:50 PM, Dr. David Kirkby
 wrote:
> On 05/26/10 05:34 PM, leif wrote:
>>
>> On 26 Mai, 18:09, Robert Bradshaw
>>
>>> I like the risk assessment field idea.
>>
>> Me too, perhaps give it a different name.
>
> What would you call it? There are at least three things to consider I can
> think of.
>
> 1) What are the risks associated with a change?
>
> 2) The probability of the change causing a problem.
>
> 3) The impact such a problem would cause.
>
> There might be others.
>
> Even things that have a fairly high probability of causing a problem are
> probably not worth worrying about too much if the impact would be minimal.
>
> Conversely, even something which has a low probability of causing a problem,
> but would have major consequences, needs to be taken seriously.
>
> However, unless there was a *major* change in Sage release practices, it
> would be a bit pointless doing any sort of risk analysis. I don't detect
> much of an appetite for a major change in Sage release practices. In fact, I
> detect quite the converse.

At a bare minimum, any major change should be designed by people who
have actually done some Sage releases.

 -- William


-- 
William Stein
Professor of Mathematics
University of Washington
http://wstein.org

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


Re: [sage-devel] Re: What's the point of two "stable" releases in two days?

2010-05-26 Thread Dr. David Kirkby

On 05/26/10 05:34 PM, leif wrote:

On 26 Mai, 18:09, Robert Bradshaw


I like the risk assessment field idea.


Me too, perhaps give it a different name.


What would you call it? There are at least three things to consider I can think 
of.

1) What are the risks associated with a change?

2) The probability of the change causing a problem.

3) The impact such a problem would cause.

There might be others.

Even things that have a fairly high probability of causing a problem are 
probably not worth worrying about too much if the impact would be minimal.


Conversely, even something which has a low probability of causing a problem, but 
would have major consequences, needs to be taken seriously.


However, unless there was a *major* change in Sage release practices, it would 
be a bit pointless doing any sort of risk analysis. I don't detect much of an 
appetite for a major change in Sage release practices. In fact, I detect quite 
the converse.


Dave

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


[sage-devel] Re: What's the point of two "stable" releases in two days?

2010-05-26 Thread leif
On 26 Mai, 18:09, Robert Bradshaw 
wrote:
> On May 26, 2010, at 12:59 AM, David Kirkby wrote:
>
> > Looking at the Sage roadmap
>
> >http://trac.sagemath.org/sage_trac/roadmap
>
> > I see Sage 4.4.3 is "A tiny minor release on the way to 5.0" which is
> > due on  30th May.
>
> > Sage 5.0 is due out two days later on first of June.
>
> The release date for 5.0 was picked somewhat arbitrarily way in  
> advance. It will be released when the goals are met, which is highly  
> unlikely to be the first of June (though hopefully not too much  
> further than that).

June 1st what year? ;-)

50% of the tickets for 5.0 have already been closed (unfortunately,
that's only one out of two).

> I like the risk assessment field idea.

Me too, perhaps give it a different name.

-Leif

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


[sage-devel] Re: What's the point of two "stable" releases in two days?

2010-05-26 Thread leif
On 26 Mai, 16:32, Jason Grout  wrote:
> On 5/26/10 2:59 AM, David Kirkby wrote:
>
> > I sometimes wonder if trac tickets should have a "risk factor"
> > attached to them. Something like
>
> > 1)- Very low risk (Typos, documentation errors, numerical noise on 
> > doctests.)
> > 2)  Low risk. (Changes that occur on only one or two rarer operating
> > systems, or specific versions of specific Linux distributions).
> > 3)  Medium risk (Changes to the library)
> > 4)  High risk. (Updates of most standard packages)
> > 5) Very high risk (Updates to standard packages which are used by many
> > people on all systems (MPIR, MPFR, Python etc) or if a new standard
> > package is added to Sage.
>
> I would be willing to try filling out such "risk factor" fields in trac,

+1

That would avoid setting "priority" to minor or trivial to indicate
harmless patches.

Awaiting an "official" release announcement on sage-release/sage-
devel, with documentation of what was merged.
So far, I've found 17 tickets merged, 16 of them related to Cygwin;
some of them not closed the usual way.
(More to come on other threads, but or because it is early morning in
Seattle... ;-)

-Leif

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


[sage-devel] Re: What's the point of two "stable" releases in two days?

2010-05-26 Thread Jason Grout

On 5/26/10 2:59 AM, David Kirkby wrote:


I sometimes wonder if trac tickets should have a "risk factor"
attached to them. Something like

1)- Very low risk (Typos, documentation errors, numerical noise on doctests.)
2)  Low risk. (Changes that occur on only one or two rarer operating
systems, or specific versions of specific Linux distributions).
3)  Medium risk (Changes to the library)
4)  High risk. (Updates of most standard packages)
5) Very high risk (Updates to standard packages which are used by many
people on all systems (MPIR, MPFR, Python etc) or if a new standard
package is added to Sage.





I would be willing to try filling out such "risk factor" fields in trac, 
though of course, risk assessments also carry a risk factor.


Jason

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