Licensing Discourse

NOTE: This is in part, an opinion piece by Sanya K. C. and does not reflect the opinions of the rest of Waffle Iron Studios.

Recently it was brought to my attention that Rachael of the ZDoom Forums had asked about the license of the ZScript files within GZDoom and what license they were under and that it’s caused some people in the community to absolutely lose their minds.

I’ve always understood that the original ZScript files themselves were under the same license as GZDoom – GPLv3. However, that doesn’t mean code written in ZScript has to follow that. ZScript is a programming language, and many people such as Marisa Kirisame, myself and others have written code under various different licenses – some I agree with such as MIT, 3-Clause BSD, some I don’t like but I understand – GPLv3 – and some I absolutely don’t agree with – such as non-free licenses.

It seems asking this has caused alot of people to change their licenses in fear from much more free licenses to the GPLv3. This might seem to be a change that’s easy, but for a lot of people, especially for me, GPLv3 is not free enough and has a lot of ideological baggage associated with it.

I’m not sure if it was Rachael’s intent to cause people to lose their collective minds over this, but it seems at least from where I stand that’s exactly what has happened, just like everything else in this community as of late.

Let’s start with the fact GZDoom itself has code and libraries written in multiple different libraries. zlib, PNG, and other libraries all have different libraries that are not GPLv3, yet are compiled and linked with GPLv3 code. I don’t see why ZScript can’t work the same way.

An example of one of these kinds of projects is my own. Most of the code of SHDX in it’s current state is written by myself and is under a 3-clause BSD license. All other code is either from Marisa Kirisame’s SWWMGZ Project, which is under the MIT license, or various other people’s code which is either 3-Clause BSD, MIT, or public domain. Some other code might need to be replaced at this point, and frankly I’m fine with that… given I’m absolutely not changing the license and would rather do without code that is GPLv3.

Yeah. I’m not changing the license. I don’t see why I should change the license for code I wrote myself. id software didn’t write it. Neither did Graf, neither did Rachael, nor anyone else. I have control over that code. Just because I wrote it in a specific language shouldn’t matter. If we start forcing licenses for specific languages, that could set a very dangerous precedent.

What scares me as of late is just how Rachael, one of the head admins of the ZDoom forums, as well as one of the developers of GZDoom, seems to be not aware of what she’s doing. A quick look in the gzdoom.pk3 would have revealed the zscript_license.txt file. I don’t know why Rachael would not see that with a quick search of the source tree. Even I knew that existed – I knew it existed since ZScript was a thing. Now, because she’s brought this to everyone’s attention, people are losing their proverbial marbles. Hideous Destructor, a popular GZDoom mod, changed it’s license from 3-Clause BSD to GPLv3 recently due to this, which I don’t think is even possible to retroactively change the license, speaking to my friend Tom in the past about that. Tom and I have spoken a lot about copyright law and licensing in the past, and I trust what he says. Consider him my legal eagle of sorts. It’s like what Graf said in the thread, talk to a legal person about it if you’re that concerned.

This is just one of many decisions lately that make me question the ZDoom administration as of late. I’m questioning if this was in good faith even. The cynic in me has doubts. Then again, me and Rachael haven’t had the best of histories together, so maybe I’m biased. I’m trying to be as professional as I can be, but I can’t be quiet – I really question this, and given what I know about the administration and how they’ve treated my peers, I can’t look at this without skepticism.

Anyhow – what does this mean for SHDX? Absolutely nothing. Same with DD2. SHDX and DD2’s licenses for the code I wrote are going to remain the same – 3-Clause BSD. As I said, for code I wrote myself, I should have control with the copyright. And in this case, I want it to be libre, and 3-clause it is.