Page MenuHomePhabricator

Make MediaWiki a featured project for new developers
Closed, DeclinedPublic

Description

Developer-Advocacy focuses their outreach activities on Featured Projects that guarantee some newcomer friendliness in terms of mentoring, support, documentation, availability of first tasks...

While we decided not to include MediaWiki to the list of featured projects, and while that was a good decision indeed, we should aim to include Wikimedia's flagship software project one day. Maybe not easy, but neither impossible. Maybe not for the entire codebase, but maybe there would be a way to identify areas where mentors and first tasks would be available.

There is the hypothesis that a project that is good to receive contributions for newcomers is also good place for regular contributors. Having more newcomers using MediaWiki documentation and contributing to this codebase must be a good mid term investment beyond the newcomers themselves.

Event Timeline

Aklapper changed the task status from Open to Stalled.Oct 14 2017, 12:25 PM
Aklapper added a project: Epic.

Everybody agrees anyway that every codebase should have a good clean architecture, all its areas should be maintained (have someone feel responsible), well documented, etc. Given we're talking about a 15 year old large code base, this task is more than Epic and will be stalled / non-actionable for quite a few years.
I don't see much sense in having this task.

I'm conflicted. This is a good aspirational goal, but I agree that it is not likely in the short term.

It would be useful to have a blocker defined as in "as long as X is not done, we don't even need to think about this task". Once this is identified, we can close this task but still remember the blocker(s).

It would be useful to have a blocker defined as in "as long as X is not done, we don't even need to think about this task".

One blocker IMHO: The "Responsible Wikimedia team" column on https://www.mediawiki.org/wiki/Developers/Maintainers#MediaWiki_core should have no "???" entries left anymore.

Agreed! Is there a task (tasks?) related to maintaining that table?

Not an open recent one. Historically speaking, https://phabricator.wikimedia.org/T128370 (but not for Core only) in the context of Code Review vs ownership.

Aklapper triaged this task as Lowest priority.Apr 18 2018, 1:18 PM
Aklapper closed this task as Declined.EditedMar 20 2019, 12:07 PM

Please feel free to reopen this task once these numbers have significantly changed. No need to keep around wishful thinking tasks that might remain unactionable for ages.

Prototyperspective raised the priority of this task from Lowest to Medium.
Prototyperspective subscribed.

Reopened: it makes absolutely no sense to not even mention MediaWiki even though it's the core, main Wikipedia/Wikimedia project and has a large backlog of open issues (even utterly basic ones like a working Watchlist) and a severe lack of new developers.

Furthermore, it's that page that developers who happen to actively find and click on the small "Developers" link at the bottom of Wikipedia pages rather than this page, making it even more important that MediaWiki should not only be mentioned but be at the very top of that page.

