Is there anyone out there who has considered contributing to the MediaWiki PHP script, but decided it against for reasons such as: [...] Or perhaps you've contributed on occasion but you're deterred from contributing again for reasons such as those above?
If so, please speak up! What areas could we improve to make it easier to contribute?
Tim, Everyone,
Your list of objections seems to sort of miss the mark so I thought I'd share some ideas.
- Don't know PHP/MySQL
PHP and MySQL, though not particularly common, are simple enough that anyone with a reasonably strong background in things like Perl, Java, and other SQL database should have little difficulty with them.
- Poor documentation, can't understand the code
I don't get it. The code is simple. The Wikimedia server is not nearly big enough, or complicated enough, to pose much of a challenge or obstacle for people who have the background. By that I mean, that people who know HTML, Apache, SQL, OOP, and the basics of data-driven web site operation -- it's straightforward.
- Don't have a test server
Well, it has been run with minimal changes now on Apple, Windows, and Linux environments. For functional changes, that's a sufficient environment for development and preliminary testing.
- Don't have CVS/server access, and you find contributing otherwise to
be tedious and frustrating
Since the project is CVS readable to the world, I don't think this is germane.
- Wouldn't know where to start
Yes, that's part of it.
---
The first obstacle, for me, is motivation. After twenty years of writing code the novelty has worn off (though I still enjoy what I do) and I only write software for the best of reasons. In most cases these reasons involve money. Now, I'm willing to volunteer my time and talents, but it better be fun, or for some sort of just cause or greater good, or have some sort of non-financial reward involved.
The Wikimedia software needs work like profiling, tuning, index analysis, and careful analysis of performance issues. It needs implementation of fiddly things like deletion management and automated software installation, and some basic, boring maintenance and bugfixing. These are not particularly fun tasks as development goes, which should be unsurprising, because there are plenty of volunteers for the high-level architecture, initial implementation of sexy features, and the like.
Now, developers at Wikipedia, as a rule, don't get much in return for their efforts. They don't get any greater input into policy discussions than anyone else, they don't get any real special access or anything, and they don't get particularly much in the way of credit, fame, or job leads.
To some extent these motivational problems are present on any open-source project, though they seem particularly acute at Wikimedia since the software is not a good candidate for reuse for other projects, given that UseModWiki is the most frequent choice.
So, what to do?
First, a greater recognition of the odious yet important nature of some of the tasks.
Second of all, it would help to publicize software development credits more prominently on the site.
Third, some sort of remuneration, even if token and noncash, would be helpful. Maybe we could start with a gift registry, and people could send boxes of fancy fruit, expensive scotch, and candy to their favorite developer. Or raffle off a free winter vacation for two to some sunny island villa. Or just pay a small hourly stipend for development work, even if it is only a fraction of the market rate.
--
Louis