Board Thread:New Features/@comment-26522807-20160208225359/@comment--20160226193712

DaNASCAT wrote: Hello,

I'd like to step in and provide some official clarity on the initial questions at hand: Is there a MediaWiki upgrade planned? How can we get new tools/features if not?

No, there is no MediaWiki upgrade planned on the horizon and it is highly unlikely we will be doing so given our current architecture. As touched on by a number of people in this thread, Wikia runs on a highly-customized version of MediaWiki that we have developed on our own for many, many years. The reason for this are various, though the main reasons are business needs, flexibility through invoking additional software languages, and technical performance necessity (scaling and load balancing).

To upgrade MediaWiki comes at a signficant cost in terms of engineering time with very low benefits. In order to have a successful upgrade, we have to review chunks of code, rewrite either our customized code or the MediaWiki code to make the two compatible and deploy it effectively with as few bugs as possible. That is literally hundreds if not thousands of combined hours on a project. And bugs are still inevitable. I don't remember the exact numbers, but let's just say I wound up working so many hours testing and reproducing 1.19 bug reports I won "Employee of the Month" ;).

The benefits of this are fairly low. Yes, every new version of MediaWiki can contain a bell and whistle. BUT we can easily backport the most important features on an ad hoc basis. A great example of this was Lua. The core part of that functionality was in 1.21, but we decided to backport Lua because it had a significant performance improvement for complex templates. So our approach since the 1.19 upgrade has been to backport as needed. The PAGESINCAT request has some weight to it and may well be the next thing we choose to invest in backporting. As always, you are free to contact us and let us know if there is anything you see being developed on the MediaWiki horizon that you think would be helpful at Wikia. We genuinely consider this stuff, just like we consider requests for extension installations.

Some quick hits on points addressed in this thread:

We have a good relationship with the Wikimedia Foundation - we developed the VisualEditor with them and still love going to the annual Conference. But admittedly our two organizations have very different purposes, so I think it's very helpful that our platforms differ so much. The Foundation, as well it should considering their investment, is the main driver of the MediaWiki software and most of their recent MW releases contain features that we've already decided to go in a different direction with (our differing version of user messaging, for instance) or rather redundant for us (notifications).

Yes, there are hundreds of extensions out there we don't have that could be useful. But often times we are looking at building an in-house solution for a problem than installing four different extensions that mostly do the same thing. Also the coding styles can be very inconsistent between extensions and that increases the likelihood of bugs.

And finally, I want to say that MediaWiki is very monolithic. That means that the software is built to do everything - edit, read, user authentication, rights permissions, load balancing, image hosting, etc., etc.,. Part of the reason we're hesitant to keep trying to upgrade is that the current trend in software architecture is to have a series of services, developed in different languages with narrower scopes, communicate with each other. It's more technically efficient, it's easier for developers to code, and it closes a lot of the security holes that having just one big software controlling everything has. We'll be talking more about this concept, Service Oriented Architecture (SOA), in the coming months in both the Technical Updates section, the Forum, and even a Staff Blog or two.