Ball of Wax
I have recently restumbled upon this. I was in the middle of looking what year Raiko was made, to determine the age of Raiko's gun (that I use in Nene). Realizing that it is 8 years old I also notice that the code is under this license.
This means Nene is actually released under the RWPCL as well. Does this mean just this version of Nene, and I can go and rerelease it under a more permissive license if I remove the RWPCL code, or is all of the code irrevocably RWPCL forever.
Because if it is the latter it also makes Rednaxela's code RWPCL, as well as Midboss and RougeDC by proxy. Which I don't want to force on him. Unless licenses are not retroactive, in which case those robots are safe.
All because of the very all encompassing "full source code of your system" clause.
I personally think if I wrote the code in question I should be able to license any particular version of it however I want, even if that causes the exact same code to fall under multiple incompatible licences.
Actually after reading up on a little copyright law. As the copyright holder of the additional code. I can chose to redistribute that code under a more or less restrictive license as long as it does not contain any incompatibly licensed code within its whole, regardless of any and all clauses defined within previous licenses (including a strong copyleft). However if any of the code that I am not the copyright holder of were to remain, then it would be unlawful for me to release it under any license that violates its license.
At least, that is as I understand it. I'm not a lawyer.
So Rednaxela is in the clear, as is Etna/Scarlet. But I do have to change Nene's license until such time I remove all RWPCL code from it, even then the older version of the code would still be RWPCL, as it contains Raiko's Gun (which is licensed under the RWPCL).
A few thoughts:
- IANAL...
- I don't think it means Nene is under RWPCL, only that perhaps it should be, and that you are risking a lawsuit from Jamougha by breaking the license. =)
- I'm almost certain you can rewrite the RWPCL parts and then be free of the viral licensing obligations.
- Code can definitely exist under multiple, totally different licenses.
- If Rednaxela already released his kd-tree under zlib, then someone releases a bot with his kd-tree and Raiko's RWPCL gun, it couldn't possibly retroactively make his kd-tree RWPCL.
- Some code would never hold up to scrutiny in terms of copyright infringement - I wouldn't worry about things like absoluteBearing, project, and lots of other trivial stuff. I've read that you probably couldn't copyright a tweet, and these are far less content than that.
(Edit: Oops, guess I'm late, but anyway...)
I use angleToEnemy rather then absoluteBearing. I have for awhile. Since absoluteBearing was generally semi-meaningless to me... (absoluteBearing to what?)
Though I could easily see an argument otherwise. Robocodes api confuses the matter with getBearing(). Since otherwise bearing could mean 'the angular direction of a line, point, or course measured from true north or south', where in this case, it is actually the angle 'the amount of rotation needed to bring one line or plane into coincidence with another'.
Absolute bearing is relative to the angle pointing up (north), relative to the battlefield. Making it independent from bots headings. Just guessing, didn´t look at the code.
Basically, I was just saying that getBearing is poorly named, and I don't use absoluteBearing since it doesn't make any sense to me. Since 'bearing' by itself is by definition an angle relative to some fixed direction (which getBearing confuses the meaning of, returning data from a different frame of reference to all other methods).
I guess those licenses are enforced by honor code only. With no law involved.