On Tue, Jul 2, 2013 at 5:56 PM, Daniel Friesen
<daniel(a)nadir-seen-fire.com>wrote;wrote:
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