Core Platform Team/Initiative/Librarization/Initiative Description

From mediawiki.org

< Librarization

Summary

Move components that do not depend on MediaWiki’s application logic out of the MediaWiki repository, and release them as separate libraries for use via composer.

Significance and Motivation

Keeps developers from introducing cross-dependencies by forcing the library code to function without MediaWiki.

Explicitly defining dependencies between components by expressing them in composer.json.

This also makes us Enable re-use outside of MediaWiki core, by unrelated projects but also by client code that wants to interact with MediaWiki.

Outcomes

Remove all files from libs directory

Baseline Metrics

None given

Target Metrics

None given

Stakeholders

TBD

Known Dependencies/Blockers

There are already a number of components isolated that could be turned into proper libraries immediately. More such independent components are however expected to result from the Decoupling effort.