Hi Ostrzyciel. Replies inline.

On Thu, 27 Jan 2022, at 08:15, Ostrzyciel wrote:

Maybe a dumb question – I get a profound impression that this email and the guidelines are directed at Wikimedia employees, not MediaWiki extension developers in general.

...why? I thought that most extensions out there are not managed by Wikimedia, right?

These guidelines, and indeed most coding conventions and development guidelines, are directed at MediaWiki developers in general. They are not merely for WMF-maintained extensions or WMF staff.

Of the 70+ bullet points in the current draft, there are exactly 2 points specific to WMF, and these are explicitly called out as such to avoid confusion (those are about sec/perf review, and stewardship).

The best practices document aims to reflect status quo among MediaWiki developers, which includes maintainers of the many MediaWiki hosted in Gerrit that aren't WMF-deployed. It is my understanding that by and large extensions follow the same coding styles, conventions, and guidelines. I also find in practice that volunteers contribute as much (if not, more than) staff to the shaping and implementation of these guidelines. Although these volunteers do tend to contribute more to WMF-deployed extensions, they are not currently staff.

In the latter case – are Wikimedia employees the right group to be guiding the discussion around these guidelines?


No. I specifically addressed the email to all/everyone, and all MW developers are welcome to participate. Extension maintainers often do follow these conventions. But, they are by no means required to. It's not a requirement for hosting (unlike e.g. licensing and code of conduct), and there are certainly numerous extensions that follow a different coding style, or don't follow any (publicly known) guidelines.

There is one line in the TLDR of my email where I called upon tech leads among WMDE/WMF staff. I recognise this may have set a confusing tone.

-- Timo


On 1/27/22 05:43, Krinkle wrote:
TLDR: Tech leads please review Best practices for extensions on mediawiki.org.

Hi all,

You may be familiar with the Best practices for extensions page on mediawiki.org. It has been marked as a draft since 2017.

I'd like to polish this page and get it to a state where it would be uncontroversial to label it as "Development guideline". This would not make it a hard policy. Neither does it imply that it covers all practices in all situations.

Rather, it would mean that the items that are there now are indeed a part of our current best practices. We would keep it alive through bold edits and talk page conversations, similar to our Coding conventions and other such guidelines that we maintain peer to peer and through consensus.

The reason I've not simply labelled it as such already is because before today I found the document to be out of sync with our actual practices. I have made a number of changes with descriptive edit summaries to bring it in sync with what I percieve to be our best practices; based on how myself and other maintainers perform code review at large, and how we review new extensions prior to deployment.

All are welcome to fix mistakes, raise questions/concerns on the talk page, on this thread. You're also welcome to message me directly anytime if you prefer.

If you consider yourself familiar with our practices and/or lead and mentor other engineers, please take a minute to review the page and consider whether the items reflect your current understanding and judgement.

--
Timo Tijhof,
Principal Engineer,
Wikimedia Performance Team.