Page MenuHomePhabricator

Introduction of a template "Used by" at mediawiki.org
Closed, ResolvedPublic

Description

Motivation

With the WMF template "OnWikimedia" extensions are marked which are used in one or more Wikimedia projects. This template shows the visitor: "This probably means that the "extension" is stable and works well enough to be used by such high-traffic websites."

For other extensions that are outside of the WMF context (e.g. in bundles, distributions, maybe even in larger websites or wiki farms which are contibuting extensions to the ecosystem) and that are elementary for the use of MediaWiki outside of Wikipedia & Co (e.g. LDAP stack, Semantic MediaWiki, Page forms) there is no corresponding note.

From a previous discussion on mediawiki.org it follows that there is an interest and need for such a template. This ticket serves as an informal RfC to come to a decision, if such a template should be introduced.

Goals
With the help of such a template the visitor of an extension page can see at first sight that

  • the extension is "mission critical" or "best breed" in certain contexts,
  • the function is operational and its basic function is tested ("runs for me"),
  • that its functionality is at least probably, if not guaranteed with other extensions and
  • that through these projects additional people can be found who can remove incompatibilities, contribute patches or function extensions if necessary.

Further goals are:

  • To bring projects and their developers together,
  • to stimulate standardization,
  • promote a better understanding of which extensions need to be considered when technological structures change, or
  • which extensions require continuous maintainers

Criticism

  • This template also (intentionally) advertises projects and (less intentionally) commercial providers. So the basic question is how much space commercial organizations should be given on mediawiki.org and if this template exceeds a limit here.
  • There is also the possibility to draw conclusions about the spread of extensions from WikiApiary and Grafana
  • The question of relevance criteria (which project should be named) is difficult to answer. Conceivable are minimum criteria such as installation numbers, download and visitor numbers.

Some design rules

  • Order is randomized.
  • Maintainers of an extension can of course refuse to use the template on their page.

Decision-making process

Situation

  • Here are drafts how such a template could look like.
  • There have already been initial discussions on mediawiki.org (see link above). The discussion group will now be expanded.

The following questions are to be discussed:

  • Will this template get support (esp. extension developers on the one hand and distributors on the other hand)?
  • If so, are the current design rules sufficient or is something still missing?

Support or rejection for the introduction of such a template can be marked by assigning tokens.

I ask for feedback on this until 30.9.2020. If there is no sufficient support from the distributions and bundles or a rejection from the developer and MediaWiki.org, the project will not be pursued further. If the mood is positive, the template could be ready by the end of October.

Event Timeline

RHeigl updated the task description. (Show Details)

I think this template is a good idea. My only comment is that I don't think the order of wikis/companies/etc. should be randomized - I think they should always be in alphabetical order.

I'm removing MediaWiki-Documentation as this does not seem to be about documentation in the MediaWiki core code repo but about a template on a website.
Also wondering if this might be under MediaWiki-Stakeholders-Group ?

Is there an example of this somewhere on mw.o so we can see how it works?

I like the idea of what you are trying to do -- provide some semblance of sanity to the extensions -- but I think the approach is wrong. This is my recommendation.

  1. Create a new namespace called "Bundle".
  2. Each bundle provider can get a page. A bundle can be "completely free", "paid", "donation (set your price), "free no support, X dollars for support", etc.
  3. Maybe even charge $10/year to get a page and the "donations" go to MediaWiki foundation (to help to make sure that only serious bundle providers are included). It does not get overwhelmed with garbage or one company making 50 pages that are all the same bundle, but just under a different name.
  4. The page lists what is included in the Bundle, maybe a download link where a person just has to download the bundle, unzip it, run install, and go (no more having to deal with each individual extension).

MediaWiki is general. Which is fine. Just stick with extensions that make sure that a person can "download X templates and modules from Wikipedia" and it works. But once you go beyond that, other things are needed.

But as WordPress no longer is "just for blogs", MediaWiki is not "just for wikis". But different people have different visions of how they would use MediaWiki.

Plus, by talking about bundles and not just restricting it to the largest 10 (Sanity of File:UsedBy-option1.png visually), it will allow more people to create groups of extensions and making sure that those specific extensions work together.

If one bundle provider is interested in commerce, they may provide a bunch of extensions that work for a commerce website.

If another is interested in a dictionary website, they will need a different set of extensions.

If the goal is a video website, that would require a different set.

Intranet vs. internet vs. homeschool vs. classroom vs. (who knows). Just because an extension is in several bundles does not mean that it is the "best" extension.

