What is a derivative?

Discussion of anything and everything relating to chess playing software and machines.

Moderator: Ras

Xann
Posts: 150
Joined: Sat Jan 22, 2011 7:14 pm
Location: Lille, France
Full name: Fabien Letouzey

What is a derivative?

Post by Xann »

I am not familiar with the CC concepts of 2011.
Has the community defined what a "derivative" is?
Or the concept of "original work".

This is mostly a question for testers and tournament organisers, and there can be several definitions.
What would you want an expert to look at for you in a suspect engine?

My point is that you don't have to necessarily follow copyright law.
Courts only have a single definition of "the same" (guess).
It might not match yours.
You can make your own definition here, do you understand?
And the expert will answer: yes/no/maybe/dunno/95%/etc ...

What would you ask?
Without a question, there can't be an answer.

We can start with ICGA tournaments and other existing rating lists.

Thanks,

Fabien.
User avatar
michiguel
Posts: 6401
Joined: Thu Mar 09, 2006 8:30 pm
Location: Chicago, Illinois, USA

Re: What is a derivative?

Post by michiguel »

Xann wrote:I am not familiar with the CC concepts of 2011.
Has the community defined what a "derivative" is?
Or the concept of "original work".

This is mostly a question for testers and tournament organisers, and there can be several definitions.
What would you want an expert to look at for you in a suspect engine?

My point is that you don't have to necessarily follow copyright law.
Courts only have a single definition of "the same" (guess).
It might not match yours.
You can make your own definition here, do you understand?
And the expert will answer: yes/no/maybe/dunno/95%/etc ...

What would you ask?
Without a question, there can't be an answer.

We can start with ICGA tournaments and other existing rating lists.

Thanks,

Fabien.
For this community, it should be very simple. The question will be is there any other person who deserves to be a co-author, who has contributed significantly to the engine? or the contribution would deserve only an acknowledgement? (i.e a favor).

If I put my hands in the dough, I a co-author of the cake. If bought the sugar across the street, I will receive thanks and maybe an acknowledgement, not a co-authorship.

These are pretty much the criteria followed in science and I do not see why it could not be applied here.

Of course, I am assuming we are gentlemen and honorable people. When you have an honor code, you need less rules.

Miguel
Gian-Carlo Pascutto
Posts: 1260
Joined: Sat Dec 13, 2008 7:00 pm

Re: What is a derivative?

Post by Gian-Carlo Pascutto »

Xann wrote: Has the community defined what a "derivative" is?
[...]
My point is that you don't have to necessarily follow copyright law.
Maybe you don't, but if you don't, don't come complaining afterwards if someone takes your source code, reworks it to make it stronger, and makes hundreds of thousands of bucks out of it with zero or near-zero acknowledgement to you.

You can then scream "unethical" all you want, the other guy or gal will be the one having all the parties and the hookers :)

The community will in the meantime be very busy ignoring you, or having flamewars on some little known forum about what the definition of clone is, or what consitutes proof, and half of them rightfully pointing out that if you were really wrong, you should have taken legal action, and another quarter will point out the "new" engine plays different moves so it's obviously a new program. Add another quarter of trolls, and we have talkchess.

This isn't even a hypothethical situation. (Ok, the part about the hookers, maybe).

So as far as I'm concerned, there is only one issue, and that is whether something is a derivative work or not, as defined by copyright law.

Everything else is just there for people who like to debate.
stevenaaus
Posts: 615
Joined: Wed Oct 13, 2010 9:44 am
Location: Australia

Re: What is a derivative?

Post by stevenaaus »

My point is that you don't have to necessarily follow copyright law. Courts only have a single definition of "the same" (guess). It might not match yours.
That's why all this blame and judging is so stupid. No-one can ever answer the question "What is a derivative?". Even *if* it ever gets resolved by a court of law, everyone knows the law is an ass, and different countries have totally different laws anyway.

The only answer is a personal one, so arguing about it all is rather stupid imho, because it's generally impossible to change other people's personal views.

With this in mind, it seems to me - people may
A) Accept all computer engines as valid, or
B) Accept only *totally original* open source engines as valid, as their is no confirming the authenticity of closed source engines.

And to me, B) sounds a little absurd.
Gian-Carlo Pascutto
Posts: 1260
Joined: Sat Dec 13, 2008 7:00 pm

Re: What is a derivative?

Post by Gian-Carlo Pascutto »

stevenaaus wrote: That's why all this blame and judging is so stupid. No-one can ever answer the question "What is a derivative?".

