> of work they have to do. The deprecation policy is just to give
> extension maintainers a bit of breathing room so they don't have to
> scramble to update their extension before it breaks.

Exactly. It also makes it easier for them to maintain their extensions for more 
than the last version of MW.

> As far as these specific proposals, the wording of the deprecation
> policy suggests that removal without deprecation should only be cases
> where it's absolutely necessary. I think we should also allow such
> removal when it seems probable that basically nobody actually used the
> feature.

There are three "probability qualifiers" in that sentence (seems, probable, 
basically). You just don't know if somebody now has to fix their code. And one 
benefit of having a spelled out policy is to make sure that not only the 
high-profile breaking changes are properly treated but also the small ones.


> For instance, the feature being removed in this case is only
> useful for tests of MagicWords. It doesn't seem worth the hassle to
> go through a whole procedure to remove it if it will probably affect
> nobody, and almost certainly affect at most one or two people, and the
> affected parties will just have to make a one-line change.

It is a one-line change from your perspective. For the maintainer it will be 
picking up the extension after some time, fixing some unrelated bug, running 
the tests and have them fail. Finding the problem should be easy enough (method 
not found), but they then have to investigate, why that stupid method is 
missing all of a sudden and find and understand the recommended solution, 
digging through commits and phabricator tickets. They then need to apply the 
solution which, if they want clean self-contained commits, includes committing 
or stashing their current code, opening a new branch, applying the fix, running 
the test, merging the branch to master, picking up the original branch and 
rebasing it. All of this on top of the small bug fix they actually came for.

I am aware that I am talking hypothetics here. You are probably right that 
nobody out there is using this particular method and even if so, then their 
production code will not immediately stop working. So, by all means use your 
best judgement and go ahead if you think removing the method is justified. But 
please keep in mind that any time you safe when bypassing the procedure may 
mean more hassle down the line.

Cheers
Stephan



_______________________________________________
Wikitech-l mailing list
Wikitech-l@lists.wikimedia.org
https://lists.wikimedia.org/mailman/listinfo/wikitech-l

Reply via email to