On Monday, January 6, 2020 at 8:21:56 AM UTC-5, E. Madison Bray wrote:
>
> On Sun, Jan 5, 2020 at 10:06 PM Nils Bruin <nbr...@sfu.ca <javascript:>> 
> wrote: 
> > 
> > I think our wiki vetoes that idea. See 
> https://wiki.sagemath.org/Python3-Switch : 
> > 
> > Compiling with Python 2 
> > 
> > After version 9.0, if you really want so, you can still build and use 
> SageMath with Python 2, as follows. 
> > 
> > make configure 
> > ./configure --with-python=2 
> > make build 
> > 
> > Beware that you will need to call the second line again if you ever call 
> "make distclean". 
> > 
> > This will work until version 9.1 at least. Then the backward 
> compatibility with Python 2 will no longer be ensured. 
> > 
> > If you want to drop py2 compatibility very soon, the only option is to 
> release 9.1 basically right now, identical to 9.0, and then get on with 
> developing 9.2. That's a nasty thing to do. Based on previous release 
> schedules, people would be justified in expecting that <=9.1 is the 
> "current" release until at least June 2020 or so. So we're stuck with py2 
> compatibility until that time. 
>
> I agree with Nils.  There should be at least a one release deprecation 
> period.  Also, while I don't think we use any kind of real semantic 
> versioning, I think we should name a Python 3-only release 10.0 as 
> it's a very major backwards-incompatibility change. 
>
> Instead for 9.1 let us display a prominent deprecation message in any 
> Python 2 builds when running Sage, including a link to a guide for 
> porting existing code (for Sage there is not all that much to 
> do--mostly any generic Python 2 to 3 porting guide will do, plus some 
> Sage-specific caveats of which I can't think of many). 
>


Because a lot of Sage users are also developers (presumably a higher 
proportion than for Python or Mathematica!), a lot of Sage work has had 
developers in mind.  However, I think it is pretty important to pay 
attention to the users, the vast majority of whom we don't ever hear from, 
since they aren't paying for Sage.

As an example, if there were a coordinated strategy that a company would 
make, I can't imagine that there wouldn't have been two versions of Sage 
cell server going at once - or even an addition (temporary) to the 
drop-down menu saying "Sage with Python 2", for transitioning. I don't know 
if I want to ask the very capable, but very busy, Andrey N. to do that! 
 But once again, sage-devel will never know, because the users didn't pay 
anything, so they may just decide to drop it.  I know it's a headache for 
any authors using PreTeXt who used "print" statements, because it's not 
just changing your own code, but releasing a new version of a book. 
 Presumably many many worksheets (sagenb or Jupyter) also are in the same 
boat - and one can say "oh, there was time" but we all know that many Sage 
users do not actually upgrade very frequently, because Sage is so usable 
and stable in the core functionality, so they may not have been at all 
aware of the necessity.  They just know their code is breaking.

This doesn't mean we shouldn't have switched to Py3 or Jupyter or whatever 
the backwards-incompatible flavor of the month is - that much is clear. 
 But the only way the community grows is by attracting people long enough 
to have a certain percentage become developers, and that does mean some 
boring "customer service" for our volunteer force.  I would call the work 
done at ask.sagemath.org and pretextbook.org actually very valuable in 
these terms, even if little of it goes directly toward developing new 
capabilities in Sage.  (CoCalc also performs a lot of this customer base 
development/service but since it is at least partly non-volunteer I put it 
in a different category.)

I think the easiest way out of this whole business actually is to have a 
relatively small bugfix 9.1 changeset, with OFFICIAL BINARIES in Python 2 
posted, and those left up indefinitely, clearly marked as "Python 2".   
(Having a choice of Sage cell server as well for some indeterminate period 
would be good, but again it is a lot to presume on Andrey alone for that.) 
 Does anyone know whether it is easy to use binary-pkg to create Python 2 
binaries - it is as simple as adding a line in the sage.yaml file, or would 
one have to do something on the command line e.g. an env var first?

- kcrisman

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sage-devel/4293103a-5f9b-434c-a67a-8cf4aa257797%40googlegroups.com.

Reply via email to