[...]their is no confirming the authenticity of closed source engines.
[...], i think "Accepting all engines as valid" as the only sensible thing to do.
This is simplification to the absurd.

In many cases, closed sources engines were identified as derivatives and there was no controversy over it, because the cases were clear. We have controversy now because it's not clear.

Also, I'd guess the people who open source their engines don't really think someone else taking their code, and producing something in violation of their license and wishes, should be considered "a valid engine".

Chess programming is also a competition, and it does break down if it's an "anything goes" fight.

Now, you are indeed free to make your personal call about that, and judge that making an engine by doing a search & replace in some free code makes it worthy of just as much of your time and attention as any other, but I'd guess there are many that think otherwhise.
Xann
Posts: 150
Joined: Sat Jan 22, 2011 7:14 pm
Location: Lille, France
Full name: Fabien Letouzey

Re: What is a derivative?

Post by Xann »

Gian-Carlo Pascutto wrote:Maybe you don't, but if you don't, don't come complaining afterwards if someone takes your source code, reworks it to make it stronger, and makes hundreds of thousands of bucks out of it with zero or near-zero acknowledgement to you.
Hi,

I get your message 100%.
I opened another thread regarding GPL / GNU Licence.
I'm still interested in testers' and tournaments organisers' opinions.
Please let them express themselves.

Thanks a lot,

Fabien.
Chan Rasjid
Posts: 588
Joined: Thu Mar 09, 2006 4:47 pm
Location: Singapore

Re: What is a derivative?

Post by Chan Rasjid »

Xann wrote:
Gian-Carlo Pascutto wrote:Maybe you don't, but if you don't, don't come complaining afterwards if someone takes your source code, reworks it to make it stronger, and makes hundreds of thousands of bucks out of it with zero or near-zero acknowledgement to you.
Hi,

I get your message 100%.
I opened another thread regarding GPL / GNU Licence.
I'm still interested in testers' and tournaments organisers' opinions.
Please let them express themselves.

Thanks a lot,

Fabien.
Legal status of an engine is just an aspect only; there are other aspects of things not covered by the law. Adultery is only a moral issue and not criminal in the western world but not many would like to put their personal adultery on their blogs.

Rasjid.
User avatar
hgm
Posts: 28523
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: What is a derivative?

Post by hgm »

It is clear that for the purposeof Computer Chess as a viable sport, we need rules that transgress those of copyright law. Compare the Olympics: there are many substances that are perfectly legal to take for a law-obiding citizen (non-prescription drugs) which would make you test positive for doping.

Sharing of (non-trivial) code is one aspect that is covered by copyright law.

Using evaluation parameters is one that isn't. Two engines with identical evaluation usually play very similar moves, but the code can be totally different (bitboard vs. mailbox data structure, recursive search vs. iterative, etc.) As a tournament organizer, I would not like to have such identical engines in the same tournament.
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: What is a derivative?

Post by bob »

Xann wrote:
Gian-Carlo Pascutto wrote:Maybe you don't, but if you don't, don't come complaining afterwards if someone takes your source code, reworks it to make it stronger, and makes hundreds of thousands of bucks out of it with zero or near-zero acknowledgement to you.
Hi,

I get your message 100%.
I opened another thread regarding GPL / GNU Licence.
I'm still interested in testers' and tournaments organisers' opinions.
Please let them express themselves.

Thanks a lot,

Fabien.
I believe the simplest test involves using the simplest definition of the word "derivative", which is, "derived from". If A is derived from B, then A is a derivative of B. Copy the crafty source, make some changes, and you have a derivative. The only issue becomes, can this program ever escape being a derivative? Harder to answer. But so long as Crafty and the derivative have common blocks of code, certainly the answer is no. Once everything is rewritten so that there is no common code, I would say "yes" although that is a point that would cause a lot of debate, no doubt.

But we are at the B contains parts of A issue right now, and that _must_ be "derivative work."
User avatar
hgm
Posts: 28523
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: What is a derivative?

Post by hgm »

What complicates matters is that I could take Crafty, and rewrite it so that the algorithm is completely equivalent (i.e. it will always play the same moves with the same evaluation, or, in case of non-determinism, plays the same move with the same probability) without having any code similarity. Using mailbox in stead of bitboard, with a weird board format like 14x32, rotated sideways, packing the bits in another order in the hash table entries, encode pieces differently, divide up logically equivalent code in a different way over subroutines.

It would not be a Crafty derivative in the sense of the copyright law. But it would pass the Turing test for being Crafty, as it were. In the tiniest detail. Because I had captured the spirit of Crafty, discarding its body.