Derivatives are real programs too

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

Moderator: Ras

User avatar
ilari
Posts: 750
Joined: Mon Mar 27, 2006 7:45 pm
Location: Finland

Re: Derivatives are real programs too

Post by ilari »

Omega-three wrote:However the artist nearly always calls the song by the same name rather than something completely different. It may be psychological but I look at derivatives in a negative way because they hide the name of the original program in a read me file somewhere. For example why not call toga 'Fruit 2.1/Toga x' or Cyclone 'Fruit 2.1/Toga X/Cyclone X etc

Just my 2 penneth worth
I think it's a legal issue, meaning that if I create a Fruit derivative, I'm not allowed to name it Fruit without explicit permission from the original author. So the safest option is to give it a completely new name.
Michel
Posts: 2292
Joined: Mon Sep 29, 2008 1:50 am

Re: Derivatives are real programs too

Post by Michel »

as far as "Toga has difficulty benefiting from your improvements"... the source is open.
It is a technical problem.

Through your extensive source code reformatting, filename changes, variable name changes etcetera you cannot just run a diff, extract the relevant parts and then patch Toga.

Same goes for applying changes in Toga to Cyclone.

So the two programs simply end up reimplementing things.
kranium
Posts: 2129
Joined: Thu May 29, 2008 10:43 am

Re: Derivatives are real programs too

Post by kranium »

Michel wrote:
as far as "Toga has difficulty benefiting from your improvements"... the source is open.
It is a technical problem.

Through your extensive source code reformatting, filename changes, variable name changes etcetera you cannot just run a diff, extract the relevant parts and then patch Toga.

Same goes for applying changes in Toga to Cyclone.

So the two programs simply end up reimplementing things.
Michel, if you take a close look, the program flow has also been greatly changed...there's no more uneeded loop() and init() functions, main.cpp call process_input() directly..., and much more...it's much more efficient.

did it ever dawn on you that it's possibly these very changes, (along with everything else you mention) that are contributing to and responsible for any improvement!
you have my sympathy if doing a 'diff' is more difficult..., but perhaps taking a close look at the code and actually trying to understand why it's performing better is a good idea?

should i be willing to forgo any speed gains, or ELO points, so that you and others can more easily copy and paste the changes into a different version?...

if you think it's hard to ascertain the changes now, i've been planning to try and implement a rotated bitboard backend for speed, and I already have much of the code written with alderon, if you think the codebase has changed too much now, wait 'til you see how different it looks then...and copying and pasting changes via a simple diff will be even less useful.
Michel
Posts: 2292
Joined: Mon Sep 29, 2008 1:50 am

Re: Derivatives are real programs too

Post by Michel »

Well you seem to want to maintain an independent fork. No problem. May the force be with you!

Best regards,
Michel
mathmoi
Posts: 290
Joined: Mon Mar 13, 2006 5:23 pm
Location: Québec
Full name: Mathieu Pagé

Re: Derivatives are real programs too

Post by mathmoi »

kranium wrote:I believe programs like Toga, Cyclone, StockFish, etc. should be recognized as legitimate engines and allowed entrance into major tournaments.

These 'derivatives' are not the same as 'clones' (which can easily be produced by hacking the original executable with with a hex editor, or simply re-compiling a new executable from source), due to the fact that they often contain enhancements, new ideas, and many hundreds of new lines of code, and are often largely re-written.

I know that Toga recently played in the world championship... I congratulate the tournament organizers for a more liberal and open-minded stance on the issue.

It would be benficial if the chess community (and tournament organizers) stop taking such a narrow view of what constitutes a legitimate engine and what does not...

IMHO, there's no good reason to 'blacklist' derivatives just because the author didn't reinvent the wheel, and started from a known source. That's progress...every tech advance stands on the shoulders of those before them.

a hacked executable, or a derivative where the only change is the name of the program, etc. is clearly not what I'm talking about here, that's different.

I'm expressing my opinion here, because I was just refused entry into the Pan American...apparently fruit derivatives are 'clone's.

Sincerely,
Norm
Hi Norman,

You say that derivatives are not the sames as clones and you're right. If a derivatives engines is created with the express permissions of the original(s) author(s) or the permission implied by a licence like the GPL, they should not be considered clones. A derivatives engine created without the consent of the original(s) author(s) should be considered a clone even if it is modified or even greatly improved.

I'm not sure what's the status of your engine, but I suppose that it is a legitimate derivative (not a clone).

Most tournaments do not allow clones for obvious reason, and peoples think that derivatives are not allowed under this rule. My understanding is that in most tournaments derivattives are welcome if they are rigistered by all their author. This is required to prevent more than one engine from the same author in the tournament. This also prevent someone the do some modifications on an open source engine and get all the credit for the performances in the tournament.

