Hi everyone,

I'm going to withdraw the Channels patch for consideration for 1.10;
there's a lot more concern and uncertainty around it than I had
anticipated, given the reaction up until this point, and it's clear I have
some more work to do at convincing the community and proving the design.

Instead, I will take the path-most-trodden for me and large Django
features, which is to run it as an external package, compatible with 1.8
through 1.10 (which the package already is), and let it mature and develop
outside of core, before coming round to look again at inclusion for 1.11 or
2.0.

My reasons are thus:

 - Trying to push it into 1.10 is either going to delay the release or
result in a rush job. We have time-based releases for a reason, and
stopping "big-name features" from sinking a release is one of those reasons.

 - There are numerous objections to the design, some well-founded. I'd like
to take time to prove out these decisions (or, indeed, refine them) with
channels in a more production situation and after a battery of load testing
and analysis.

 - Being almost purely an addition to Django, even though it technically
inserts a new layer, makes it more well-suited to live externally than many
other features. While the external package will have to monkey-patch a few
things, it'll be relatively minor.

 - The faster release cycle an external package can bring will almost
certainly be useful.

However, the step I'd like to take instead is moving Channels and its
associated project repos (daphne, asgiref, asgi_redis, asgi_ipc) under the
Django organisation on GitHub and discussing them openly in Django blog
posts, documentation and other places as the Django project's official way
to get WebSockets working - after all, we are paying people to work on it,
and I still remain convinced we need a solution.

I think this is a good mid-step, and given that you would have had to `pip
install` extra dependencies to get django.channels to run anyway, no more
complicated to use. I'd also propose that these external projects have
their own, shorter backwards-compatibility and security guarantees,
essentially running on a quicker, lighter version of the main release cycle.

That discussion is upcoming, but I wanted to retract the patch now because
I don't want us to get to the 15th May and be unsure about what's going on,
and there's plenty of other work we need to do to prep for the alpha.

Sorry about the drama I've stirred up these last few weeks; I had misjudged
the situation, and was more confident in the design and code than I maybe
should have been. A lot of the goals I want to achieve with Channels can be
done as an external package for now, and hopefully it will prove the
correct decision to take.

Andrew

-- 
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-developers+unsubscr...@googlegroups.com.
To post to this group, send email to django-developers@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/CAFwN1uq7-E%2BLu5hCNQhoyO2W%3DvnPis7Q3sbqGo1xQ-%2BRmsFAgw%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to