Hello,

I once was once lured to an ideal of long-term stability and 
retrocompatibility, by nice docs like this one :
https://docs.djangoproject.com/en/dev/misc/api-stability/

But for some years, stuffs have actually been getting worse and worse, with 
each django release bringing its little crowd of nightmares.

In random order, I stumbled upon:
- removal of django.conf.urls.defaults
- removal of markup contrib lib (adios built-in RST support)
- removal of request.raw_post_data (thus breaking about all existing 
webservice libs)
- lots of changes in mandatory settings, like allowed_hosts or DB conf 
format, 
- future removal of the very basic "mimetype" argument from django objects 
(how many apps impacted ? quite MANY I guess)
- future removal of request.REQUEST (aka "we're not all consenting adults, 
let's remove all tools that people could misuse")

For example, I had great fun installing django + djangocms + zinnia + 
cms_plugin_zinnia ; the probability of having no version mismatch between 
all these components being more or less zero.

And the future looks grimmer again, having a look at 
https://docs.djangoproject.com/en/dev/internals/deprecation/.

I don't get this relentlessness at breaking, for the sake of purity, all 
stuffs that are not actively maintained, yet could be perfectly working. 

What is easier, in a deeply dynamic language like python, than keeping 
retrocompatibility ? Why not keep "raw_post_data" as an undocumented alias 
for "body" ? Why not keep "mimetype" as a silent alias for "content_type" ? 
What harm did the "markup" support in django, since no one expects such 
extensions to be 100% secure anyway (no software on earth is) ? If code 
"purity" is wanted, then why not have all these monkey-patched from a 
builtin, but removable, "django.compatibility" util ? Why not wait for 2.0, 
to remove all compatibility aliases in one single shot ?

The one killing features of django is its app ecosystem - being able to 
plug blogs, authentication systems, webservice generators, and all other 
kinds of applications, into this common framework, and benefit from the 
common auto-admin. And since all these apps don't evolve at the same rythm, 
retrocompatibility is IMHO a NECESSITY for django, not a LUXURY. Or isn't 
it ?

Please don't kill the ecosystem, please respect the promises of 
api-stability that were once made..... 

regards, 
Pkl

-- 
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 [email protected].
To post to this group, send email to [email protected].
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/6abfd1ee-0056-41c1-b079-f89f2f463cf5%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to