The goal should be to create templates and modules that can help bundle developers (or sellers) to market their bundles. Then the "buyer" can decide which bundle developer they "trust" and want to patron.

Plus, this approach will also allow bundle developers to export sets of already existing templates and modules (or even sets of pages) that can be meet the needs of a goal.

As for the "selling", maybe make a policy that if you include an existing extension in a bundle and you charge for the bundle, you have to give some of the funds to the original developer(s). As for MediaWiki, by charging to be able to create a Bundle Page, with a low cost, it will allow even the "little guy" to "start a business". As for the argument that "MediaWiki is free" -- no it is not. You either pay with dollars or you pay with your freedom being taken away. Let the consumer decide if they want to pay with giving up their freedom to MediaWiki Foundation, or they want to pay will "dollars".

I guess that this would also mean that there should be a "Developer" namespace where an individual developer can advertise themselves and their work. Again, if I am a consumer and I find that Extension Y is a "must have" for my needs, even though it is not the largest and most popular, I should be able to "donate" / patron that developer. It will also allow the ability for a developer (for unmaintained extensions) to "sell" their business to somebody else who would want to continue the development of the project.

Although how do we protect the little guy's work from all getting "taken over" by the "big guys"?

In the current times, big tech companies destroy their competition under the guise of "protecting the consumer".

Requiring "bundlers" to give extension developers a cut of their revenues seems like a bad idea - it's totally unenforceable, plus it violates the spirit (if not the letter) of open source, where you can basically do whatever you want with the code (including charging for its bundling).

Charging people to have their own bundle page on mediawiki.org also seems like a bad idea - it's a solution for a problem that doesn't exist yet. If mediawiki.org does get overridden with bundles and distributions, then it's worth considering some kind of fix, but that hasn't happened yet.

I also don't think a separate namespace (like "Bundle") is necessary, but that's more debatable.

Hi - now that the Canasta package has been released (and Open CSP is also due to be released at some point in the future), I thought it was a good time to get back to this idea, which makes more sense the more packages and wiki farms exist. I tried my hand at a very simple "Used by" template here:

https://www.mediawiki.org/wiki/Template:Used_by

It is meant to be placed at the bottom of any extension or skin page; it says "extension" or "skin" depending on the namespace it's placed in. I added it as a test to one extension page, for EmbedVideo, based on the bundles and wiki farms that I know offer EmbedVideo as an option:

https://www.mediawiki.org/wiki/Extension:EmbedVideo

I thought a simple alphabetical listing - no logos, just names - would be fine; and I picked light purple for the background because it stands out a little while not being colors used by the MediaWiki interface. But anything can be changed. Does anyone have thoughts on this?

I like this! It'll help to find example uses in addition to showing "stability" of the extension, I've always appreciated the "wikis using Cargo" page to find examples of Cargo tables. For standardization, maybe the template should have a list of farms and generate the sentence?

With usage like this:

{{Used by|bluespice=yes|canasta=yes|fandom=yes|etc}}

and then there's standardization of URL as well as alphabetical order, spacing, capitalization, etc.

I should maybe note that the situation for fandom is a little bit complicated, as e.g. currently Cargo cannot be added to new wikis but is on a large number of existing wikis, and SMW is same deal (but is only on a couple wikis). But maybe that's not too important for this.

Having parameters actually sounds reasonable - there might not even be that many, since, for publicly-available packages, I can only think of BlueSpice, Canasta, semantic::apps, WebMo and (eventually) Open CSP; and for wiki farms, there's Fandom, Miraheze and MyWikis. There may be a few more for each (possibly the default MediaWiki bundle should count as a package too), but I would guess that the current overall number is roughly 10. Even if that jumps to 20 or 30, that's probably still a manageable number of parameters.

I took @RheingoldRiver's suggestion and modified the "Used by" template to have a parameter for each option (currently seven):

https://www.mediawiki.org/w/index.php?title=Template:Used_by&action=edit

You can now see it in use on the bottom of the following two extension pages:

https://www.mediawiki.org/wiki/Extension:EmbedVideo
https://www.mediawiki.org/wiki/Extension:OATHAuth

The second one is intended to show how it looks when displayed alongside (well, right below) the "On Wikimedia" extension.

If this looks alright to everyone, I guess we can start adding this template to the (probably) hundreds of extensions that are included by at least one of these packages/farms...

Yaron_Koren claimed this task.

The template exists! And it's now pretty well distributed across mediawiki.org. Thanks to everyone who helped with this.