Topic on Talk:Development policy

Where is the specification of MediaWiki defined ?

2
HaussmannSaintLazare (talkcontribs)

Hello !!!

I want to ask you where the specification of MediaWiki is defined (or discussed).

Thank you !!! --~~~~


Hashar (talkcontribs)

The first version of MediaWiki has been written by biology student (Magnus Manke) and polished by Lee Daniel Crocker. It was known at the time as simply "phase3" (after the two phases that used different software). To my knowledge, MediaWiki did not have a formal specification at the time as is usual for most software written by hobbyist at that time (almost two decades ago). Later the software got enhanced and worked by people on their spare time, one being a student in cinematography (Brion Vibber), another working on a thesis for quantum computing (Tim Starling).

The Wikimedia Foundation got created in 2003, an entity set up to sustain the project and notably to find a way to leverage fund to pay for the bandwidth and computer equipment. Up until that point funding was paid by an ex trader from the Chicago commodity exchange. The first fundraising, which might pre date the creation of the foundation, was to raise 1000$ to get a new laptop for Brion Vibber. In 2005, Brion Vibber became the first person paid to work on the software. By 2007, the traffic started to skyrocket, probably doubling on a monthly basis. A dozen or so of volunteers kept the light on ON TOP of their unrelated 40 hours job. Some code refactoring happened to better scale up (notably the revision table), lead mostly by volunteers.

By 2009, Wikipedia was one of the most visited website in the world, yet had probably less than 20 employees related to writing the software.

Looking back at the history of MediaWiki, it is in short an hobbyist project written by persons not in the field of software development. It grew organically without much preliminary architecture or design. It just happened as line of code were written all across the world by enthusiast.

Later the foundation has been able to hire way more people. By 2015 lot of features were added, by 2017 the infrastructure finally received more budgets eventually doubling (if not tripling) the team in charge of maintaining the servers. A lot of bad design and odd code had to be rewritten entirely to repay the technical debt that has been build after years and years. As of 2019, we finally reached a point that lets people re architecture MediaWiki toward a more modern system leaning toward best practice of software engineering. But it took a while to reach that point, and the software is so large that it will require a few more years to have specifications for each of its components.

To my knowledge, the system which translate wikitext to HTML is not specified. The implementation is the specification which is not ideal :-]

You can read some specifications proposals at https://phabricator.wikimedia.org//tag/techcom-rfc/ (RFC stands for Request for Comment, a process aimed at gathering feedback for a proposal and eventually get it adopted https://www.mediawiki.org/wiki/Requests_for_comment ).

So to your point, is there a specification of MediaWiki ? Not really, and there will probably never be a single specification document. But some area of the software have been the subject of a specification and others will for sure. The RFC workboard is probably the best place to see what is going on.


All the above is just my own view, I might have forgotten details or made up some parts!

Antoine "hashar" Musso (talk) 20:35, 26 May 2020 (UTC)