Hello,

Just for the record, we spent a good time discussion this change (to bring
> inheritance of Admin Actions in line with Python’s expected inheritance
> rules). We reviewed the entire history of the feature. We explored an
> alternative approach, which would have maintained BC. We put the discussion
> to the mailing list, where further people reviewed it, and we came to a
> decision, as a group, without any objections being raised.


That's good and reassuring news; if so, that's precisely another occurrence
of "those reasons really need to be very good, and spelled out and
explained". Most Django users will never see farther than the release
notes, so if abrupt in-places changes occur without a rationale behind, it
*appears* reckless (whetever really happened in the background). If release
notes are considered too long already, wouldn't html tooltips/collapsibles
be useful, so that one may know more about the rational behind changes?

Tech debt is a very real thing.  Keeping it under control is vital to the
> pace of improvement and updates for any project, large, middling or small.
> Any project requires maintanence at minimum, just like owning a car or
> house.  If you buy a car and run it every day for five years, only filling
> up the gas tank and adding a splash of oil now and then,  you don't have
> any excuse to be upset at the mechanic or manufacturer for the size of the
> repair bill when things start breaking.  At least with software, its alot
> easier to get fixes out than with hardware.  You make a persuasive argument
> and have great passion, but the overall goal of enabling out of date and
> unsupported releases to remain around longer than they should be makes me
> feel really uncomfortable.  A spftware project is not buy once and forget,
> neither is a car.  And your package seems to encourage that lax practice to
> a level that I would be highly resistant at working at a company if I
> couldn't persuade management to prioritize keeping up to date and tech debt
> at a manageable level.
>

We agree on the necessity of updating code, and indeed DCP was never meant
to encourage slacking but to solve external dependency conflicts. The
latter - and the additional costs involved in solving them - are precisely
used by management to refrain from upgrading codebases.

As we're getting to the end of useful arguments here, I'd like to ask you
> to step back for a minute and take a calm look at what you're writing.
> Imagine you were receiving such messages rather than sending them. Would
> you want to spend more time collaborating with the person addressing you
> that way and to receive more such messages? Perhaps this is another reason
> why you aren't getting as much support as you'd hope.
>

My initial article, as well as most of this ML discussion, is not small
feature/bugfix request, but a rant on the whole deprecation process. The
aim is to raise awarenesss, to shake minds, to push points as deep as
possible, and to not let any falsehood or diversion slip by. As thus, it
uses all kinds of strong words, of emphases, of rhetorical figures, of
denounciations, to deliver the argumentation. I guess a rant will always
look aggressive, even if it only states the most scientific facts.

So I'm sorry if it sounded insulting, but personally I don't mind facing
adamant insistence, blunt statements, criticisms of any current state of
affairs (whatever the amount of effort one might have put into getting
there), and heated discussions, as long as they don't turn into ad hominem
attacks; in the excepts that you pointed out, I was mainly stating my frank
opinion on the (visibly incomplete) evidence that I was shown, and I would
only have sounded hypocritical by masking the seriousness these issues have
for me. Maybe some feel that Django as already having admirable commitment
regarding API stability, alas some other languages and frameworks have set
the bar much higher (farther than semantic versioning), and *they* are to
be used as references (although too extended compatibility is considered
harmful by some here).

Surely some of my words could have been better chosen ("punishing" shall be
understood as "putting at a disadvantage", and "little version" as "minor
version"), my bad, like some of yours ("throwing your toys" sounds
condescending, though I couldn't care less); but I feel that politeness
euphemisms and tone policing destroy the productiveness of crucial
controversies like this one, instead of helping them. I'd rather be called
names, but not see already-debunked untruths reappear in the conversation
("current behavior [...] *can't be fixed* without a hard compatibility
break", "*always* take the time to create deprecation paths"...); this
intellectual scrambling is what makes *me* stomach-sick, much more than old
unmaintained packages.

For example, Luke was open to amending the deprecation policy to better
> reflect reality. You should have suggested some concrete changes, erring on
> the side of caution. Instead you chose to repeat the same argument, except
> more agressively. This doesn't get us any closer to a documentation patch.
> In fact this reduces the likelihood that someone will choose to spend time
> writing that patch.
>

Imho I was not rambling, I was reformulating and pushing the issue farther
to try to understand what was really going on; and it proved useful because
Carlton Gibson, Tim Graham and Adam Johnson eventually answered my
questions on this famous "Admin Actions" change process .
Thus my final analysis on it is that none of the promises made in "API
Stability" doc are true anymore, that's why I propose its clearing (the
other "Django’s release process" doc is here to describe what's actually
occuring). Or one could reformulate this  "API Stability" doc with lots of
"often", "unless it's deemed not worthy" and so on, but only the core dev
group can express its official stance on this, not me. Is my analysis
correct?

You feel that sugar-coating my assertions might have changed something to
the adoption of my proposals, but considered that the current release
process is completely praised by other contributors to the talk, and that
dependency conflicts / fork-fests are considered a minor issue, I don't
have this impression. If my convictions on all these subjects (the
difficulty of setting up compatibility, the hazard of using old packages,
the necessity of forcing users to upgrade all at once, the interest of
highly modular architectures...)  are the polar opposite of people here,
there is at the contrary nothing to regret - a change of release policy is
a big and brutal thing anyway, not something to be done by small steps and
small PRs.

So documentation changes only, it will blatantly be.

thanks,
regards,
Pascal





Le mar. 20 août 2019 à 14:56, Dave Burkholder <thinkwelldesi...@gmail.com>
a écrit :

> > I love where Django is headed. I love all of those breaking changes that
> have to happen so we're not perpetually stuck with decisions from 2005.
>
> +100 to this!!
>
> Django user since 1.6 running on python2.6. Upgraded to 1.7 and python3.4
> at the same time, and _that_ migration was hard. Everything since then has
> been a cakewalk.
>
> Mega-props to the caretakers of Django. Carry on...!
>
>
>
> On Monday, August 19, 2019 at 11:51:33 AM UTC-4, Patryk Zawadzki wrote:
>>
>> As someone who has spent over 12 years working with Django, I'd like to
>> offer an opposite point of view:
>>
>> I love where Django is headed. I love all of those breaking changes that
>> have to happen so we're not perpetually stuck with decisions from 2005.
>>
>> What I truly miss is strong static typing support that would tell that
>> when my code is not going to work before I even begin to test it. With
>> static types and tools like mypy and pyright upgrading dependencies is
>> usually a matter of a single afternoon.
>>
> --
> You received this message because you are subscribed to a topic in the
> Google Groups "Django developers (Contributions to Django itself)" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/django-developers/GgqjkYSqfR0/unsubscribe
> .
> To unsubscribe from this group and all its topics, send an email to
> django-developers+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/django-developers/6b6f6b14-c3cc-4ba9-9d77-92ecaab23e11%40googlegroups.com
> <https://groups.google.com/d/msgid/django-developers/6b6f6b14-c3cc-4ba9-9d77-92ecaab23e11%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>

-- 
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 view this discussion on the web visit 
https://groups.google.com/d/msgid/django-developers/CA%2BXNUS128hL1WrAyUvfB72Czmqpz6TmKsmOy5exjpwwB3S1FUA%40mail.gmail.com.

Reply via email to