Joining the "Python 3 Statement"

278 views
Skip to first unread message

Nick Timkovich

unread,
Jul 8, 2016, 10:03:12 PM7/8/16
to Django developers (Contributions to Django itself)
With the release of IPython 5.0 LTS, it was mentioned as also being the final Py2-compat release in the series with a reference to the "Python 3 Statement" https://python3statement.github.io/ Some of the prose in it refers to just the Scientific Stack (Numpy, Scipy, MPL, et al.), but an issue popped up saying that it could be generalized if other projects were to join/"sign", e.g. Django. https://github.com/python3statement/python3statement.github.io/issues/21

I'm not strongly advocating one way or the other, just thought I'd bring it up.

Nick

Aymeric Augustin

unread,
Jul 9, 2016, 2:51:07 AM7/9/16
to django-d...@googlegroups.com
Hello Nick,

This website was quickly discussed by a few team members some time ago. It wasn’t clear to us what joining this initiative would achieve for Django.

At first sight, it would mostly allow those who run on Python 3 to feel a bit more smug and make those who are stuck on Python 2 a bit more frustrated.

The web community seems to be ahead of the scientific community for moving to Python 3. By now most Django users should be aware that they have to figure out a plan to migrate to Python 3 (or JS, or Go, etc.) I don’t think the scientific community is there yet.

(To be honest, I discovered recently that some high-profile members of the Django community are still advocating to start new projects on Python 2. I’m failing to rationalize why they give this advice, certainly because of my biais.)

If we consider that we’ve reached a point where we no longer need to focus on raising awareness, I’d rather drive the migration to Python 3 with a stick than with a carrot. There’s plenty of cool stuff to advertise :-)

-- 
Aymeric.

--
You received this message because you are subscribed to the Google Groups "Django developers (Contributions to Django itself)" group.
To unsubscribe from this group and stop receiving emails from it, send an email to django-develop...@googlegroups.com.
To post to this group, send email to django-d...@googlegroups.com.
Visit this group at https://groups.google.com/group/django-developers.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-developers/0460ab73-1059-49e9-be63-2716378fddca%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Nick Sarbicki

unread,
Jul 9, 2016, 4:26:25 PM7/9/16
to django-d...@googlegroups.com

Hi Aymeric,

I don't think this is a question of what it would do for Django. More what Django could do for python.

The web and scientific communities are essentially the two biggest python communities around. If they both joined together to say "2020 is the deadline for us and everyone else" it could really push a lot of others to see how serious the need to move is now.

Python could gain from the greater uptake of 3.x and further downstream Django will benefit too. I don't find it smug. I think it's a reality check.

Nick.


Florian Apolloner

unread,
Jul 10, 2016, 8:28:22 AM7/10/16
to Django developers (Contributions to Django itself)


On Saturday, July 9, 2016 at 10:26:25 PM UTC+2, Nick Sarbicki wrote:
I don't think this is a question of what it would do for Django. More what Django could do for python.

We already announced (way way back), that we are dropping support for Python 2 and outlined our plan. That is imo enough, being on a side like python3statement.github.io does not add any value to python.

The web and scientific communities are essentially the two biggest python communities around. If they both joined together to say "2020 is the deadline for us and everyone else" it could really push a lot of others to see how serious the need to move is now.


Everyone seriously involved in Django (agencies, companies) etc are already aware of our plans and are hopefully preparing themselves, if not, there is little else we can do which would change their minds…

Cheers,
Florian

Nick Sarbicki

unread,
Jul 10, 2016, 9:22:47 AM7/10/16
to Django developers (Contributions to Django itself)
On my phone so excuse typos.

On Sun, 10 Jul 2016, 13:28 Florian Apolloner, <f.apo...@gmail.com> wrote:


On Saturday, July 9, 2016 at 10:26:25 PM UTC+2, Nick Sarbicki wrote:
I don't think this is a question of what it would do for Django. More what Django could do for python.

We already announced (way way back), that we are dropping support for Python 2 and outlined our plan. That is imo enough, being on a side like python3statement.github.io does not add any value to python.


The problem with announcing way back is people outside of the sphere forget. Yes everyone working with Django should know. I know everyone in my team is very aware of the deadline.

But those outside of Django forget how seriously this is being taken by the community. 

Even then (warning, dumb analogy coming), if I was asked to sign a petition to my government, I wouldn't refuse just because I'd already written to my MP about it. Speaking together has more power.

Again, no immediate benefit to Django, but there is one for python.



The web and scientific communities are essentially the two biggest python communities around. If they both joined together to say "2020 is the deadline for us and everyone else" it could really push a lot of others to see how serious the need to move is now.


Everyone seriously involved in Django (agencies, companies) etc are already aware of our plans and are hopefully preparing themselves, if not, there is little else we can do which would change their minds…

Again, in Django most definitely are. But outside of Django it's less clear.

My last job as an example had a huge pure python programme that is core to the business. My manager would try to justify upgrading to 3.x but it never caught on with the seniors. They would look at the stats and see most people still using 2.7, most libraries still working in 2.7, and see the current code still running in 2.7. There's never been anything big enough to convince them.

It didn't run Django so Django announcing wouldn't have any impact. But if all the major libraries announced then it might have.

Even more to the point (and far worse in my mind) are the teaching websites like codecademy and learn python the hard way. They all still use python 2! And to justify it they quote employability and lack of 3.x uptake. Again if they were to have something bigger put in front of them to show how much of a dead end 2.7 is, it could push them to change.

If that changes 3.x can get a big push forward. And that in the future can help Django.

