Give it to us - we want Stockfish

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

Moderators: hgm, Rebel, chrisw

jdart
Posts: 4366
Joined: Fri Mar 10, 2006 5:23 am
Location: http://www.arasanchess.org

Re: Give it to us - we want Stockfish

Post by jdart »

Well, that sucks.

You can use Arasan, which is MIT licensed. It is stronger than Crafty now. It could probably be made to run under iOS but doesn't support that currently. (https://www.arasanchess.org/).

Another quite strong engine is Gull, originally released as public domain. There is a modified/fixed version under the MIT license: https://github.com/basil00/Gull. Again some mods may be required for iOS.
Ras
Posts: 2487
Joined: Tue Aug 30, 2016 8:19 pm
Full name: Rasmus Althoff

Re: Give it to us - we want Stockfish

Post by Ras »

jdart wrote:Well, that sucks.
Actually not. Apple is quite honest in saying "we know what is good for you". That's why people are buying iDevices in the first place. If someone disagrees with Apple's paradigma, then the solution simply is not to buy an iDevice.
syzygy
Posts: 5563
Joined: Tue Feb 28, 2012 11:56 pm

Re: Give it to us - we want Stockfish

Post by syzygy »

adams161 wrote:IOS apps can't just bundle engine binaries but have to integrate the engine in the code because you download one App and it can't come with a second app it opens like a computer program does.
At least the FSF lawyers will agree with you that including the GPL'd SF code in a binary complies with the GPL only if the whole binary is released under the GPL.

It would probably be OK under the GPL to include SF as a separate binary that communicates with the GUI through UCI. But iOS apparently does not let you do this. (Still, one could wonder what legal difference there is between communicating with another process via a pipe and, for example, linking to a library dynamically, and the FSF lawyers will say that at least the latter requires LGPL.)

Anyway, as long as you just include the SF code as one unmodified functional unit, make clear that the SF code included is GPL'd, and include a link to it, I would think that SF developers might have no reason to object. However, this is up to the SF developers to decide.

So maybe you could post to the SF developers forum here and see what they think about including the "unmodified" SF code in an iOS GUI (some modifications will of course be necessary but it will just be plumbing code). Also explain that the normal UCI route is not available on iOS.

One problem is that there are very many SF developers that contributed something. Formally you would need permission from all of them. But if the lead developers are all fine with it...

Btw, a link to Smallfish is included on the official SF download page as 3rd party app. I don't know if there has ever been a discussion among SF developers about Smallfish and the GPL. I do know that there have been grumblings about apps that use the SF code without acknowledgement.
If Stockfish would provide direction on how us iOS apps could use it without breaking it's license maybe a disclaimer that if you bundle the code unmodified other than what it takes to interface with it for platforms that cant run a freeware binary then i'd be interested.
So I agree that such an exception (or separate permission) would be reasonable and also be in the "spirit" of Stockfish. But you should really ask the SF developers.
User avatar
MikeB
Posts: 4889
Joined: Thu Mar 09, 2006 6:34 am
Location: Pen Argyl, Pennsylvania

Re: Give it to us - we want Stockfish

Post by MikeB »

adams161 wrote:The promise of an Open Source license is they'll share with you as you share with others. Stockfish says it is under GPL. If I search chess Apps in the App Store and I see they use Stockfish I would be lead to think, “ahh this App is open source”. Not having seen many iOS Apps other than my own and the one I work on at work I think, “hmm let's look at its source”. So far this hasn't been working out. Top programs in the App Store mention far and wide they use Stockfish and it's popular. But I don't see source. Take Analyze This. http://www.mychessapps.com/2016/05/anal ... kfish.html Can't find source. Someone who left a comment on that page mentioned this.
Isnt Stockfish GPLv3? Doesn't this mean analyze this should be open source?
And even Small Fish one of the most popular chess apps no doubt helped by having Stockfish, when I click to download its source at http://www.smallchess.com/ links are broken. I tried in the past as well and had the same issue. I don't know though it does say its open source and perhaps Ted has a link issue. It's not like I wrote him asking for source and he declined.

I've not been willing to bit the bullet and make my openingtree my App open source so i've kept my paws off Stockfish. Maybe I don't understand it's license or what its programmers terms really are for who can use it.

You didn't explain why you thought I was smoking something so i'm just going to pass on answering that. Maybe you can add what your perspective is on this. I personally can't publish software that borrows without attribution, that links to software under licenses I;m not complying with or take things I don't posses the copyright too. But the users just want wonderful chess software that has engines that get to 32 ply on their iPad and stunning graphics. That's the tension i'm writing about. Now i've used Stockfish as an example and a primary one but i'd want to hear from others if i'm correct in my understanding of it's license so don't take any statements i've made as the final word.

