[If you don't write gadgets, user scripts or work on MediaWiki code feel free to ignore this message]

Hey all!

Given the hackathon this weekend, now seemed like a good idea to talk about us having a policy for code we write for gadget and user scripts developers and as gadget and user script developers. TDLR: I am proposing a policy to guide developers and authors of these kinds of scripts. I would like people to read through my first draft [1] and give me feedback on the talk page. Please feel free to share on wiki.

What is being proposed

A policy page that would be editable on wiki and linked to from the editing interfaces on gadgets, to guide both parties on how to write code that's sustainable and less prone to breakage.

Why is this needed?

Despite gadgets and user scripts (which will be referred from now on as wiki-based code) being a key component of MediaWiki projects, up until now frontend APIs (e.g. how wiki-based code should interact with source control provided code) have been ill-defined leading to misunderstandings between engineers and wiki-based code developers when wiki-based code break. This also leads to code rot, where developers do not feel empowered to make changes as it's unclear how their changes will impact wiki-based code developers. On top of this, when wiki-based code breaks it's not clear who can and will fix them.

To solve this a policy I have been pushing for some time to make the contract between MediaWiki developers and wiki-based code developers explicit and less confusing.

I hope on the long run a policy would restore trust and good faith between the two parties.

How can you help?

To contribute to the policy please use the discussion page to raise concerns, suggestions, removals or additions.

What's the deadline?

I'd like to have all feedback gathered by 30th May 2022

[1] https://www.mediawiki.org/wiki/User:Jdlrobson/Extension:Gadget/Policy#Policy_(draft)