Tord Romstad wrote:andrejcher wrote:To SF team: what is your decision?
I've been slow to reply, because I think it is a very difficult question. I really don't know what to think, and I feel quite uncomfortable about the situation.
In principle, I fully share Miguel's view. There is little point in using a GPL license if we arbitrarily grant exceptions to the license to everybody who asks politely. I also share Joona's concern that we will see a growing list of proprietary Stockfish derivatives and requests for exceptions to the license, and that just replying to the requests and reviewing the code of everything will get a nightmare. The two projects mentioned in this thread won't be the last ones. It is possible to make lots of money from selling chess programs for iOS (and no doubt Android as well), and programmers are only just beginning to discover this.
On the other hand, it doesn't feel right to punish those who are honest and actually ask, rather than just using the code illegally (which will almost certainly happen sooner or later, and may already have happened). If we're too restrictive in what we allow, there is a risk that more people use the illegal approach.
I also think of those who try to bring their own, completely original programs to iOS or Android. As Andriy pointed out himself previously in this thread, writing a chess engine from scratch takes a considerable amount of work. By using Stockfish as the starting point, someone working on an iOS chess app gets a huge competitive advantage for free compared to someone who starts from scratch. And this competitive advantage may matter a lot, because there is potentially a significant amount of money to earn. I fear that the free iOS Stockfish is already hurting the sales of commercial programs somewhat, and this problem will obviously get worse with a growing number of Stockfish-derivatives. The question, therefore, is the following: Is having to publish your source code under the GPL really an unreasonably high price to pay for this competitive advantage? After all, you can still charge for your program, and because there is no easy way for ordinary users to install it other than buying it from the App Store anyway, the public availability of the source code shouldn't hurt the sales much, if at all.
At the moment, although I see strong arguments both for and against, I lean mostly towards not allowing such exceptions to Stockfish's GPL. But I am still very much in doubt, and depending on how the current discussion develops, I may still change my mind.
Thanks for posting your concerns.
My project is a multi-platform project, it will be ported to Android and PCs. If I used Stockfish as the engine, I would definitely distributre it as an unmodified binary and therefore I wouldn't need a GPL licensing exception. It's only iOS that an exception would be needed. Stockfish had always been started as an open source project, but not everybody would like to do that. I had only spent about an hour in porting Stockfish to the project, but months in the interface and architecture. I am happy to open source the engine portion of the project or even write an article to educate the newcomers how to integrate an open source chess engine in iOS. I would explicitly state that the engine is a product of the Stockfish team and provide a link to their website. However, releasing the source for the entire project is not considerate.
The point of GPL is to encourage development with the source code available. The ultimiate goal is to benefit the community. Stockfish could play a major role, a new chess app that uses Stockfish will benefit users and increase product awareness (Stockfish, not the app itself). The reason I can't release the interface source is that it's too easy to redistribute it on AppStore. For example, the official iOS Stockfish has been cloned for a number of times, there's still a clone ChessChamp on AppStore. Last time, I emailed the author (Amy Faulkner) for a copy of the source, I received no reply. Even a tutorial could be cloned, eg:
http://icodeblog.com/2009/07/08/look-familiar/.
I personally don't believe chess apps would make a lots of money. How many iPhone users play chess? A simple custom designed game would make much more money than a chess app. iPhone users generally prefer simple and fun game, this is not what chess is for. I develop a chess app because I am a chess player.
Honestly, anyone could use Stockfish illegally and it is very difficult to detect. When I was scratching my head on which engine to use, I saw a post by Tord Romstad in 2008. In the post, there was an illegal clone but Tord stated that the GPL license wasn't violated because the changes were "trivial". That's why I decided to use Stockfish for at least testing and waited until the product is stable later the year then asked the SF team for approval. I could have kept silent and I don't think anybody would notice especially if I twisted the evaluation code. It's likely that someone has already integrated Stockfish and distribute it.
What I suggest is, the product would be examined by the SF team before initial release. Subsequent releases need no notification to the team unless the source of the engine is modified (for example, from Stockfish 2.0 to 2.1). The team could request a copy of the source if in doubt. There would be a statement in the app and website that the engine is a product of the team and they are not involved in the project. Of course, there would be a link to the Stockfish website. This way, we benefit the community and nobody's inbox would be spammed.