On Mon, Jul 30, 2018 at 4:28 PM, Stephan Gambke via Wikitech-l wikitech-l@lists.wikimedia.org wrote:
There have been several proposals for removal without deprecation in the past few days, each with more impact on existing code - from "virtually certain nobody ever used" to "the fix is trivial".
I know it is annoying as heck to keep outdated code, but if you ask me, unless there is an immediate compelling reason for the removal the deprecation policy should not be bypassed. And in my opinion "I did not find any extension that uses this method" is not sufficient. Not all extensions/skins are hosted on WMF servers. And being trivial to fix does not help, either. It would be great if everybody could monitor MW master, run CI tests regularly for all their extensions and fix any breakages. Unfortunately many people do not have the time to do that, so they need the deprecation period (and at times the deprecation popups to even notice that something is wrong).
So, I would request to keep the clearCache() method for the foreseen deprecation period. (And generally speaking, though not explicitly required by the deprecation policy and probably not applicable in this instance, it would be great if deprecated methods would actually be kept in working condition and not reduced to a (literally) empty husk just to stay in line with the letter of the policy.)
I personally have maintained local hacks to various software packages in the past, and definitely symphathize with the headache of having to keep up-to-date. However, the deprecation policy doesn't try to help people who aren't keeping up-to-date. It will just postpone their extension's breakage by two releases, not decrease the overall amount 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.
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. 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. I'm not saying the burden on extension developers will be zero, but a lot more time will be needed for us to follow the procedure than we'd save anyone.