Why P.U.R.E. will not be GPL or CC-PD. Very long.
Posted: 15 Jun 2008, 11:13
This is the first giant, bloglike post I've made in ages. Probably the last one, too, but meh, I did not find a short way to say all of this, there was just too much territory to cover this time. I've edited it to keep from repeating myself too frequently, I hope.
I think this marks the first time we're going to have a license war that has nothing to do with a release. I figured that I might as well just do it now, instead of keeping everybody in suspense about my intentions here.
[GIANT BOMBSHELL MODE, ON]
***************************************************
***************************************************
***************************************************
1. Central Argument
Well, let's start with a simple statement of my philosophical position on this:
"Spring is either the most ambitious and fully-realized Open Source game engine on the Internet, and the vast majority of players don't realize it, because they're playing a game that's a technological dinosaur... or Spring is already dead, and the release of the next round of projects is going to prove that we can no longer expect this project to ever reach its real potential, and everybody with serious talent involved should go elsewhere, or go pro and quit chasing after a dream that's not realizable by our collective genius."
That's the real issue, stripped down to essentials. And I don't even wanna hear, nor do I care, about the "we're just doing this for fun" crowd, because half of you would be lying, and share the dream of Spring flowing into something amazing... and the other half aren't the primary drivers here, intellectually. Nor do I want to hear Smoth re-iterate his position, which is singular, that he's trying to realize a very particular idea here. We know, Smoth, and it's not incompatible with an engine that generates massive excitement and where you get played, too.
2. How can this goal be realized?
Well, primarily, by changing Spring's image and supporting the indie games to the hilt. I'm not going to re-visit the overall, project-level issues- advertisement, Lobby support, a better website. I fought that fight a couple of months ago, hoping that in time (and, hopefully by P.U.R.E.'s official release) things will have changed- if not entirely, then enough to make stuff start to slide in the right direction. I'm not too worried about it, we've made some strides in good ways, I think that, if a few people focus their attention for a bit, it'll happen.
On the game-designer side... I have come to the conclusion that the best way to facilitate this is to not provide any more technological life-support for the OTA mods.
CA's team can and will probably support them forever. I don't expect any of the following arguments to move them, although I'm about to do my best to convince them that they should take a serious look at their policies.
In my case, I'm simply not going to allow my work to be used by any games still using any content from OTA. Period. I'm still researching how to write the license, but basically:
A. Everybody who is not using OTA content may use my Lua work from P.U.R.E. Yes, that includes E&E, and other projects run by or including people I don't like much personally. This is a lot bigger than our mutual issues, frankly, and I'm not doing this in some weird attempt to make you like me or whatever.
B. Everybody who is legally able to use my work can do so, without most restrictions or hassles. No issues with including the license, no credit requirements, etc.
C. The only real requirement is that you may not re-license my work, so that it cannot be given away to OTA mods.
So... it will not be PD. I think that's fail, here. Most of it could be converted and used by BA and CA very easily, and I do not want that to happen.
It will be restricted, in favor of the indie games. All of you. I really hope this is clear. It's not the GPL, there will be no copyleft provisions, and you can even keep the sourcecode private, and I will not be able to yank it from projects that are legally using it, throw hissy-fits, etc. That will be reserved for OTA mods that have violated the license.
3. CA is mis-applying the GPL...
...and demonstrates why we should not use the GPL
as the primary license format for games built with Spring.
CA's team are very nice people. They want to share their code, and they want to be able to use improvements on their shared code, etc., etc.
This is nice. They're wonderful people, for doing this. And I owe them all a great debt, for their occasional help.
The problem is, how they went about this isn't actually legal, in my opinion. Please don't hate me, but here's why.
Some of CA's Lua code isn't really protected by the GPL, in my opinion, after reading the law on this stuff. Not because the original authors didn't potentially have copyright, but because of the way that the code was applied to the project. Please understand that this argument is detailed much further later on.
IOW, if Trepan / jK / Aegis / etc. wrote it and distro'd it as a Widget / Gadget then it was put into CA later, it's protected code (albeit, used in an illegal fashion, as it broke the GPL). If it's derivative of that code, it's probably still protected- I can't go, "whee, Trepan's source is free", because that's bullshit, he wrote and distributed the core Lua gameplay stuff to multiple parties, ages and ages ago, and it was totally legal.
If it's original, and showed up first in CA's SVN, it's almost certainly not.
I know the above statements will be met with flaming, mainly from all of the people who would like to pretend that CA is somehow a legal project, because it wants to be. Someday.
It's not, and there is where their licensing stuff unravels.
I read US copyright laws, through the Berne and WIPO Treaties and the EU's equivalent of the Digital Millennium Copyright Act, after our last license wars, and here were my final conclusions:
A. US copyright laws apply, in your countries of residence, if you are violating a US copyright. I.E., it is a given that OTA's content is not yours to legally use, until that is determined in a court of law. Under US law, copyright is assumed until successfully challenged, therefore, all of the OTA mods are illegal and in violation of copyright.
We all know this, we all admit this, but it has deeper implications, legally. I wanted to restate this, however, because the rest of the arguments follow from this.
B. Under US law, CA is what is known as a "derivative work". Basically, you're building on top of a copyrighted work. Submitting work via SVN is, pretty clearly, adding to a derivative work, too.
It's not auto-protected by the GPL by the coder, then somehow, when the very same coder uploads it via SVN and publishes it in a version of CA, that same coder is using it to build a derivative work with it, and the GPL protection stays in place.
That's a totally absurd argument. CA's coders cannot slap the GPL on stuff and stick it into CA, that's not a reasonable interpretation of how the GPL works.
If the code came from, say, Spring's base files... was downloaded from a website, where the author who wrote it wasn't a game designer of CA, etc., nor in communication with said team, etc., it would still be protected.
But that's not what's happening. So, if you want to flame about this... I'd suggest that instead of attacking me for revealing the naked Emperor, or trying to defend the absurd, that you guys have a constructive conversation about how to get his clothes back on.
Personally, I think the CA guys should just close the project down as an unwieldy, massive mess, and make a really good game with original content and kickass Lua. Other than art team problems, you guys have all of the relevant skillsets, and if you did so, I am pretty certain you could find artists, because your code would kick ass, and you would no longer be a "mod", but a "game", which is an important distinction.
At any rate, under US law, and supported by numerous precedents... "derivative works" are not entitled to any copyright protection. None. You're putting work into public domain.
C. And since the CA team all live in countries which are signatories to the various treaties about this stuff, they're expected to respect US copyright law, including this wrinkle (this is not at all like the Pirate's Cove, guys- even in Sweden, you're probably breaking the law here, because you aren't "providing reference materials", you're making content available that you do not own).
D. Therefore, since CA's team cannot receive copyright protection under US law, they are not able to copyright the additional features of their derivative work.
Result: anything that was released directly into CA, or was put into CA by the authors, or by the team, which just happens to include the same people who wrote it... cannot have the GPL applied. And the stuff that is GPL... is being used in violation of the license.
Now... I assume the above will get everybody hot and bothered.
I suggest reading the Wikipedia summaries of US copyright law, the Digital Millenium Copyright Act, the EU Copyright Directive, and the WIPO and Berne Treaties. You will find that, once you pare down a bit, that basically, we're all supposed to respect each other's copyright laws. The USA has really strict copyright laws, stricter than almost anywhere else. And OTA was made here. It's that simple. Everything else comes from the fact, freely admitted by all reasonable parties around here, that OTA mods are violating copyright. I think the only surprising bit is that nobody seemed to understand the full implications of that.
So, basically, I'm not interested in arguments that "CA is giving it all away to everybody, you should too".
First off, because their intention wasn't to "give it all away to everybody", because the GPL copyleft provisions would, if they were ever applied, mean that the original owner of the work would find it was all, well, GPL'd. Which nobody making an original-content game wants.
Second off, because I completely disagree that that's the best thing I can do with what I've made, and I've already explained why.
Thirdly, their project is ample demonstration of the legal perils involved with such a restrictive copyleft license. They'd have been far better off to just license it all CC-PD and be done with it, frankly.
4. Why do you hate OTA? Etc., etc.
Guess what... I don't. I loved OTA, back in the day. I wouldn't be here, if it hadn't existed. What little code I've contributed to this engine is long-gone, but I've always been a huge supporter of this project, ever since I saw the SWTA video, and knew that SJ was making something amazing and special.
That said...
BA != OTA. CA != OTA. The closest thing is Pxtl's project, in Spring, and so far as I can tell, it's not getting played. So, don't tell me about hating OTA.
And I know that many people, and in fact a lot of very nice, honest and hardworking people, are working on various OTA mods (I've helped LordLemmi with stuff before, answered many questions from OTA mod guys, etc.), and will probably feel offended because I want to exclude them from my help in this very important area.
Personally, that's the hardest part for me. And I will happily continue to help, in other areas that are older parts of Spring. But you need to learn Lua yourselves, or take stuff from CA or other folks.
I just don't think that picking and choosing would help the project- even if I wrote some miraculously-cool Lua that was a must-have item, and could destroy the playerbase of any one game... I'd just be re-creating BA or whoever I denied it to, and the cycle would be the same. I'm not doing that, that would be wrong.
I will just let you guys find a way to do it without my help, and I will encourage anybody who will listen to go my way on this. I don't really expect any takers, but who knows, maybe this will change things.
***************************************************
***************************************************
***************************************************
[GIANT BOMBSHELL MODE, OFF]
If you have a specific question about something I've said, I will address that in PM, provided it's not just a flame or whatever, but I will not be replying here, nor am I interested in responding to any particular argument raised.
Nor am I interested in really reading the responses, which I will go ahead and predict:
1. Idiots trying to poke holes in the arguments by finding bad sentence structure or other problems that came about by me writing and editing this for the last 4 hours, after a very long day that involved a lot of serious outdoor work and other stuff.
2. People who hate me for various reasons, or just like these things to be massive drama-fests about personality, who will not really bother reading it and then will go off about how awful I am.
3. OTA modders who will be massively disappointed in me for not just keeping them fed with technology they can't make themselves, because this goddamn engine has gotten so complex and demands so much time to do anything now. Of all of the people involved in this post, I have the most sympathy for you, frankly.
4. Thoughtful people who will realize that I would not have written this at all, at such massive length, if I didn't think that it was time we had a final debate about this, and set priorities accordingly.
Meh, basically, I wrote this not to hate on anybody. I want to make sure that I never have to see a license issue with my code again, and it's crystal clear what I want, who gets it, and why.
Seriously, before anybody says I'm hating on CA (since that's the only spot where I feel I've dragged anybody else into this)...
I'm not, dammit.
What I am saying is that the various statements that their people have made about the GPL and how it applies to them are based on a bad reading of the law, and I'm attempting to correct their facts. If, like KDR, they used CC-PD, I probably would have not even mentioned them, but as they've seen fit to bring this up elsewhere, I am trying to present everybody with the legal picture as I think it really applies.
And I personally praise them for providing so much code to the community, regardless of the specific license.
That's all, I'm REALLY DONE NOW, it's 3AM and I need to sleep so bad, my head is falling off. Please resist the urge to turn this into a flame-war, it's totally not going to change my personal policy about this, and the CA stuff if mainly FYI for them, and for people in dread of using their work, and honestly, I think that is a whole separate discussion thread, because it'll otherwise get mixed up with various stupid Argh-hater stuff that we've all read before anyhow... but that's just me.
I think this marks the first time we're going to have a license war that has nothing to do with a release. I figured that I might as well just do it now, instead of keeping everybody in suspense about my intentions here.
[GIANT BOMBSHELL MODE, ON]
***************************************************
***************************************************
***************************************************
1. Central Argument
Well, let's start with a simple statement of my philosophical position on this:
"Spring is either the most ambitious and fully-realized Open Source game engine on the Internet, and the vast majority of players don't realize it, because they're playing a game that's a technological dinosaur... or Spring is already dead, and the release of the next round of projects is going to prove that we can no longer expect this project to ever reach its real potential, and everybody with serious talent involved should go elsewhere, or go pro and quit chasing after a dream that's not realizable by our collective genius."
That's the real issue, stripped down to essentials. And I don't even wanna hear, nor do I care, about the "we're just doing this for fun" crowd, because half of you would be lying, and share the dream of Spring flowing into something amazing... and the other half aren't the primary drivers here, intellectually. Nor do I want to hear Smoth re-iterate his position, which is singular, that he's trying to realize a very particular idea here. We know, Smoth, and it's not incompatible with an engine that generates massive excitement and where you get played, too.
2. How can this goal be realized?
Well, primarily, by changing Spring's image and supporting the indie games to the hilt. I'm not going to re-visit the overall, project-level issues- advertisement, Lobby support, a better website. I fought that fight a couple of months ago, hoping that in time (and, hopefully by P.U.R.E.'s official release) things will have changed- if not entirely, then enough to make stuff start to slide in the right direction. I'm not too worried about it, we've made some strides in good ways, I think that, if a few people focus their attention for a bit, it'll happen.
On the game-designer side... I have come to the conclusion that the best way to facilitate this is to not provide any more technological life-support for the OTA mods.
CA's team can and will probably support them forever. I don't expect any of the following arguments to move them, although I'm about to do my best to convince them that they should take a serious look at their policies.
In my case, I'm simply not going to allow my work to be used by any games still using any content from OTA. Period. I'm still researching how to write the license, but basically:
A. Everybody who is not using OTA content may use my Lua work from P.U.R.E. Yes, that includes E&E, and other projects run by or including people I don't like much personally. This is a lot bigger than our mutual issues, frankly, and I'm not doing this in some weird attempt to make you like me or whatever.
B. Everybody who is legally able to use my work can do so, without most restrictions or hassles. No issues with including the license, no credit requirements, etc.
C. The only real requirement is that you may not re-license my work, so that it cannot be given away to OTA mods.
So... it will not be PD. I think that's fail, here. Most of it could be converted and used by BA and CA very easily, and I do not want that to happen.
It will be restricted, in favor of the indie games. All of you. I really hope this is clear. It's not the GPL, there will be no copyleft provisions, and you can even keep the sourcecode private, and I will not be able to yank it from projects that are legally using it, throw hissy-fits, etc. That will be reserved for OTA mods that have violated the license.
3. CA is mis-applying the GPL...
...and demonstrates why we should not use the GPL
as the primary license format for games built with Spring.
CA's team are very nice people. They want to share their code, and they want to be able to use improvements on their shared code, etc., etc.
This is nice. They're wonderful people, for doing this. And I owe them all a great debt, for their occasional help.
The problem is, how they went about this isn't actually legal, in my opinion. Please don't hate me, but here's why.
Some of CA's Lua code isn't really protected by the GPL, in my opinion, after reading the law on this stuff. Not because the original authors didn't potentially have copyright, but because of the way that the code was applied to the project. Please understand that this argument is detailed much further later on.
IOW, if Trepan / jK / Aegis / etc. wrote it and distro'd it as a Widget / Gadget then it was put into CA later, it's protected code (albeit, used in an illegal fashion, as it broke the GPL). If it's derivative of that code, it's probably still protected- I can't go, "whee, Trepan's source is free", because that's bullshit, he wrote and distributed the core Lua gameplay stuff to multiple parties, ages and ages ago, and it was totally legal.
If it's original, and showed up first in CA's SVN, it's almost certainly not.
I know the above statements will be met with flaming, mainly from all of the people who would like to pretend that CA is somehow a legal project, because it wants to be. Someday.
It's not, and there is where their licensing stuff unravels.
I read US copyright laws, through the Berne and WIPO Treaties and the EU's equivalent of the Digital Millennium Copyright Act, after our last license wars, and here were my final conclusions:
A. US copyright laws apply, in your countries of residence, if you are violating a US copyright. I.E., it is a given that OTA's content is not yours to legally use, until that is determined in a court of law. Under US law, copyright is assumed until successfully challenged, therefore, all of the OTA mods are illegal and in violation of copyright.
We all know this, we all admit this, but it has deeper implications, legally. I wanted to restate this, however, because the rest of the arguments follow from this.
B. Under US law, CA is what is known as a "derivative work". Basically, you're building on top of a copyrighted work. Submitting work via SVN is, pretty clearly, adding to a derivative work, too.
It's not auto-protected by the GPL by the coder, then somehow, when the very same coder uploads it via SVN and publishes it in a version of CA, that same coder is using it to build a derivative work with it, and the GPL protection stays in place.
That's a totally absurd argument. CA's coders cannot slap the GPL on stuff and stick it into CA, that's not a reasonable interpretation of how the GPL works.
If the code came from, say, Spring's base files... was downloaded from a website, where the author who wrote it wasn't a game designer of CA, etc., nor in communication with said team, etc., it would still be protected.
But that's not what's happening. So, if you want to flame about this... I'd suggest that instead of attacking me for revealing the naked Emperor, or trying to defend the absurd, that you guys have a constructive conversation about how to get his clothes back on.
Personally, I think the CA guys should just close the project down as an unwieldy, massive mess, and make a really good game with original content and kickass Lua. Other than art team problems, you guys have all of the relevant skillsets, and if you did so, I am pretty certain you could find artists, because your code would kick ass, and you would no longer be a "mod", but a "game", which is an important distinction.
At any rate, under US law, and supported by numerous precedents... "derivative works" are not entitled to any copyright protection. None. You're putting work into public domain.
C. And since the CA team all live in countries which are signatories to the various treaties about this stuff, they're expected to respect US copyright law, including this wrinkle (this is not at all like the Pirate's Cove, guys- even in Sweden, you're probably breaking the law here, because you aren't "providing reference materials", you're making content available that you do not own).
D. Therefore, since CA's team cannot receive copyright protection under US law, they are not able to copyright the additional features of their derivative work.
Result: anything that was released directly into CA, or was put into CA by the authors, or by the team, which just happens to include the same people who wrote it... cannot have the GPL applied. And the stuff that is GPL... is being used in violation of the license.
Now... I assume the above will get everybody hot and bothered.
I suggest reading the Wikipedia summaries of US copyright law, the Digital Millenium Copyright Act, the EU Copyright Directive, and the WIPO and Berne Treaties. You will find that, once you pare down a bit, that basically, we're all supposed to respect each other's copyright laws. The USA has really strict copyright laws, stricter than almost anywhere else. And OTA was made here. It's that simple. Everything else comes from the fact, freely admitted by all reasonable parties around here, that OTA mods are violating copyright. I think the only surprising bit is that nobody seemed to understand the full implications of that.
So, basically, I'm not interested in arguments that "CA is giving it all away to everybody, you should too".
First off, because their intention wasn't to "give it all away to everybody", because the GPL copyleft provisions would, if they were ever applied, mean that the original owner of the work would find it was all, well, GPL'd. Which nobody making an original-content game wants.
Second off, because I completely disagree that that's the best thing I can do with what I've made, and I've already explained why.
Thirdly, their project is ample demonstration of the legal perils involved with such a restrictive copyleft license. They'd have been far better off to just license it all CC-PD and be done with it, frankly.
4. Why do you hate OTA? Etc., etc.
Guess what... I don't. I loved OTA, back in the day. I wouldn't be here, if it hadn't existed. What little code I've contributed to this engine is long-gone, but I've always been a huge supporter of this project, ever since I saw the SWTA video, and knew that SJ was making something amazing and special.
That said...
BA != OTA. CA != OTA. The closest thing is Pxtl's project, in Spring, and so far as I can tell, it's not getting played. So, don't tell me about hating OTA.
And I know that many people, and in fact a lot of very nice, honest and hardworking people, are working on various OTA mods (I've helped LordLemmi with stuff before, answered many questions from OTA mod guys, etc.), and will probably feel offended because I want to exclude them from my help in this very important area.
Personally, that's the hardest part for me. And I will happily continue to help, in other areas that are older parts of Spring. But you need to learn Lua yourselves, or take stuff from CA or other folks.
I just don't think that picking and choosing would help the project- even if I wrote some miraculously-cool Lua that was a must-have item, and could destroy the playerbase of any one game... I'd just be re-creating BA or whoever I denied it to, and the cycle would be the same. I'm not doing that, that would be wrong.
I will just let you guys find a way to do it without my help, and I will encourage anybody who will listen to go my way on this. I don't really expect any takers, but who knows, maybe this will change things.
***************************************************
***************************************************
***************************************************
[GIANT BOMBSHELL MODE, OFF]
If you have a specific question about something I've said, I will address that in PM, provided it's not just a flame or whatever, but I will not be replying here, nor am I interested in responding to any particular argument raised.
Nor am I interested in really reading the responses, which I will go ahead and predict:
1. Idiots trying to poke holes in the arguments by finding bad sentence structure or other problems that came about by me writing and editing this for the last 4 hours, after a very long day that involved a lot of serious outdoor work and other stuff.
2. People who hate me for various reasons, or just like these things to be massive drama-fests about personality, who will not really bother reading it and then will go off about how awful I am.
3. OTA modders who will be massively disappointed in me for not just keeping them fed with technology they can't make themselves, because this goddamn engine has gotten so complex and demands so much time to do anything now. Of all of the people involved in this post, I have the most sympathy for you, frankly.
4. Thoughtful people who will realize that I would not have written this at all, at such massive length, if I didn't think that it was time we had a final debate about this, and set priorities accordingly.
Meh, basically, I wrote this not to hate on anybody. I want to make sure that I never have to see a license issue with my code again, and it's crystal clear what I want, who gets it, and why.
Seriously, before anybody says I'm hating on CA (since that's the only spot where I feel I've dragged anybody else into this)...
I'm not, dammit.
What I am saying is that the various statements that their people have made about the GPL and how it applies to them are based on a bad reading of the law, and I'm attempting to correct their facts. If, like KDR, they used CC-PD, I probably would have not even mentioned them, but as they've seen fit to bring this up elsewhere, I am trying to present everybody with the legal picture as I think it really applies.
And I personally praise them for providing so much code to the community, regardless of the specific license.
That's all, I'm REALLY DONE NOW, it's 3AM and I need to sleep so bad, my head is falling off. Please resist the urge to turn this into a flame-war, it's totally not going to change my personal policy about this, and the CA stuff if mainly FYI for them, and for people in dread of using their work, and honestly, I think that is a whole separate discussion thread, because it'll otherwise get mixed up with various stupid Argh-hater stuff that we've all read before anyhow... but that's just me.
