On Tue, Jul 2, 2013 at 5:56 PM, Daniel Friesen daniel@nadir-seen-fire.comwrote:
I do not consider this a case of NIH. Composer is NOT an attempt by the PHP community to provide a way to mange their own plugins. Composer is an attempt by the PHP community to let PHP applications and libraries depend and install 3rd party libraries that they directly need.
Apologies if i wasn't clear, I was referring to NIH in a different way. In my mind, after code review for performance/security considerations, managing 3rd party dependencies is a substantial roadblock to using them. The amount of shared code I use in php(outside of MW) has increased quadratically(shrug, why not? :-) since i started using composer. Having tools which simplify the process of ensuring every developer/server/etc. has the same version of those dependencies and the dependencies of their dependencies is a big step towards making it possible to use 3rd party code.
I see the composer project as a tool for removing some of the roadblocks between the developer and their desire to use open source solutions. Between the developer and their desire to have an opportunity through using and contributing back to 3rd party code to not only make life better for MediaWiki, but for the PHP community as a whole.
I also agree composer is not a plugin installer, but why do we need to also invent our own dependency management? The stated issue which you (and by proxy I) replied to is about a file distributed with mediawiki changing when the user wishes to install additional packages. I have seen the same issue with regards to composer brought up in other forums, and am convinced that with the quality of developers working on mediawiki it is a problem we could solve without changing what composer is(i dunno, perhaps allow a second file composer_user.{json,lock} which gets merged with composer.{json,lock}?). I am willing to work on that issue when I have time, but first I will need to communicate with the composer authors to see what direction they think is reasonable.
Erik Bernhardson