Realistically though, what is stopping us from signing? What negative outcome can it have?

Nick.

Sam Willis

unread,
Jul 10, 2016, 10:17:59 AM7/10/16
to Django developers (Contributions to Django itself)
As far as I can tell the only place where Django's Python 2.x deprecation is stated is here https://www.djangoproject.com/weblog/2015/jun/25/roadmap/

I think it should be more prominently stated in the docs, and as 1.11 is supposedly the last to support 2.7 (according to the blog post) it may be worth promoting it as such.

Maybe there should be a pominant announcement about which version is the last to support 2.7? Maybe in the release notes of 1.10?

Florian Apolloner

unread,
Jul 10, 2016, 1:18:56 PM7/10/16
to Django developers (Contributions to Django itself)
On Sunday, July 10, 2016 at 3:22:47 PM UTC+2, Nick Sarbicki wrote:
The problem with announcing way back is people outside of the sphere forget.

But then again those will not bother if Django is on Python3 or not. For those it might be way more important if the default python is python3 on their machines, or if a recent python is even available (looking at you RHEL ;)).
 
Even then (warning, dumb analogy coming), if I was asked to sign a petition to my government, I wouldn't refuse just because I'd already written to my MP about it. Speaking together has more power.

Yeah, given the current political situation I'd rather not continue that argument -- lets leave politics out ;)
 
My last job as an example had a huge pure python programme that is core to the business. My manager would try to justify upgrading to 3.x but it never caught on with the seniors. They would look at the stats and see most people still using 2.7, most libraries still working in 2.7, and see the current code still running in 2.7. There's never been anything big enough to convince them.

And those people are not convinced by a pledge either, so whats the point. Then again, the decisions on companies often depend on other factors (ie support on their machines etc…), and using python3 should be evaluated on a project per project basis (and if a [non-binding]pledge is enough to shift your managers, you probably have something else to worry about :D).

Even more to the point (and far worse in my mind) are the teaching websites like codecademy and learn python the hard way. They all still use python 2! And to justify it they quote employability and lack of 3.x uptake. Again if they were to have something bigger put in front of them to show how much of a dead end 2.7 is, it could push them to change.

Those people are quite aware that python3 is out there and ready, such a statement is not going to help. It is probably quite a bit of work to upgrade all those tutorials and they maybe do not see the gain in time vs money or whatever…
 
If that changes 3.x can get a big push forward. And that in the future can help Django.

And how exactly can that help Django?
 
Realistically though, what is stopping us from signing? What negative outcome can it have?

Probably nothing, but Django in the past has never tried to convince anyone or force anyone to do something (aside from the decisions we make within our framework), and we do not feel the urge to force our view on others -- nor sign a pledge for that matter. Our stance on Python 3 is clear, we made our point, but we do not need or have to convince anyone else.

Cheers,
Florian

ludovic coues

unread,
Jul 10, 2016, 3:11:24 PM7/10/16
to django-d...@googlegroups.com
The 1.11 release note already tell clearly it will be the last version
of django supporting python2.
> --
> You received this message because you are subscribed to the Google Groups "Django developers (Contributions to Django itself)" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to django-develop...@googlegroups.com.
> To post to this group, send email to django-d...@googlegroups.com.
> Visit this group at https://groups.google.com/group/django-developers.
> To view this discussion on the web visit https://groups.google.com/d/msgid/django-developers/678cee6c-3df4-4715-b6af-3d20bf3f3822%40googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.



--

Cordialement, Coues Ludovic
+336 148 743 42

Nick Sarbicki

unread,
Jul 10, 2016, 3:34:56 PM7/10/16
to Django developers (Contributions to Django itself)
Not going to carry this on much more as I doubt I'll be convincing. And while I, for the most part, agree that group pledges won't change the minds of those locked to 2.7, I'm hopelessly optimistic about it :-).

And how exactly can that help Django?

I think anything which advances and promotes python3 will have direct knock on effects for Django post 2.0. We all want to see the project thrive, and if the language it's built on thrives as well that can only be a good thing.


Realistically though, what is stopping us from signing? What negative outcome can it have?

Probably nothing, but Django in the past has never tried to convince anyone or force anyone to do something (aside from the decisions we make within our framework), and we do not feel the urge to force our view on others -- nor sign a pledge for that matter. Our stance on Python 3 is clear, we made our point, but we do not need or have to convince anyone else.

Again I think there's a difference in opinion here. I don't see it as something we as a project need to convince people of. I see it as a statement of intent. Django doesn't need to convince anyone, it just needs to say "this is happening" (and if I had my way in this conversation, publicly, more than once and in union with other projects...). The convincing should be left to those using it.

Maybe it would have been better to not have an officially signed list. But instead just a curated list of projects which have announced that they won't support 2.7 at some date. Would have been easier and less political.

Nick.

Nick Timkovich

unread,
Jul 10, 2016, 3:47:56 PM7/10/16
to Django developers (Contributions to Django itself)
Regarding "forcing", the statement has a similar sentiment: "Third parties may offer paid support for our projects on old Python versions for longer than we support them ourselves. We won’t obstruct this, and it is a core principle of free and open source software that this is possible." If Blue Hat has a market for and chooses to develop Django 1.12 to run on their Python 2.8, that's fantastic. Just that you can't expect free support by the community beyond 2020.

Yes, the statement is status-quo for Django, but my motivation is more for this to expand the scope of said statement beyond the SciPy stack. Because this doesn't alter policy, I'm hoping for this as a smooth segue towards broader awareness/adoption.
Reply all
Reply to author
Forward
0 new messages