Skulltag is Open Source! 2012-02-13 07:43:16
So it finally happened. Skulltag has gone open source! Having been one of two known active closed source Doom ports, Skulltag has had quite a lot of controversy over the years on this issue. I think it's worth trying to make a longer post out of this.
First lets start with why Skulltag remained closed source for so long even when under constant pressure to open it: cheating. While the saying goes that security (note: for this article security mean cheat prevention and nothing more) through obscurity is effectively no security at all, I think it goes without saying that the number of people that had the skill and knowledge to disassemble and modify Skulltag is relatively small. While our user base was small, that number effectively became zero. So while Skulltag wasn't safe from hacks by being closed source it certainly made their development much more difficult than now. (As a matter of fact, the code for an aim bot is practically already in Skulltag.) This did change, however, and I have noticed at least two people that have had the skill set required to do this. I guess we can say that this has been both a blessing and a curse for Skulltag as having a cheating program available obviously means that being closed source has been rendered ineffective (as expected). It of course placed a much larger burden on the community administration.
Opening the source had become a real possibility at this point. There were certain key factors left unresolved at this point, but the decision to remain closed source at the time comes down to acting in the best interest of our player base. There was some indication that the one person that was developing hacks had lost interest (I believe this turned out to be somewhat false), so we felt being closed source would return to being effective. I think, more importantly, we had pressures from a certain extremely stubborn team member. This person had proven himself to be particularly useful in tracking down and providing aid in fixing obscure bugs, so obviously his threat to quit held a lot of weight. He eventually fell of the earth or something, so internal pressures basically reduced to "do whatever you think is best."
For myself, there was one thing that convinced me more than anything that we should open the source. At some point it was determined that Skulltag was not legally allowed to be closed source. I think this is really the point where it became a matter of when instead of if we would go open source. At the time, however, we decided to take the conservative route and simply remove the OPL code. I was not particularly happy with this solution as we technically were obligated to either remove all existing versions of Skulltag from the website or release their source. (On a side note, we have claims that there may be more code like this within the source.)
Shortly after this, the continued discussion has convinced Torr that we should go open and we planned to release the source after the release of 0.98e. Thanks to AlexMax, however, we have been able to not only release the source ahead of schedule, but also release the entire revision history from when Torr took over until now.
There's more to everything above, but I feel if I go too in depth I would end up just pointing fingers. Essentially it comes down to doing what we feel is best for our players and right now we have been convinced that the players want the source to be available.
I honestly don't expect much to come out of this. In terms of cheating, I'm sure anyone that would cheat was already using the existing hack. In terms of development, I don't expect much since I honestly don't think there are that many people who are able and willing to contribute to Skulltag. ZDoom itself has only seen a handful of people come forward to write features and/or fix bugs. I like to think that Skulltag has been fairly open to new developers who showed a proficient ability to work with ZDoom (after all that's how I got my hands on the source), so if there's anyone out there who would have been dedicated enough to help Skulltag in the long run, they already would have the source. (I also feel I should note that while Skulltag as a whole was closed source, we always had open source components and (G)ZDoom had the ability to back port whatever.)
Besides myself there have been a few other people that have had a position on the development team, most of them only lasted a week or two (I'm technically a victim of this curse, but that's because I've had to focus efforts on Doomseeker). I think this is in part due to the fact that the Skulltag source is horrendous. Because of this I think even trying to posing the Skulltag source as something that should be available for people to learn client server development is quite a stretch. In my opinion anyways.
I would love to be proved wrong here, but that's how I feel about the release. I'm certainly glad that it has finally happened, but I'm not expecting anything out of it. At the very least this means we can use code that requires source disclosure which means that Skulltag probably has less "illegal code" now. Oh and I guess this also means that Skulltag is officially using Mercurial full time. In any case, if you're interested go ahead and check out the Skulltag source code.