Talk:RWPCL

From Robowiki
Revision as of 16:16, 20 August 2009 by Rednaxela (talk | contribs) (fix link)
Jump to navigation Jump to search

Is it, by this license, I'm not able to derive code from any robots under this license and use it in my robot where all my other code are either close-sourced or under the different license (such as NPRL)? I know that you guys are not lawyers, but please answer. » Nat | Talk » 14:37, 20 August 2009 (UTC)

Right. If you use code from a RWPCL bot, your new robot's full source code must be open source under the RWPCL. This would apply to not just source code, but also to ideas or concepts that you learn from studying a RWPCL bot's code. The latter is a little bit fuzzier, as it's harder to prove, and many of those ideas/concepts can be found in non-RWPCL places, as well. This is generally called a Copyleft type of license, like the GPL. --Voidious 14:46, 20 August 2009 (UTC)

Um, no. You can't copyright ideas or concepts, only fixed implementations. If I copy a RWCPL snippet of code -- even if I make major changes -- and use it in a closed-source bot, then that's bad. But if I'm a beginning robocoder and learn how to do a for loop in Java, or how HOT works, or even more advanced concepts after reading RWCPL code, then I'm free to apply that knowledge to any aspect of my life and the RWCPL doesn't get to tag along. --Darkcanuck 15:08, 20 August 2009 (UTC)
Agreed, however the existing RWPCL page says 'concepts' which is a bad thing. Note though, with copyright there is a fuzzy line where copying out code from memory can be a violation but writing code based upon concepts remembered is not a violation. In some cases where the number of ways to implement a concept is limited then the issue gets even fuzzier really. Regardless of that fuzzy area though, indeed concepts can't be copyrighted. --Rednaxela 15:15, 20 August 2009 (UTC)

You cannot post new threads to this discussion page because it has been protected from new threads, or you do not currently have permission to edit.

Contents

Thread titleRepliesLast modified
Ball of Wax621:19, 16 November 2012

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.

Chase21:52, 15 November 2012

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).

Chase22:04, 15 November 2012
 

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...)

Voidious22:08, 15 November 2012

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'.

Chase22:26, 15 November 2012

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.

MN20:03, 16 November 2012
 

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).

Chase21:19, 16 November 2012
 

I guess those licenses are enforced by honor code only. With no law involved.

MN20:04, 16 November 2012