To view this discussion on the web visit https://groups.google.com/d/msgid/django-developers/D89DCE98-6891-4EF5-9A04-34D3F8FC2BEE%40polytechnique.org.
--
You received this message because you are subscribed to the Google Groups "Django developers" 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 http://groups.google.com/group/django-developers.
For more options, visit https://groups.google.com/d/optout.
Hi guys,
TL;DR -- ...sorry, there's no TL;DR here. It's a bunch of separate ideas. It's
a little lengthy. Please bear with me.
I'd like to compare our support for old database servers with our support
for old browsers. We only recently dropped code that supported IE 6/7 (!)
for a security (!) fix, and even that decision wasn't taken trivially. I don't
think suggestions that will break Django sites for IE8 users will be
appreciated, unless there is a great benefit on the other side. And IE8,
along with the OS which required it, are long EOL'd.
I also don't subscribe to the position that it's irresponsible to claim support
for EOL'd products; by the same token, the reponsible thing would be to
include, by default, a middleware that sends warnings to users of old
browsers. We don't do that, because we're all consenting adults here.
And on that comparison, the old browser is arguably more of a risk than
the old database server -- the db, most likely, is not directly accessible
from the internet.
To address a specific suggestion:
On Saturday 14 June 2014 18:08:41 Marc Tamlyn wrote:
>
> That's not to say we should actively break support for old databases if
> they happen to work, but we should remove any conditional code we might
> have regarding them and we should not consider them when adding new
> features.
"remove any conditional code regarding them" is exactly what I'd call "actively
break support". What I want to do for "secondary support versions" is
- keep conditionals regarding them
- protect them from newer-version-only functionality (with no attempt to
add workarounds or client-side implementations)
- accept community patches to fix problems, as long as they don't put too
much of a burden on the code.
I'm +0 on dropping Oracle9 support completely at this point, which means,
like Marc suggests, we just forget about it in code and declare it unsupported
in docs. -0 on doing the same to Oracle 10. But it has to be a team decision,
either way.
Also note:
We claim to support MySql 5.0 and up.
http://www.oracle.com/us/support/library/lifetime-support-technology-069183.pdf
(page no. 19, which is the 21st page of the PDF):
MySql 5.0 EOL'd in Dec 2011
MySql 5.1 in Dec 2013
We claim to support Postgres 8.4 and up -- 8.4 EOLs next month.
Our docs still speak about SQLite 3.3.5.
Besides database servers, there are also Python driver libraries to consider;
we claim to require cx_Oracle>=4.3.1, but with cx_Oracle, only the latest
version is really supported -- so we should require 5.1.3 (fixing the doc
to require 5.1.3 for Python3 was already on my to-do list). I suppose
similar issues exist with the other backends.
This discussion, as Aymeric noted, is really about all dependencies.
We discussed, and all but decided, to start using external dependencies
rather than vendoring libraries; but this means we can only do so for
libraries supported by projects with clear support policies. We need
to discuss the requirements for being a Django requirement.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-developers/201406150251.12616.shai%40platonix.com.
On Sun, Jun 15, 2014 at 7:51 AM, Shai Berger <sh...@platonix.com> wrote:
Hi guys,
TL;DR -- ...sorry, there's no TL;DR here. It's a bunch of separate ideas. It's
a little lengthy. Please bear with me.
I'd like to compare our support for old database servers with our support
for old browsers. We only recently dropped code that supported IE 6/7 (!)
for a security (!) fix, and even that decision wasn't taken trivially. I don't
think suggestions that will break Django sites for IE8 users will be
appreciated, unless there is a great benefit on the other side. And IE8,
along with the OS which required it, are long EOL'd.
I also don't subscribe to the position that it's irresponsible to claim support
for EOL'd products; by the same token, the reponsible thing would be to
include, by default, a middleware that sends warnings to users of old
browsers. We don't do that, because we're all consenting adults here.
And on that comparison, the old browser is arguably more of a risk than
the old database server -- the db, most likely, is not directly accessible
from the internet.There's another, more important difference, though. The database server is under the direct control of the developer. If I'm a developer, I'm actively choosing Django X, and I choose MyWonderDB 1.2.3. If I make a decision to upgrade to Django Y, the fact that my database is no longer supported is part of that decision - I either need to upgrade my database as well, or I need to evaluate whether "not supported" means "will actually break" or "might work, but we just aren't testing for it", and take the risk (and the related testing responsibility) onto my own project.However, the website that I deploy is accessed by people whose software isn't under my control. People are still using IE6. Never mind that it's been EOLd; you'll pry their copy of Win95 out of their cold, dead hands. This long tail is essentially endless - as a web framework, when we drop support for a browser, we're talking about how much of this tail we're willing to cut off. IE8 may well be EOL, but Microsoft adoption rates and upgrade policies mean that there is still s substantial population using it, especially in non-technical and non-English speaking demographics.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-developers/CAJxq8497_tPwbnnft9hp0TB68UmXqqXFtnThtgidDFZhP%2BJc0A%40mail.gmail.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-developers/CAFRnB2WU83xD9YXcqpS%3DNLHH2PdNRZFr3z5CJydxTxOa70eLHw%40mail.gmail.com.
It seems to weird to claim (even best-effort/community) support for a database that is no longer supported by its authors. Also, you can always use an older version of Django, right? I tend to think you're probably not interested in the latest and greatest Django if you're using a really old database. My general proposal (for all databases) would be to drop support for a database version in the Django release that follows its end-of-life date.
Regarding testing, Oracle is currently not on CI, but Shai and I are working to add support for 11 and 12. This would actually be the only database where we have testing for multiple versions. For the other databases we are using whatever version Ubuntu 12.04 ships with (PostgreSQL 9.1.13, MySQL 5.5.37).
--
You received this message because you are subscribed to the Google Groups "Django developers" 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 http://groups.google.com/group/django-developers.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-developers/abfb2f24-ee06-4c0c-ab70-50530eb7fc83%40googlegroups.com.
Heh, The "whatever version Ubuntu 12.04 ships with" test policy seems kind of weird (especially if this is meant to go on forever :) )On 06/14/2014 02:40 PM, Tim Graham wrote:
It seems to weird to claim (even best-effort/community) support for a database that is no longer supported by its authors. Also, you can always use an older version of Django, right? I tend to think you're probably not interested in the latest and greatest Django if you're using a really old database. My general proposal (for all databases) would be to drop support for a database version in the Django release that follows its end-of-life date.
Regarding testing, Oracle is currently not on CI, but Shai and I are working to add support for 11 and 12. This would actually be the only database where we have testing for multiple versions. For the other databases we are using whatever version Ubuntu 12.04 ships with (PostgreSQL 9.1.13, MySQL 5.5.37).
According to http://www.postgresql.org/support/versioning/ PostgreSQL 9.1 was released 2.5 years ago and is in the middle of its 5 year life cycle which ends in September 2016.
PostgreSQL 9.1 also lacks lots of newer stuff.
Thanks to ubuntu/debian pg_createcluster and friends it is actually easy to run multiple versions of postgresql (I have everything from 8.4 to latest 9.4 beta running in parallel on my laptop), so my suggestion would be at least for postgresql to
a) add pgdg repo to ubuntu ( http://www.postgresql.org/download/linux/ubuntu/ )
b) test with all versions supported by pgdg
There will be a need for some gradiented support of Psql with contrib.postgres. I think a sensible CI setup would be to run the full test suite against 9.4 and the contrib.postgres test suite only against 9.1-9.3. That would be my preferred compromise.
Marc
--
You received this message because you are subscribed to the Google Groups "Django developers" 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 http://groups.google.com/group/django-developers.
To view this discussion on the web visit https://groups.google.com/d/msgid/django-developers/CAJxq849rV6pu_gX9JaCKOHxj%2BFU9p9U3ii%2BA54VHjF7WncT5Gw%40mail.gmail.com.