Stockfish GPLV3 in commercial apps
Author
Hi,
I've downloaded a recent android app called NCM - Next Chess Move and it states that it uses stockfish on the device. I've did some digging up and it seems it's true, it's calculating moves even when the internet is off,Being interested in chess and studies this in the past I though then , because of the licensing for Stockfish, the source code for this app must be public right ? And if that is the case, any way I could find the source code for this app ?The license for Stockfish is GPLv3.
Author
I'm interested in this since I've been toying with the idea of creating a closed source 3D chess game and would be so much better to use Stockfish locally than on a server. Can anyone point in the right direction, please ?
Advertisement
The author of NCM should be able to point you in the right direction
Note that GPL affects all software around it. If you combine it with other software, the other software then carries the GPL license as well.In other words you cannot leverage GPL software and wrap it in closed source without also publishing the code of the closed source.
It's tricky. There are ways to mix GPL and non-GPL software, but it needs a good lawyer who is comfortable with software generally and the nuance of the GPL specifically.It is tricky but possible to build up non-free tools and software that rely heavily on F/OSS systems, including GPL systems. For example, they might build a standalone chess engine and release the engine portions and interface under the terms of the GPL, and also have their UI and front-end that interfaces with it which they sell. There would need to be a clear, clean break between them, but it is possible to do and has been done on a few projects.I don't see them under an LGPL license, but those are similarly able to co-exist with proper lawyer involvement. Companies like EA have a page where they distribute the libraries with source and the implementation changes they made.
Author
Is it possible then to use Stockfish:
1. On a server and distribute the server code ?2. Build a binary framework, link to that and only distribute the binary framework if building an app with it ?
Advertisement
I am not a lawyer and cannot answer if any specific way is sufficient to avoid a lawsuit.The license is trying very hard to make it impossible to use the software in a non-free/open source context. If you want to do it anyway and be legally safe, talk to a lawyer.Alternatively, don't go there.
Yup, it's generally best to be 100% in or 100% out unless you have careful legal reviews by experienced lawyers. Working with GPL, release it all GPL and you are safe. Not touching anything with GPL, release it without source as a proprietary system and you are safe. It is possible to mix them, but only when you have lawyers involved asking difficult questions about the details. No lawyers, don't mix it.
GPL does not demand you reveal source code when the program is only interacted with over the internet. It only demands you publish the entire source code to the person whose machine it is running on, basically. Also, as soon as you use a GPL component in a project, the entire project needs to be GPL, but you may use sub-components in the parent project that are non-GPL. But the overall parent project must be under a GPL license.If you want a GPL license that also enforces the open-sourcing when interacted with over the network, choose AGPL. You can use GPL dependencies in an AGPL parent project, but you cannot use AGPL dependencies in a GPL parent project. There is also the LGPL which is a bit less ideologically strict.
#stockfish #gplv3 #commercial #apps
Stockfish GPLV3 in commercial apps
Author
Hi,
I've downloaded a recent android app called NCM - Next Chess Move and it states that it uses stockfish on the device. I've did some digging up and it seems it's true, it's calculating moves even when the internet is off,Being interested in chess and studies this in the past I though then , because of the licensing for Stockfish, the source code for this app must be public right ? And if that is the case, any way I could find the source code for this app ?The license for Stockfish is GPLv3.
Author
I'm interested in this since I've been toying with the idea of creating a closed source 3D chess game and would be so much better to use Stockfish locally than on a server. Can anyone point in the right direction, please ?
Advertisement
The author of NCM should be able to point you in the right direction
Note that GPL affects all software around it. If you combine it with other software, the other software then carries the GPL license as well.In other words you cannot leverage GPL software and wrap it in closed source without also publishing the code of the closed source.
It's tricky. There are ways to mix GPL and non-GPL software, but it needs a good lawyer who is comfortable with software generally and the nuance of the GPL specifically.It is tricky but possible to build up non-free tools and software that rely heavily on F/OSS systems, including GPL systems. For example, they might build a standalone chess engine and release the engine portions and interface under the terms of the GPL, and also have their UI and front-end that interfaces with it which they sell. There would need to be a clear, clean break between them, but it is possible to do and has been done on a few projects.I don't see them under an LGPL license, but those are similarly able to co-exist with proper lawyer involvement. Companies like EA have a page where they distribute the libraries with source and the implementation changes they made.
Author
Is it possible then to use Stockfish:
1. On a server and distribute the server code ?2. Build a binary framework, link to that and only distribute the binary framework if building an app with it ?
Advertisement
I am not a lawyer and cannot answer if any specific way is sufficient to avoid a lawsuit.The license is trying very hard to make it impossible to use the software in a non-free/open source context. If you want to do it anyway and be legally safe, talk to a lawyer.Alternatively, don't go there.
Yup, it's generally best to be 100% in or 100% out unless you have careful legal reviews by experienced lawyers. Working with GPL, release it all GPL and you are safe. Not touching anything with GPL, release it without source as a proprietary system and you are safe. It is possible to mix them, but only when you have lawyers involved asking difficult questions about the details. No lawyers, don't mix it.
GPL does not demand you reveal source code when the program is only interacted with over the internet. It only demands you publish the entire source code to the person whose machine it is running on, basically. Also, as soon as you use a GPL component in a project, the entire project needs to be GPL, but you may use sub-components in the parent project that are non-GPL. But the overall parent project must be under a GPL license.If you want a GPL license that also enforces the open-sourcing when interacted with over the network, choose AGPL. You can use GPL dependencies in an AGPL parent project, but you cannot use AGPL dependencies in a GPL parent project. There is also the LGPL which is a bit less ideologically strict.
#stockfish #gplv3 #commercial #apps