The people who volunteer their time modifying and updating old games are among the most generous of developers. So when drama erupts there’s not just irritation and testy emails but a sense of a community being betrayed or taken advantage of. A recent conflict over work on the perennially renewed classic Skyrim may seem small, but for those involved, it’s a huge upset.
I don’t mean to make a bigger deal out of this niche issue than it is; I feel though that sometimes it’s important to elevate things not because they are highly important in and of themselves, but because they represent a class of small injustices or conflicts that are rife on the modern web.
The example today comes from the Skyrim modding community, which creates all kinds of improvements for the classic fantasy adventure, from new items and better maps to complete overhauls. It’s one of the most active out there, as Bethesda not only is highly tolerant of modders but tends to ship games, if we’re honest, in pretty poor shape. Modders have taken to filling in the gaps left by Bethesda and making the original game far better than how it shipped.
One of the more useful of these mods, for developers but indirectly for players, is the Skyrim Script Extender, or SKSE. It basically allows for more complex behaviors for objects, locations and NPCs. How do you have a character seek shelter from the rain if there’s no weather-based behaviors in their original AI? That sort of thing (though that’s an invented example). SKSE goes back a long way and the creators provide much of the code for others to use under a free license, while declining donations themselves.
Another project is Skyrim Together (ST), a small team that since 2013 has (among others) been working on adding multiplayer functionality to the game — their Patreon account, in contrast, is pulling in more than $30,000 a month. The main dev there allegedly independently distributed a modified version of SKSE several years ago against the terms of the license, and was henceforth specifically banned from using SKSE code in the future.
Guess what SKSE’s lead found in a bit of code inspection the other day?
Yes, unfortunately, it seems that SKSE code is in the ST app, not only in violation of the license as far as not giving credit, but in that the dev himself has been barred from using it, and furthermore that — although there is some debate here — the ST team is essentially charging for access to a “closed beta.” Some say that it’s just a donation they ask for, but requiring a donation is really indistinguishable from charging for something.
A response from the devs downplayed the issue; they say it’s just a bit of old junk in the codebase:
There might be some leftover code from them in there that was overlooked when we removed it, it isn’t as simple as just deleting a folder, mainly our fault because we rushed some parts of the code. Anyway we are going to make sure to remove what might have slipped through the cracks for the next patch.
Instead of SKSE, one developer said, they had substituted other code, for instance from the project libSkyrim. But as others quickly pointed out, libSkyrim is based on SKSE and there’s no way they could be ignorant of that fact. So the assertion that they weren’t using the forbidden code doesn’t really hold water. Not only that, but ST doesn’t even credit libSkyrim at all, a standard practice when you reuse code.
This wouldn’t really be as big of a problem if ST was not only making quite a bit of scratch off their project via donations, but required donations for access to the code. That arguably makes it a commercial project, putting it even further outside the bounds of code reuse.
Now, taking the hard work of open and semi-open source developers and using it in other projects is encouraged — in fact, it’s kind of the point. But it’s meant to be a collaboration, and the rules are there to make sure credit goes where it’s due.
I don’t think the ST people are villains; they’re working on something many players are interested in using — and paying for, if the Patreon is any indication. That’s great, and it’s what the mod community is all about. But as in any group of developers, respectful and mutual acknowledgement is expected and valued.
Honesty is important here because it’s not always possible to audit someone else’s code. And honesty is also important because users want to be able to trust developers for a variety of reasons — not least of which that they are donating to a project working in good faith. That trust was shaken here.
As I said at the beginning, I don’t mean to make this a huge deal. No one is getting rich (though even split 10 ways, $33,000 a month is nothing to sniff at), and no one is getting hurt. But I imagine there’s hardly an open-source project out there that hasn’t had to police others’ use of their code or live in fear of someone cashing in on something they’ve donated their time to for years.
Here’s hoping this particular tempest in a teapot resolves happily; but don’t forget, there are a lot more teapots where this one came from.