On Sun, Jul 21, 2013 at 9:41 AM, Jeroen De Dauw jeroendedauw@gmail.comwrote:
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