You have given the example of Cluster Toga that was allowed to participate in the last WCCC. He was not allowed in because the organizers were open-minded, but because Cluster Toga was registred by all it's author including Thomas Gaksch and Fabien Letouzey.

I don't think the rules about derivatives need to be changed. If you want to enter en engine in a tournament, you need the cooperation of all it's authors.
User avatar
pedrox
Posts: 1056
Joined: Fri Mar 10, 2006 6:07 am
Location: Basque Country (Spain)

Re: Derivatives are real programs too

Post by pedrox »

I agree with you.

What if we can not contact one of the authors of the program? Then the engine must be removed from the big tournaments?

It seems normal that if Fruit enters to world championship, then you can not enter Toga and other derivatives.

if Fruit is not, then that derived has rights?

Pedro
User avatar
fern
Posts: 8755
Joined: Sun Feb 26, 2006 4:07 pm

Re: Derivatives are real programs too

Post by fern »

Miguel, estás cometiendo un error de lógica llamado petición de principio. Norman sostiene que los llamados derivativos son programas legítimos y nuevos. Y da sus razones. Tu lo refutas asumiendo, de nuevo, lo que está en discusión: que lo derivativos son similares al "original". Y por eso no pueden participar.

Habría que establecer los grados de diferencia entre algo pre -existente y el sucesor. Está claro que, llevado al exremo, el argumento del "derivativo" haría de todos los programas, menos el primero, derivativos.

abrazos
Fern
mathmoi
Posts: 290
Joined: Mon Mar 13, 2006 5:23 pm
Location: Québec
Full name: Mathieu Pagé

Re: Derivatives are real programs too

Post by mathmoi »

pedrox wrote:What if we can not contact one of the authors of the program? Then the engine must be removed from the big tournaments?
I guess so. Otherwise, two derivatives author could enter their engines that are based on the same original engine. Plus, because you can't contact someone does not give you the right to enter his creation in a tournaments and take the credit for yourself.

I think peoples will have differents opinions about this, but for me it's clear. An engine can't compete without the approval of all its authors.
if Fruit is not, then that derived has rights?
IMHO in all cases all the author(s) in this case Fabien Letouzey must give their permission for someone to enter their engine in a tournament. At the very least they must be able to "op-them-out". What I mean is if someone register a Fruit derivative in the tournament and that Fabien wants to register Fruit, the derivative is excluded.
User avatar
michiguel
Posts: 6401
Joined: Thu Mar 09, 2006 8:30 pm
Location: Chicago, Illinois, USA

Re: Derivatives are real programs too

Post by michiguel »

fern wrote:Miguel, estás cometiendo un error de lógica llamado petición de principio. Norman sostiene que los llamados derivativos son programas legítimos y nuevos. Y da sus razones. Tu lo refutas asumiendo, de nuevo, lo que está en discusión: que lo derivativos son similares al "original". Y por eso no pueden participar.

Habría que establecer los grados de diferencia entre algo pre -existente y el sucesor. Está claro que, llevado al exremo, el argumento del "derivativo" haría de todos los programas, menos el primero, derivativos.

abrazos
Fern
Yo entendi que Norman admitia que Fabien sigue siendo co-autor (es el area gris de los open source projects). Si Norman define como "Nuevo" que Fabien no es mas un co-autor, entonces tenes razon y la discusion pasa por otro lado. Habria que definir el area gris de cuando la autoria se pierde. Ha habido casos de derivados que culminaron en algo completamente independiente (Faile - Sjeng).

Miguel
User avatar
pedrox
Posts: 1056
Joined: Fri Mar 10, 2006 6:07 am
Location: Basque Country (Spain)

Re: Derivatives are real programs too

Post by pedrox »

michiguel wrote:
fern wrote:Miguel, estás cometiendo un error de lógica llamado petición de principio. Norman sostiene que los llamados derivativos son programas legítimos y nuevos. Y da sus razones. Tu lo refutas asumiendo, de nuevo, lo que está en discusión: que lo derivativos son similares al "original". Y por eso no pueden participar.

Habría que establecer los grados de diferencia entre algo pre -existente y el sucesor. Está claro que, llevado al exremo, el argumento del "derivativo" haría de todos los programas, menos el primero, derivativos.

abrazos
Fern
Yo entendi que Norman admitia que Fabien sigue siendo co-autor (es el area gris de los open source projects). Si Norman define como "Nuevo" que Fabien no es mas un co-autor, entonces tenes razon y la discusion pasa por otro lado. Habria que definir el area gris de cuando la autoria se pierde. Ha habido casos de derivados que culminaron en algo completamente independiente (Faile - Sjeng).

Miguel
Esto es algo interesante, cuando la autoría se pierde, estaría gracioso que ahora el autor de Faile quisiera presentar a Faile al campeonato del mundo y pusiera pegas para que se presentara Deep Sjeng por considerarlo un derivado.

Pedro