Now i've been told i'm a competitive person in general. I've made a few chess apps and i've tried to play by what I think are the rules or at least what I can see written down. I'm not trying to say anyone who doesn't do the same is a scoundrel. I don't really know always. But the inconsistency of how I at times feel limited but don't see others playing always by what I feel are the same rules does make me wonder.
I think Ted Wong (small fish author) will provide the source if you asked him. He seems to be a pretty good guy and would not intentionally break the rules.
adams161
Posts: 626
Joined: Sun May 13, 2007 9:55 pm
Location: Bay Area, CA USA
Full name: Mike Adams

Re: Give it to us - we want Stockfish

Post by adams161 »

He seems to be a pretty good guy and would not intentionally break the rules.
I'm not clear on the rules or if anyone is really breaking the spirit of the rules. And it may just be a broken link. No reason to assume i could not write and clear that up but i'm not going to. I don't need the code. I was just surveying who is following the license strictly as I understand it and who may not be. As Ronald says:
It would probably be OK under the GPL to include SF as a separate binary that communicates with the GUI through UCI. But iOS apparently does not let you do this. (Still, one could wonder what legal difference there is between communicating with another process via a pipe and, for example, linking to a library dynamically, and the FSF lawyers will say that at least the latter requires LGPL.)
We may have a gray area here. It's up to the Stockfish team to decide if they want to pursue violations of their license. And as the above quote suggests and if they see it that way they may not be interested in that.

I have signed up for the Stockfish forum as Ronald suggested. It's part of my personality makeup to like clearly defined rules when i'm operating 'officially' i.e. posting Apps to the App store etc and I would stick with the literal interpretations and others may not. It doesn't necessarily make them wrong though we could call it less safe. It does bring Stockfish to iOS for the users. My main interest is trying to understand what the rules are. But that is probably a question for the Stockfish team. I have applied to their forum.

One problem with these gray area rules is that not everyone benefits equally from any gray areas. Some Apps like 'Analyze This' may port in Stockfish and not open source and not draw the ire of the Stockfish team and others may not port it in without the clear direction. So there is a benefit to clarity and seeking clarity i think.
purechess
Posts: 82
Joined: Wed Nov 28, 2018 1:28 pm
Full name: Heinrich Pulliter

Re: Give it to us - we want Stockfish

Post by purechess »

Still no link to Smallfish source code anywhere.

On the other hand GPL doesn't allow additional constrains added to the license
which the Appstore does with their Terms of service. So in theory no GPL software
on the Appstore.

But i'm happy to see some iOS apps got lucky and sneaked into the Appstore :D
jdart
Posts: 4366
Joined: Fri Mar 10, 2006 5:23 am
Location: http://www.arasanchess.org

Re: Give it to us - we want Stockfish

Post by jdart »

Several commercial projects use Arasan as a chess engine. It is stronger than Crafty (didn't used to be, but is now). It is MIT licensed. I am pretty sure I don't even know how many software packages might use or include it, because they don't need to notify me.
mar
Posts: 2554
Joined: Fri Nov 26, 2010 2:00 pm
Location: Czech Republic
Full name: Martin Sedlak

Re: Give it to us - we want Stockfish

Post by mar »

jdart wrote: Sat Aug 05, 2017 8:37 pm Well, that sucks.

You can use Arasan, which is MIT licensed. It is stronger than Crafty now. It could probably be made to run under iOS but doesn't support that currently. (https://www.arasanchess.org/).

Another quite strong engine is Gull, originally released as public domain. There is a modified/fixed version under the MIT license: https://github.com/basil00/Gull. Again some mods may be required for iOS.
yes, well you can't run processes in iOS apps ("security")
Arasan is MUCH stronger than Crafty, actually. Since it uses a liberal license and you still actively develop Arasan (stable, robust engine), I believe this is the way to go for him.
Other than that - anything that runs on OSX (=BSD) should pretty much run on iOS as well, assuming Arasan can run on Arm devices.
Martin Sedlak
mar
Posts: 2554
Joined: Fri Nov 26, 2010 2:00 pm
Location: Czech Republic
Full name: Martin Sedlak

Re: Give it to us - we want Stockfish

Post by mar »

Ras wrote: Sat Aug 05, 2017 11:45 pm
jdart wrote:Well, that sucks.
Actually not. Apple is quite honest in saying "we know what is good for you". That's why people are buying iDevices in the first place. If someone disagrees with Apple's paradigma, then the solution simply is not to buy an iDevice.
well, Apple is anything but honest :) they want to keep the users in their golden cage and make dev's life hard.
devs want to build cross-platform programs, Apple wants to tie their hands instead - by forcing you to use proprietary nonportable APIs and placing
dumb restrictions on what you can actually do.

reminds me of Microsoft in the 90ies...
Martin Sedlak
Ras
Posts: 2487
Joined: Tue Aug 30, 2016 8:19 pm
Full name: Rasmus Althoff

Re: Give it to us - we want Stockfish

Post by Ras »

mar wrote: Mon Mar 15, 2021 8:33 pmdevs want to build cross-platform programs, Apple wants to tie their hands instead - by forcing you to use proprietary nonportable APIs and placing dumb restrictions on what you can actually do.
Google is doing the same with destroying the classic GUI-engine setup on Android.
Rasmus Althoff
https://www.ct800.net