Stockfish port to C# Complete

Discussion of chess software programming and technical issues.

Moderators: hgm, Rebel, chrisw

ZirconiumX
Posts: 1334
Joined: Sun Jul 17, 2011 11:14 am

Re: Stockfish port to C# Complete

Post by ZirconiumX »

Depends on you.

The GPL says that you don't have to if it is a private thing - but then there would be no point in keeping it private as the ideas in there might just make C# a decent language to use for a chess program, for a start.

Matthew:out
Some believe in the almighty dollar.

I believe in the almighty printf statement.
syzygy
Posts: 5563
Joined: Tue Feb 28, 2012 11:56 pm

Re: Stockfish port to C# Complete

Post by syzygy »

whittenizer wrote:Hum, I'm getting mixed views here. I've paid to have SF translated. Am I obligated to release my code or not?

I said I would but is it necessary for compliance purposes?
Unless you have a license from the copyright holders of SF, you may not release a modified version of SF. A ported version is such a modified version.

One option you have is the GPL license. If you use this license, you have to adhere to its conditions (which basically includes providing source code to whoever asks for it).

Another option is to ask the copyright holders for another type of license. Only the copyright holders (all together) can grant you such a license.
mcostalba
Posts: 2684
Joined: Sat Jun 14, 2008 9:17 pm

Re: Stockfish port to C# Complete

Post by mcostalba »

syzygy wrote: Another option is to ask the copyright holders for another type of license. Only the copyright holders (all together) can grant you such a license.
I'd think it would be very difficult that we add another type of license. We received these kind requests in the past but we (all 3) gently declined: if Stockfish/Glaurung is GPL it is for a reason ;-) OTH if the owner of the C# port uses the sources to, say, playing chess on his Windows mobile, there is really no reason to release the code, he can keep them for his private use and everything is fine.
whittenizer
Posts: 85
Joined: Sun May 29, 2011 11:56 pm
Location: San Diego

Re: Stockfish port to C# Complete

Post by whittenizer »

This is interesting then. At some point I plan on using the code on my Silverlight web site. In that case, I would need a license then? Keep in mind alot of the code is C# specific because of no direct translations. Where do we draw the line in saying someone has copied the code and thus needs a license?

Is there like a percentage of copied code that warrants a license?
mcostalba
Posts: 2684
Joined: Sat Jun 14, 2008 9:17 pm

Re: Stockfish port to C# Complete

Post by mcostalba »

whittenizer wrote: Is there like a percentage of copied code that warrants a license?
I have googled a bit but didn't found a specific case about porting from a GPL source to another language and use it in a web site, the common opinion is that is anyhow a derived work and is somehow "published" (see http://www.gnu.org/licenses/gpl-faq.en. ... leasedMods) but no legal definitive answers on this points. I think it is a kind of a gray area, still not very well explored in legal terms. Anyhow I don't have a particular interest to start exploring :-)
diep
Posts: 1822
Joined: Thu Mar 09, 2006 11:54 pm
Location: The Netherlands

Re: Stockfish port to C# Complete

Post by diep »

mcostalba wrote:
whittenizer wrote: Is there like a percentage of copied code that warrants a license?
I have googled a bit but didn't found a specific case about porting from a GPL source to another language and use it in a web site, the common opinion is that is anyhow a derived work and is somehow "published" (see http://www.gnu.org/licenses/gpl-faq.en. ... leasedMods) but no legal definitive answers on this points. I think it is a kind of a gray area, still not very well explored in legal terms. Anyhow I don't have a particular interest to start exploring :-)
It's not a grey area. Ronald is right here. Strictly speaking there is no difference.

David, it doesn't matter whether you port 1% or 100% of the code, or even 10 lines of it. Even if it was 10 lines of code, it's GPL code, so you'll have to release it in the end.

Now you said you would spread the code anyway, so that all voids this discussion; just put a GPL header on top of it, and end of discussion.
diep
Posts: 1822
Joined: Thu Mar 09, 2006 11:54 pm
Location: The Netherlands

Re: Stockfish port to C# Complete

Post by diep »

mcostalba wrote:
whittenizer wrote: Is there like a percentage of copied code that warrants a license?
I have googled a bit but didn't found a specific case about porting from a GPL source to another language and use it in a web site, the common opinion is that is anyhow a derived work and is somehow "published" (see http://www.gnu.org/licenses/gpl-faq.en. ... leasedMods) but no legal definitive answers on this points. I think it is a kind of a gray area, still not very well explored in legal terms. Anyhow I don't have a particular interest to start exploring :-)
Courtcase results as published, they aren't indexed by google. Only interpretations of the courtcase results discussed in the media and/or published by media are indexable by google. Please email Richard Stallman on this.
melajara
Posts: 213
Joined: Thu Dec 16, 2010 4:39 pm

Re: Stockfish port to C# Complete

Post by melajara »

What about a java version ? :D
Per ardua ad astra
RoadWarrior
Posts: 73
Joined: Fri Jan 13, 2012 12:39 am
Location: London, England

Re: Stockfish port to C# Complete

Post by RoadWarrior »

diep wrote:p.s. some years ago when we compared some algorithmic code in C versus C#, then C# was factor 4 slower, so anything you get it faster than that here, is a big achievement, besides the huge work of porting SF to C#.
My fledgling and relatively unoptimised C# engine Amaia is searching 3.8M nps on a single core. That's using 64-bit Windows on an i7 2600K over-clocked to 4.6 GHz. It may not be a speed demon, but that number meets my current performance budget quite comfortably. At some point I'll run SF on this hardware/software so that I can do a comparison.

The evaluation function includes material, mobility, PSTs, pawn structures, and king safety. There is no SMP or TT yet, and also no QS or extensions - all work in progress.

I haven't looked at the assembly code produced by the JIT compiler yet. When I do, I suspect that I'll find a few decent performance improvements.
There are two types of people in the world: Avoid them both.
syzygy
Posts: 5563
Joined: Tue Feb 28, 2012 11:56 pm

Re: Stockfish port to C# Complete

Post by syzygy »

mcostalba wrote:
whittenizer wrote: Is there like a percentage of copied code that warrants a license?
I have googled a bit but didn't found a specific case about porting from a GPL source to another language and use it in a web site, the common opinion is that is anyhow a derived work and is somehow "published" (see http://www.gnu.org/licenses/gpl-faq.en. ... leasedMods) but no legal definitive answers on this points. I think it is a kind of a gray area, still not very well explored in legal terms. Anyhow I don't have a particular interest to start exploring :-)
There are two types of "using it in a web site". As I understand it, silverlight works much like java applets and flash: the code is transmitted from the web site to the client, where it in runs in the browser. In this case there is actual distribution of code (from the server to the client), so I have no doubt that the GPL applies.

The text on gnu.org that you link to is about running the code on the server, taking input from the client and sending output to the client. In this case there is no distribution of code and I would agree that the GPL does not apply.

Regarding the "percentage of code": you can only escape the copyright on the original if you only copy trivial parts. If you do a full port, you copy 100%. That no line is left unchanged is irrelevant here. If you translate a book from English into Swedish, no line will be left unchanged, either.