On Mon, Feb 16, 2015 at 10:34 AM, Mark A. Hershberger mah@nichework.com wrote:
I've opened a task on Phabricator[1] to attempt to merge the information in extension.json with Composer's already-used-by-several-extensions-and-skins composer.json.
Kunal has rightly pointed out that composer doesn't fit some use-cases for MediaWiki. I see that as an opportunity to be good citizens in the larger developer community by working to integrate MediaWiki into the growing ecosystem available on packagist.org.
For example, if composer had been available, we might not have had to develop our own HTTP client.
If composer had been available, Brion could have released the work under includes/normal as its own package. As he says in the README there:
This directory contains some Unicode normalization routines. These routines are meant to be reusable in other projects, so I'm not tying them to the MediaWiki utility functions.
(Of course, there was PEAR, but that is ugly and centralized in a way that composer is not.)
Using Composer for extensions also reduces the learning curve for developers who want to adapt their work (which may already be available via Composer) to be used in MediaWiki. It helps us increase the size of the available developer community without too much effort.
Footnotes: [1] https://phabricator.wikimedia.org/T89456
For those new to this discussion, review of the talk page for the Improving extension management RFC [0] and the Extension management with Composer RFC [1] and it's talk page [2] would be advised.
I'd love to see this discussion become more unified rather than more fragmented as I believe that an improved versioning, compatibility and loading system for extensions is an important topic for the future of MediaWiki.
[0]: https://www.mediawiki.org/wiki/Talk:Requests_for_comment/Improving_extension... [1]: https://www.mediawiki.org/wiki/Requests_for_comment/Extension_management_wit... [2]: https://www.mediawiki.org/wiki/Talk:Requests_for_comment/Extension_managemen...
Bryan