On Thu, 2023-04-13 at 20:06 -0700, bawolff wrote:
"I think there are lots of promising opportunities to incentivise people to pay off technical debt and make our existing stack more sustainable. Right now there are no incentives for engineers in this regard."
Interesting. Personally to me, it can sometimes feel like we never stop talking about technical debt. While I think paying off technical debt is important, at times I feel like we've swung in the opposite direction where we are essentially rewriting things for the sake of rewriting things.
"Technical debt" spontaneously brings the following items to my little mind. They should not be about rewriting but rather "maintenance":
* librsvg for SVG rendering is a five year old version: https://phabricator.wikimedia.org/T193352 / https://phabricator.wikimedia.org/T265549 * Graph extension on old Vega version 2.6.3: see subtasks of https://phabricator.wikimedia.org/T292341 * Scribunto extension on old Lua version 5.1 (last 5.1.x release was in 2012): https://phabricator.wikimedia.org/T178146 * 3D extension on a five year old three.js library in https://phabricator.wikimedia.org/T277930#7636129 * Removing the OpenStackManager extension from wikitech.wm.org: https://phabricator.wikimedia.org/T161553 * Removing WVUI from MediaWiki core: https://phabricator.wikimedia.org/T310244 * Replacing jsduck with JSDoc3 across all Wikimedia code bases: https://phabricator.wikimedia.org/T138401 * Undeploy VipsScaler from Wikimedia wikis: https://phabricator.wikimedia.org/T290759 * https://phabricator.wikimedia.org/T151393 (a non-public task)
This is not a complete list. Plus there are also separate "waiting for someone to make a decision" and "improving communicating & documenting already-made decisions" categories which would be different lists.
Of course there might be valid reasons not to look into some of this technical debt (other higher priorities, high risk, complexity, etc).
Cheers, andre