Tuesday, May 12, 2009

The Ultimate World of Warcraft Boss: Open Source Software

This is going to take a bit of explaining, but the sad state of affairs in the World of Warcraft community appears to be that open source software has been branded the enemy, not by some powerful corporate machine, but by the users that play the game.

It all began with a language called LUA, you see. LUA is a wonderful little language designed for embedded scripting. Blizzard adapted this language (ironically enough, an open source project, itself) to their immensely popular game. It serves as the scripting interface for nearly everything that a user can control in the game from user interface to casting spells to communication with other players. There have been thousands of addons written in LUA for World of Warcraft, and the vast majority of them have been released under open source licenses, though that may now be changing...

You see, these addon authors need some way to distribute their addons. Blizzard provides no official support in this area, though they condone and even encourage the authoring of addons. Instead a number of hosting services such as Curse and WoWInterface have sprung up. There were others, but some shaking out occurred during the downturn to the point that really only those two remained. And then along game WoWMatrix. They indexed all of the extant mods, provided a universal downloader that worked with everyone's site and generally seemed to be solving the problem. The problem was they were also rather unscrupulous. It's not clear if they didn't understand what they were doing or simply didn't care, but the allegations from several quarters ranging from simple failure to credit authors to modification of licensing terms on addons. This went on for some time, and eventually the hosting sites started to notice the bandwidth drain from users who were not using their sites to browse for addons (no ad revenue) nor were they using these sites' services to update the addons (no subscription revenue), and so the financials were not working out as well as they had. Was it actually a critical problem? I'm not sure, but the net result was that they clamped down on all external updating software, kicking off a storm of controversy.

Having contributed to Slashdot for years in the 1990s and early 2000s, I know what happens when you have a large community of technical and non-technical people who engage in debates that involve software licensing: insanity. However, this insanity reached new heights. Here's one example of a user trying to explain open source licensing on the official forums:
Open source is a LICENSING scheme that, like all licensing, relinquishes part or all of an author's copyright. -Nyxia
But, it gets worse. Because of this debacle and the arguments over how or if WoWMatrix violated copyright and various licenses (which is actually quite difficult to judge given that they did not, at least in some cases that I'm aware of, host addons themselves, but only hosted index information), the villain in the conversation came to be open source licensing itself. Time after time, users have been lept upon for attempting to discuss addon authorship in terms of open source development models because of the WoWMatrix incident. Worse, many authors who were distributing their addons under open source licenses have now moved to a cryptically blank, "all rights reserved," entry in the required "Licensing" field in the index information for their code.

This is a sad move, not only because it hampers legitimate attempts to maintain outdated addons by third parties (something that has been done time and time again in the WoW addon community), but because it doesn't actually address the problem. Any addon licensed under the GNU General Public License, for example, must retain all authorship, copyright and licensing information, unchanged, with every version distributed by the original source or any downstream recipients. If WoWMatrix changed this information, then they were obviously already in violation of the terms of any addons distributed under the GPL. Changing to a more restrictive license doesn't change that fact, and only hurts the community.

I found out about this because I made the mistake of trying to solve an orthoganal, but related problem: the lack of a decentralized distribution mechanism for addons in the wake of these recent changes. Hopefully, as I get my prototype system working, some of the ire will have died down, and addon authors will come to realize that they didn't want to shot themselves or their fellow developers in the feet to spite WoWMatrix.