Give it to us - we want Stockfish

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

Moderators: hgm, Rebel, chrisw

adams161
Posts: 626
Joined: Sun May 13, 2007 9:55 pm
Location: Bay Area, CA USA
Full name: Mike Adams

Give it to us - we want Stockfish

Post by adams161 »

I've been developing chess software for the public since I first released my Pulsar Chess program in 2003. In 2010 I started Lantern Chess and made that program GPL. This made it a bit easier to find resources I could use like I took many piece sets out of Jin since I had adapted it's license. In 2012 and 2013 I expanded Lantern into mobile for both Android and iOS but kept it closed source. This made things harder. I could not just copy all my pieces out of Lantern to something not under an open source license. But I worked hard and found 5 sets I could use and properly disclaimed the license on their support pages linked from App stores as:
Chess uses Maurizio Monge's Fantasy, Spatial, and Eyes Chess Pieces with his permission(We also use Eric De Mund's adaptation of the Alpha and Merida chess pieces. "alpha" refers to Eric Bentzen's free Truetype chess font named "Alpha" and "merida" refers to Armando H. Marroquin's free Truetype chess font named "Mérida". (More info on alpha and merida seehttp://ixian.com/chess/#other they available under the Creative Commons Attribution-Share Alike 3.0 Unported License and used unmodified by Lantern).
I took a lot of flack from some users early on who really couldn't get why I couldn't just find them whatever chess pieces they liked. I'd tell them I don't have a graphic designer on the team and I have to find things I can legally use.

OpeningTree uses Crafty as it's engine with Bob's permission sought in a talk chess PM. Bob is pretty generous giving out permission and mainly just wanted it to be clear that I'm using Crafty. That I comply with and it say's Crafty engine in the program above the analysis display. The Crafty source and a few mods i had to make I posted on the OpeningTree support page http://www.lanternchess.com/openingtree.html

I showed a GM friend i've known 10 years OpeningTree and he clicked the link and looked and came back and said “Can you get Stockfish?”. I said “no I can't just 'get' Stockfish. It is under an open source license and i'm not open source right now". 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. 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. Until then I feel ethics and legalities have to trump being popular or getting more downloads. I see other apps that don't play by the same rules as I do and it can be grating but maybe there is a place for that. I don't know. I don't wish them any ill will. If Stockfish wants to not enforce strictly their license so be it. Me personally I feel I can't just give it to users cause they want it though it would be nice. I'd package more chess sets, Stockfish and anything else I could get my hands on that was nice and I found in the candy store.

Cheers
Mike
shrapnel
Posts: 1339
Joined: Fri Nov 02, 2012 9:43 am
Location: New Delhi, India

Re: Give it to us - we want Stockfish

Post by shrapnel »

Cheers.
BTW, what exactly are you smoking ? :lol:
i7 5960X @ 4.1 Ghz, 64 GB G.Skill RipJaws RAM, Twin Asus ROG Strix OC 11 GB Geforce 2080 Tis
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 »

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.
leavenfish
Posts: 282
Joined: Mon Sep 02, 2013 8:23 am

Re: Give it to us - we want Stockfish

Post by leavenfish »

Off topic, but I've looked at the Lantern site...just what is this? A GUI to use instead of the standard one for ICC? Or...
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 »

Exactly. An alternative client written in Java that can replace BlitzIn or Dasher or ICC for Mac. I started it originally as a learning exercise to learn Java better, a language i had two classes in. Also i had a goal of trying to out do Jin. I made it open source and it's on Github at https://github.com/lanternbugs/lanternicc I've written most of the code but it's had two other contributors. It only got on Github this year but the git repo dates back to 2011 when it was hosted on dropbox.

The program I was looking for an engine to use and had to grapple with legalities is actually my OpeningTree app at https://itunes.apple.com/us/app/opening ... 14935?mt=8 To be honest i'm kind of happy with Crafty. I think i'm going to update the engine to 25.2 version. Really high end users want Stockfish these days but the middle of the road users not looking for pristine deep analysis but want working analysis to help them study openings or look at their games seem to be fine with a nice competent engine ready to assist them without it being number one on the world ranking list is my take.

I've been thinking of doing a Crafty playing program app recently. I think it's a great playing program and Bob told me he set up ways for it to play at various levels last we messaged. I did one for my Pulsar chess engine which plays chess and variants at https://itunes.apple.com/us/app/pulsar- ... 40447?mt=8 But everyone thinks of Pulsar mainly as a variant engine. With a Crafty playing app it is clearly a chess playing app not variants and could attract chess players. Other apps have dedicated programs for iOS like Chess Tiger and Stockfish, and I think Crafty deserves one. What got me thinking about it is I really ought to learn Swift and sometimes an App is the best way to go about learning a new language. For those not familiar with iOS programming, objective-c used to be the main language to write iOS apps and in 2014 Apple released Swift which they want to replace it. All the college students are learning Swift now so i see iOS app programing going Swift long term The frame works and many ideas about iOS programming objective-c programmers know work in Swift but the coding language changes.
jdart
Posts: 4367
Joined: Fri Mar 10, 2006 5:23 am
Location: http://www.arasanchess.org

Re: Give it to us - we want Stockfish

Post by jdart »

I am not a lawyer but I have spent a fair amount of time in my software career dealing with licensing of various kinds and talking to lawyers about it.

If you distribute the executable for Stockfish you have to make the source code available, too. It is sufficient under GPL 3 to provide source access via a web link (see section 6 of the license).

As I understand it, too, if you do not link to Stockfish and do not modify it - you are only accessing it through its command interface - then your software that is using it is not a derivative work, in the sense of GPL, and you don't have the obligation to open-source the rest of your project.

Still, maybe you should get actual legal advice on this.

--Jon
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 »

I'm not trying to use Stockfish. I decided on Crafty, I mentioned i could still consider using Stockfish if there was a clear legal path. Perhaps i'd use two engines.

iOS apps have to package engine code and link to engine code in their app. iOS apps as far as i know cant really launch other apps through things like pipes like computer apps can. I did once see a program that opened another app but the engine was another download in the App store. You had to download both Apps. If you just download one app from the App store the engine is bundled into the apps and built into the executable and has to be linked in code. The technicalities of this were discussed back in 2014 in a thread in the programmers forum here http://www.talkchess.com/forum/viewtopic.php?t=53243

This is what made me wonder how Apps like Analyze this are not open source. Now having to comply with GPL also as I understand it depends on the Stockfish team/organization as well. i don't think third parties have standing to say you must comply with a license. I think its up to the stockfish team how they want to interpret their license and if they want to take any action. So perhaps that is what is going on.
Ras
Posts: 2488
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:It is sufficient under GPL 3 to provide source access via a web link (see section 6 of the license).
That's one part, but it isn't sufficient. You also have to provide build scripts AND installation manual. Only that you can't do that because iOS is a closed platform. No user can just install a modified version, and therefore you can't distribute GPLv3 software for iOS, at least not under GPLv3.

And you can't even distribute GPLv2 software because Apple denies the users from freely copying the programs, i.e. Apple has put up store conditions that are incompatible with GPLv2 and GPLv3.

The only legal way to get GPL'ed software on iOS is re-licencing it under another licence, which only the authors can do.
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 »

I mentioned in my first post that i found 5 chess sets i could use for my apps that are not open source. 3 are Monge chess sets and i stated they were used with his permission. They are also under LGPL. the lesser license. But even LGPL requires you be able to relink your own modified version. That I could not see possible with a signed at the time android app and certainly not with an iOS app. So i messaged him and explained the quandary and secured his permission before i could use them.
Ras
Posts: 2488
Joined: Tue Aug 30, 2016 8:19 pm
Full name: Rasmus Althoff

Re: Give it to us - we want Stockfish

Post by Ras »

adams161 wrote:That I could not see possible with a signed at the time android app
Oh, that's easy - under Android, you also can install things from SD card. Not only images, but even engines. "Chess for Android" does this, for example.