Hey,
It's great that modules
like Diff have good beady eyes on code quality and
portability, long may
that continue. That is *definitely* the exception, not the rule, with
extensions.
The point is that MediaWiki is *much* more likely to be able
to police and maintain that proper signature
management in core code, than
in extensions and obscure miscellaneous modules.
If we are just talking about badly maintained and managed code, then how is
pushing this code into core going to help? You'll still need to do the
effort to maintain it before it improves. For one random unmaintained
extension this might work, but there are hundreds. If you make to many of
them part of core while not increasing maintenance capacity or without
making people care about the code in question, you just end up with the
same situation. Except that now the unmaintained code is causing problems
for everyone, rather then sitting on a side, not being maintained, which
perhaps is because no one cares about the thing any more anyway.
This seems to go into the direction of arguing against having real
extensions. I for one, think it is a bad idea to ditch extensions.
The fact that this thought experiment is almost impossible to visualise
without pen and paper is symptomatic of the problem.
Not really. The problem is there now. That understanding of the system is
required to pinpoint what is causing the problem is why end users are not
flagging these points as being problematic. They just have hassle and know
_something_ is going wrong. Understanding all these internal dependencies
between components is going to be something non-trivial and something users
should not be bothered with in any situation. Lack of understanding is not
a symptom of the problem, this lack, at least on the dev side, is the cause
of it.
So either the system has to actually *
be* simple (version X of an extension requires version
Y of MediaWiki, so
if I update my MW install I need to also update extensions (or vice
versa)); or it needs to be *properly* abstracted behind a system which
makes it *appear* simple (you run some script and everything magically
works or gives you informative explanations of why it didn't).
Fully agree.
I attempted to install Wikibase the other day and made a fun discovery.
Installing it properly requires the following (12)
extensions
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.)
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.
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.
Cheers
--
Jeroen De Dauw
http://www.bn2vs.com
Don't panic. Don't be evil. ~=[,,_,,]:3
--