On Sun, Jul 21, 2013 at 9:41 AM, Jeroen De Dauw <jeroendedauw(a)gmail.com>wrote;wrote:
What started this thread was Ryan having problems with
installing Wikibase.
And I can see why this would not be all that smooth. The components you
need is probably not the biggest hassle. After all, you just need to do 4
git clones instead of 3. Then you also need to do a bunch of config, and
figure out if you want to use additional functionality.
For instance, you need Scrubuntu if you want to have lua support on the
client. As a new user of the software, how will you know you need this or
not? Some very good documentation can help, but we don't have this. Putting
the lua stuff into its own extension would make this a lot more clear, and
would not bother users with the requirement of understanding what this is
while they don't even want to use lua. (This model of creating extensions
on top of your main extension is something done by SMW and is working very
well. Users generally do not get confused by it at all.)
Actually, funny enough, I think SMW is one of the more difficult extension
sets to use as an end-user. It was the first extension where I saw your
Validator code used as a dependency extension. Validator was rejected from
being included in core, but now basically every extension you maintain uses
it. I didn't bother to say anything about this when it was limited to SMW
and your extensions, but now Wikimedia deployed extensions are starting to
use them.
Doing 4 git clones and having some basic understanding
of the dependencies
is something quite reasonable to expect from developers. As everyone here,
including me, is saying, this is not acceptable for users. The problem in
case of Wikibase is that it is the only process we currently have, as no
one has bothered to do a proper release. You know, one of these things with
a version number, release notes, tarballs, etc. If we want this software to
be usable by non-devs, this needs to happen. And if it does, it is also
going to be useful to devs. So I'm actually quite disappointed we did not
have a release yet, and am regularly shouting to people about it.
The actual method of getting the extensions isn't that hard. Even if an
end-user can't do a git clone, they can have git.wm.o give them a tar or
zip. It's specifically the dependencies that are hard. When I attempt to
upgrade MediaWiki I currently have to write down all of the extensions, and
ensure all of them are compatible with MediaWiki. With some subsets, I need
to ensure they are compatible with each other (like SMW, SF, SRF). Now I'm
going to need to do that and track the compatibility between extensions and
dependency extensions. I'm actually going to have to write an upgrade
matrix to upgrade, and that's not OK.
So Ryan, I agree that currently this is not in good
state. I however
disagree there is this dichotomy between developers and users, where we can
only have it work nicely for one. Attacking the developer process is thus
not a good option, as that will just end up hurting everyone, including the
end users.
I didn't say there's a dichotomy. I believe that we can have both, but
this
approach isn't it.
- Ryan