Talk:Development policy

About this board

Request for comments: Process update

1
APaskulin (WMF) (talkcontribs)

Hi everyone, Although development policies play an important role in technical collaboration, there is currently no process for making changes to development policies or for proposing new policies. To start a conversation about how to fix this, I've submitted a proposal for using the technical decision making process as a replacement for the obsolete requests for comment process.

If you are interested in the way development policies are created and maintained, please leave your feedback on the task in Phabricator. Thanks!

Reply to "Request for comments: Process update"
Tgr (WMF) (talkcontribs)
Jynus (talkcontribs)

Yeah, parts of that definitely shouldn't be a policy or specifically a development, just a guide- People shouldn't approve or vote against how DBAs work or what tickets are preferred :-D, but people should have a way to know how to request schema changes. Maybe substitute the old Schema change ?


On the other side, thing like "All tables should have a primary key" were actually voted and approved at RFCs/architecture committees/office hours: https://phabricator.wikimedia.org/T112637 / Architecture meetings/RFC review 2015-09-16 and while I personally don't need it to be a development policy (and may need review), we need somewhere written on this wiki to say "don't merge, doesn't have a primary key" to back such rejections.

JCrespo (WMF) (talkcontribs)

I think the intentions with the blanking were good "let's review all this old stuff", but sadly some people has taking the blanking as "everything goes", and this is causing issues on production.

JCrespo (WMF) (talkcontribs)

@Krinkle Because you unilaterally blanked the database section noted above, approved on a RFC on an open session, and didn't suggested a patch in the last 8 months (and being on the receiving end of lots of developer confusion), I am going to create a documentation bug and assigned to you. As Tgr said above, it probably shouldn't be here, but it should be _somewhere_, even if only as a link to wikitech.

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)

Code Stewardship policy(?)

1
Summary by Krinkle

Page was likely named that way by accident. It's been renamed since.

Tgr (WMF) (talkcontribs)
There are no older topics