No good rationale for not including that page has been given. Seems like it was closed due to the opinion of one employee. Thanks for the great work you're doing but that's not a reason at all, let alone a sufficient one. Sidenote: new developers does not necessarily mean people new to code development – only people new to developing ̶M̶e̶d̶i̶a̶W̶i̶k̶i̶ (irrelevant I guess?) Wikipedia-related software (and there's many good first tasks). I agree with Qgil and Mainframe98 and it seems like many other people interested in Wikipedia on social media agree with that as well. MediaWiki needs more new developers. Furthermore, I'd prefer priority as "High" (not "Medium") and it's a task that easy to implement (meaning that unlike apparently most major issues here would not take over 5 years for implemention but maybe a day or so). Note that even if there was (such) a blocker that would not be a reason for setting status:declined. However, so far I can't see any reason for the rejection of the issue. Please mention it there.

Aklapper changed the task status from Resolved to Declined.Dec 5 2021, 6:08 PM
Aklapper lowered the priority of this task from Medium to Lowest.

@Prototyperspective: There is nothing "resolved" here.
Throwing absolutely new developers into a huge, rather old, pretty complex and for nowadays standards not well-written codebase is nothing to advertise.

"This is an important project" does not automatically also make it a good project for new (!) developers to start with. Like in this case.

Well fine, that's your opinion. Apparently you'd like to have volunteers to not develop MediaWiki. Is MediaWiki not important software to you? I'd like to understand why you oppose this and also think that it's necessary to provide a reason for closing this.

I think you have a conception of the "New Developers" page as a page for people to learn code development. However, that page is about developers new to M̶e̶d̶i̶a̶W̶i̶k̶i̶ (irrelevant I guess?) Wikipedia-related software development. Of those people only a fraction are new developers or not-yet-developers aspiring to become developers. Partly because of that, I included the note "Development may be more difficult than with the projects below." in the card which could also state that the codebase is large and somewhat complex if you think people should be aware of that. In any case, new developers for MediaWiki is far more important than for any of the other projects and as MediaWiki is the core software behind Wikipedia and other projects it definitely should be on that page.

Well fine, that's your opinion. Apparently you'd like to have volunteers to not develop MediaWiki.

I highly appreciate volunteers to develop MediaWiki, and quite some do (see the list of volunteer authors in the last 90 days, for example). Those are developers usually already spent a lot of time getting acquainted with the codebase to get a good level of technical understanding plus they likely have great self-learning skills.

Is MediaWiki not important software to you?

It is. But it is not a software to throw absolutely new (!) developers into. And that is what "New Developers" is about.
See the criteria at https://www.mediawiki.org/wiki/New_Developers/Featured_Projects which are not fulfilled.
@Prototyperspective: Have you worked on the MediaWiki Core codebase and, for example, provided patches to it in Gerrit?

It's good to have this discussion and I think it's moving closer to reasons. However, I still can't see reasons for why MediaWiki shouldn't be there. I repeat what I have said before:

I think you have a conception of the "New Developers" page as a page for people to learn code development. However, that page is about developers new to M̶e̶d̶i̶a̶W̶i̶k̶i̶ (irrelevant I guess?) Wikipedia-related software development. Of those people only a fraction are new developers or not-yet-developers aspiring to become developers.

I should add to that, to make things a bit clearer, that a lot of the people may already be sufficiently experienced developers. New Developers here refers to New MediaWiki developers, not "people learning code development" (which, again, are only some of those people landing there).

If you insist on this as a rationale then it would require (meaning no reasons beyond that would be required) changing either that (small) Developers link at the bottom of (all) Wikipedia pages or changing the part (the link) of:

Our code is all free and open source. Choose a project, provide a patch, and fix a task!

that links to the New Developers page there. The inadequacy is even more apparent when outlining the process users come to this page: Wikipedia page->Developers->clicking "Choose a project" next to "Software development"->land on the "New Developers" page with not even a mention of the software that powers Wikipedia page.

https://www.mediawiki.org/wiki/New_Developers says "This page is a simple and guided landing page for new Wikimedia developers."
It also says "How to become a MediaWiki hacker: For potential new developers who want to specifically work on MediaWiki core or MediaWiki extensions."
So it mentions the software that powers Wikipedia, I'd say.

Of those people only a fraction are new developers or not-yet-developers aspiring to become developers.

That's why the page links to How to contribute if you are not part of that fraction. Furthermore, its very first sentence explains who this page is [not] for...

I'd like to understand why you oppose this and also think that it's necessary to provide a reason for closing this.

I started working on MediaWiki in early 2017. I find following problems.

  • Finding easy bug and tasks seems highly difficult in MediaWiki core. Most of the task was stalled or under discuss for a very long time.
  • MediaWiki Core's tasks are created as WMF staff oriented like introducing various factory or interface. Expecting new developers to know about Design Pattern is totally stupid. These kind of tasks need high. knowledge about internal working before refactoring.
  • MediaWiki software is managed by many teams so there are not specific mentors to add as reviewer. I have been part of this community since 2017. Even then, I still don't have clearty on whom to add in my patches. Also, code review is very slow here. New developers wants the feedback fast but sometimes it takes more than a week. I have experienced many times for MediaWiki extensions. Due to frustration, I proposed to create new reviewer group (T200322) for MediaWiki extensions so at the end, all this leads me to move on community specific technical work instead MediaWiki.

https://www.mediawiki.org/wiki/New_Developers says "This page is a simple and guided landing page for new Wikimedia developers."

Yes, it does. But what's your point here?

It also says "How to become a MediaWiki hacker: For potential new developers who want to specifically work on MediaWiki core or MediaWiki extensions."
So it mentions the software that powers Wikipedia, I'd say.

Hidden deep down under "Looking for additional resources?". Are you trying to prevent more volunteer developers?

That's why the page links to How to contribute if you are not part of that fraction. Furthermore, its very first sentence explains who this page is [not] for...

It says:
This page is a simple and guided landing page for new Wikimedia developers. It is part of the Onboarding new developers initiative.
So again, where's your point here? You just ignore what I say and mention irrelevant things that don't even partly address what I said (e.g. things that are at least relevant to it or at best refute it).

It also just says: For other options to get involved, see How to contribute.

I won't repeat my entire comment so please read it again, including how that page is linked/reached.


You reverted my edit so please bring actual reasons and address my points.

  • Finding easy bug and tasks seems highly difficult in MediaWiki core. Most of the task was stalled or under discuss for a very long time.

Good to know, I linked a view of good first tasks directly at the page which should help with that (it got removed now).

MediaWiki development should be listed there even if it was the hardest thing in the world which only 20 people can do because that's what the page is about and what is needed.

  • MediaWiki Core's tasks are created as WMF staff oriented like introducing various factory or interface. Expecting new developers to know about Design Pattern is totally stupid. These kind of tasks need high. knowledge about internal working before refactoring.

Well then consider changing that. Do you expect developers to learn about MediaWiki development by magic? They have to actually develop MediaWiki to learn it and many of the people landing on that page may be capable of doing so (and/or not interested in other things). Plus you could also create new tutorials and good first tasks that helps people with learning these things if, in your opinion, this is best learned not via doing.

  • MediaWiki software is managed by many teams so there are not specific mentors to add as reviewer. I have been part of this community since 2017. Even then, I still don't have clearty on whom to add in my patches. Also, code review is very slow here. New developers wants the feedback fast but sometimes it takes more than a week. I have experienced many times for MediaWiki extensions. Due to frustration, I proposed to create new reviewer group (T200322) for MediaWiki extensions so at the end, all this leads me to move on community specific technical work instead MediaWiki.

Well, as said just because it may be difficult doesn't mean it's less relevant. Even if it's much harder than other projects it's also much more important and motivating for example. We don't get more MediaWiki developers if they learn some C++ side-projects just because you may think that other devs are e.g. like you and get interested in further development of much different projects after starting and spending time with other projects.

For everyone else's info: Discussion mostly continued on https://www.mediawiki.org/w/index.php?title=Topic:Vgnciyvb1449ymy7

Well then consider changing that.

Please feel free to help by improving the documentation if you are knowledgeable about MediaWiki core and its complexity.
Telling other people what they should do usually isn't the best approach... :)

Are you trying to prevent more volunteer developers?

Looks like this conversation isn't a good use of time to further engage, as my questions are repeatedly ignored and "answered" by rhetorical counterquestions...

The only question I ignored is whether I developed MediaWiki so far. It's irrelevant. As I already stated even if it was the hardest thing in the world it should still be on that page because it's about MediaWiki development. Currently that page doesn't even list a MediaWiki extension. In contrast, you keep ignoring all my points and don't address them. These include the context of the link and the title/purpose of the page. New MediaWiki developers requires MediaWiki development.

I guess we agree to disagree then - new $anyWikimediaProject developers require $anyWikimediaProject development, and the page scope is intentionally not about $anyWikimediaProject.

Okay Clump managed to actually address my reasons. He stated that "they are all mediawiki projects".
That is false in that they are not the MediaWiki software.
See https://en.wikipedia.org/wiki/MediaWiki:

MediaWiki is a free and open-source wiki software. It was developed for use on Wikipedia in 2002, and given the name "MediaWiki" in 2003.[5] It remains in use on Wikipedia and almost all other Wikimedia websites, including Wiktionary, Wikimedia Commons and Wikidata; these sites continue to define a large part of the requirement set for MediaWiki.[6] MediaWiki was originally developed by Magnus Manske and improved by Lee Daniel Crocker.[7][8] Its development has since then been coordinated by the Wikimedia Foundation.
MediaWiki is written in the PHP programming language and stores all text content into a database.

Notably, that page also links to https://gerrit.wikimedia.org/g/mediawiki/core/ as the repository.


As said: the user goes from Wikipedia(the MediaWiki / MediaWiki core)->"Developers"->"Software development"->to a page that is not (also) about software development of Wikipedia/MediaWiki; as explained & ignored: this context requires the highlighted/main link to contain info about MediaWiki development. (Alternative solution: include MediaWiki in the "New Developers" page).


I guess we agree to disagree then - new $anyWikimediaProject developers require $anyWikimediaProject development, and the page scope is intentionally not about $anyWikimediaProject.

I see you still choose to ignore my points about the context of the page:

  • how it is linked (the text that links to it, the placement of the text, the headline next to the text)
  • from where it is linked
  • the title of the page

Plus your argument doesn't even make sense from the code-syntax: $anyWikimediaProject refers to anyWikimediaProject in the first two cases but the third case refers to $anyParticularWikimediaProject.

Plus the most important and first $wikimediaProject that Wikipedia is run by is intentionally excluded rather than included there.

You can ignore the latter two points that are just meant to point out how unreasonable your continued blockage is, but not the reason which I split into three points here and which I already explained in the first comment and got repeatedly ignored instead of addressed.

from Wikipedia(the MediaWiki / MediaWiki core)->"Developers"->"Software development"->to a page that is not (also) about software development of Wikipedia/MediaWiki

The "Software Development" link goes to https://www.mediawiki.org/wiki/Developer_hub which is clearly about MediaWiki, so you're statement seems wrong.

The "Software Development" link goes to https://www.mediawiki.org/wiki/Developer_hub which is clearly about MediaWiki, so you're statement seems wrong.

Good point. However:

  • people read and click the text on the right side of it, and are less likely to–for no reason–click on the header...if they recognize that it's a link at all (and the page-views of the two pages also indicate that people click the link at the top of the text on the right)
  • the text on the right directly suggests people to go there to start and choose one of the projects (particularly one on that page which is 'chosen upon' the interested person instead of giving said a choice including the arguably or definitely most important/core and initial software of the current Wikipedia website)
  • my preferred and initially-tried solution as well as what the issue is about would be to add MediaWiki and MW extensions to the New Developers page – changing the link there would just be a temporary workaround (e.g. until MediaWiki and MW extensions are added to the New Developers page). There may be good reasons to not add it there but it should still be there. For instance, you could change the criteria for projects on that page, or make an exception for MediaWiki & MW extensions (there could be a note that mentors are missing or that it may be more difficult than other projects) or solve whatever was the reason this issue was just closed instead of implemented (like hiring mentors for it or onboarding volunteer mentors or facilitating either or something else)

So the statement isn't wrong and this is an important issue several people have asked for by now plus there seems to be substantial support for implementing either of the two proposed solutions with no good reason for the reverts of both as is and the closing of this task.

Sounds like a topic for its talk page then