So the FF2 thread devolved into 10 different interpretations of how one could provide a binary of a GPL engine with an NNUE network, and still violate (in their view) the right's of the GPL'ed programs authors. In this thread, I ask each individual what they feel is an appropriate way to offer a private Network which is intended to run inside a slightly modified GPL engine. IE, what could Fat Fritz 2 have done such that there would be no doubt in your mind that all license obligations were followed, even if the entire concept was lame.
My view:
1) Fat Fritz does not need to post the code for their modifications online
2) Fat Fritz needs to provide the Network as a second file, read in using the usual UCI commands
3) Fat Fritz needs to provide the source to any customer (someone whom they have shared the binary with) who made a request
4) Fat Fritz needs to include a copy of the GPLv3 alongside their (download?) to inform customer's of their rights.
Calling All Armchair GPL Lawyers
Moderators: hgm, Rebel, chrisw
-
- Posts: 1756
- Joined: Tue Apr 19, 2016 6:08 am
- Location: U.S.A
- Full name: Andrew Grant
Calling All Armchair GPL Lawyers
#WeAreAllDraude #JusticeForDraude #RememberDraude #LeptirBigUltra
"Those who can't do, clone instead" - Eduard ( A real life friend, not this forum's Eduard )
"Those who can't do, clone instead" - Eduard ( A real life friend, not this forum's Eduard )
-
- Posts: 447
- Joined: Mon Jun 07, 2010 3:13 am
- Location: Holland, MI
- Full name: Martin W
Re: Calling All Armchair GPL Lawyers
FF2 is of dubious legal status and related topics and discussions should be moved to Engine Origins.AndrewGrant wrote: ↑Fri Feb 12, 2021 8:17 pm So the FF2 thread devolved into 10 different interpretations of how one could provide a binary of a GPL engine with an NNUE network, and still violate (in their view) the right's of the GPL'ed programs authors. In this thread, I ask each individual what they feel is an appropriate way to offer a private Network which is intended to run inside a slightly modified GPL engine. IE, what could Fat Fritz 2 have done such that there would be no doubt in your mind that all license obligations were followed, even if the entire concept was lame.
My view:
1) Fat Fritz does not need to post the code for their modifications online
2) Fat Fritz needs to provide the Network as a second file, read in using the usual UCI commands
3) Fat Fritz needs to provide the source to any customer (someone whom they have shared the binary with) who made a request
4) Fat Fritz needs to include a copy of the GPLv3 alongside their (download?) to inform customer's of their rights.
-
- Posts: 1242
- Joined: Sat Jul 05, 2014 7:54 am
- Location: Southwest USA
Re: Calling All Armchair GPL Lawyers
Agreed.......100%....Well Said !!gaard wrote: ↑Fri Feb 12, 2021 8:31 pmFF2 is of dubious legal status and related topics and discussions should be moved to Engine Origins.AndrewGrant wrote: ↑Fri Feb 12, 2021 8:17 pm So the FF2 thread devolved into 10 different interpretations of how one could provide a binary of a GPL engine with an NNUE network, and still violate (in their view) the right's of the GPL'ed programs authors. In this thread, I ask each individual what they feel is an appropriate way to offer a private Network which is intended to run inside a slightly modified GPL engine. IE, what could Fat Fritz 2 have done such that there would be no doubt in your mind that all license obligations were followed, even if the entire concept was lame.
My view:
1) Fat Fritz does not need to post the code for their modifications online
2) Fat Fritz needs to provide the Network as a second file, read in using the usual UCI commands
3) Fat Fritz needs to provide the source to any customer (someone whom they have shared the binary with) who made a request
4) Fat Fritz needs to include a copy of the GPLv3 alongside their (download?) to inform customer's of their rights.
-
- Posts: 868
- Joined: Thu Mar 09, 2006 11:21 pm
- Location: Nederland
Re: Calling All Armchair GPL Lawyers
I always felt "Engine Origines" was meant for discussing when the origine/status of an engine was questioned.to be discussed and/or investigated.gaard wrote: ↑Fri Feb 12, 2021 8:31 pmFF2 is of dubious legal status and related topics and discussions should be moved to Engine Origins.AndrewGrant wrote: ↑Fri Feb 12, 2021 8:17 pm So the FF2 thread devolved into 10 different interpretations of how one could provide a binary of a GPL engine with an NNUE network, and still violate (in their view) the right's of the GPL'ed programs authors. In this thread, I ask each individual what they feel is an appropriate way to offer a private Network which is intended to run inside a slightly modified GPL engine. IE, what could Fat Fritz 2 have done such that there would be no doubt in your mind that all license obligations were followed, even if the entire concept was lame.
My view:
1) Fat Fritz does not need to post the code for their modifications online
2) Fat Fritz needs to provide the Network as a second file, read in using the usual UCI commands
3) Fat Fritz needs to provide the source to any customer (someone whom they have shared the binary with) who made a request
4) Fat Fritz needs to include a copy of the GPLv3 alongside their (download?) to inform customer's of their rights.
That is surely not the case here.
Best
-
- Posts: 1756
- Joined: Tue Apr 19, 2016 6:08 am
- Location: U.S.A
- Full name: Andrew Grant
Re: Calling All Armchair GPL Lawyers
I was trying to get a conversation going about what future people should do, in the eyes of the people, not about what FF2 in particular. I should have made that more clear. Mods are welcome to axe this thread, or move it elsewhere, since it just looks like a duplicate of the already existing conversation.
Namely, I've been working on some strong NNUE nets for a few months with all original efforts, and many have urged me to sell a pro version of future Ethereals with the NNUE nets being paid for. I would want to do it in a way that most people agree is up to code, even if there is no chance of someone coming after me for the code I actually own.
Namely, I've been working on some strong NNUE nets for a few months with all original efforts, and many have urged me to sell a pro version of future Ethereals with the NNUE nets being paid for. I would want to do it in a way that most people agree is up to code, even if there is no chance of someone coming after me for the code I actually own.
#WeAreAllDraude #JusticeForDraude #RememberDraude #LeptirBigUltra
"Those who can't do, clone instead" - Eduard ( A real life friend, not this forum's Eduard )
"Those who can't do, clone instead" - Eduard ( A real life friend, not this forum's Eduard )
-
- Posts: 64
- Joined: Sat Oct 24, 2020 6:39 pm
- Full name: Taimo Peelo
Re: Calling All Armchair GPL Lawyers
As an armchair non-lawyer who in the at past has had some involvement in selecting licenses for open-source projects, I also interpret that 3 and 4 must be done according to GPLvN. (EDIT: and 1) does not need to be done))AndrewGrant wrote: ↑Fri Feb 12, 2021 8:17 pm My view:
1) Fat Fritz does not need to post the code for their modifications online
2) Fat Fritz needs to provide the Network as a second file, read in using the usual UCI commands
3) Fat Fritz needs to provide the source to any customer (someone whom they have shared the binary with) who made a request
4) Fat Fritz needs to include a copy of the GPLv3 alongside their (download?) to inform customer's of their rights.
The 1) does not seem to hold as absolute, it is possible to comply with license conditions on select medium, e.g. mailing DVD, if they want to, and they would not need to make the source /publicly/ available online, they can just limit this to their customers who want it -- who in turn are of course free to distribute code further freely, online or otherwise, as guaranteed by license.
The 2) also does not seem to hold, because network can be considered their work / plug-in / neural database and as far as I understand is altogether separate data file which is not embedded in the binary.
To illustrate this understanding of 2):
Keeping code and data/artwork separate is necessarily common for open-source clones of commercial game engines that work with original files / artwork, where the engine authors themselves do not have authority to distribute the game files / artwork -- those who have the data files from original media can use them however to play games with the engine. First and most famous example of such open-source engines is Doom, which open-source binaries only become functional for true gaming game if either custom or original WAD files are dropped in.
Or consider simple GPL-licensed screensaver program, that works with reading and displaying different image files and is essentially non-functional when no image files are present (blank screen at most). If someone were to create a distribution of the that screensaver together with their own created images and sell it, the image files remain original artwork and would not be 'virally infected' with GPL.
Monchester 1.0, chess engine playing at scholastic level: https://github.com/unserializable/monchester ("Daddy, it is gonna take your horsie!")
Tickle Monchester at: https://lichess.org/@/monchester
Tickle Monchester at: https://lichess.org/@/monchester
-
- Posts: 868
- Joined: Thu Mar 09, 2006 11:21 pm
- Location: Nederland
Re: Calling All Armchair GPL Lawyers
Well,I saw no need to move the ff2 threads to "Engine Origines".That is why I responded.AndrewGrant wrote: ↑Fri Feb 12, 2021 9:03 pm I was trying to get a conversation going about what future people should do, in the eyes of the people, not about what FF2 in particular. I should have made that more clear. Mods are welcome to axe this thread, or move it elsewhere, since it just looks like a duplicate of the already existing conversation.
Namely, I've been working on some strong NNUE nets for a few months with all original efforts, and many have urged me to sell a pro version of future Ethereals with the NNUE nets being paid for. I would want to do it in a way that most people agree is up to code, even if there is no chance of someone coming after me for the code I actually own.
W.r.t. NN(UE) nets I wonder if these are just data or could be compared to state-machines for instance .
So maybe the distinction between NN(UE) as pure data or instruction is not so clear.
So maybe these could still be covered by GPL??
Best
-
- Posts: 64
- Joined: Sat Oct 24, 2020 6:39 pm
- Full name: Taimo Peelo
Re: Calling All Armchair GPL Lawyers
State-machine is often data, for example regular expressions are (finite) state machines that need an engine for interpreting them (transitioning between states while matching against data). I do not think this viewpoint change has real repercussions.F. Bluemers wrote: ↑Fri Feb 12, 2021 9:25 pm W.r.t. NN(UE) nets I wonder if these are just data or could be compared to state-machines for instance .
So maybe the distinction between NN(UE) as pure data or instruction is not so clear.
But consider something more complex than state machine -- a program in Turing complete programming language that main engine can interpret, spawn and communicate with, according to predefined protocol (this would be plugin-like behaviour). In that case there are clearly /instructions/ present in data/program file, but at the same time there are also two different programs (engine / plugin), which as such can be licensed under different licenses, if so chosen.
Monchester 1.0, chess engine playing at scholastic level: https://github.com/unserializable/monchester ("Daddy, it is gonna take your horsie!")
Tickle Monchester at: https://lichess.org/@/monchester
Tickle Monchester at: https://lichess.org/@/monchester
-
- Posts: 395
- Joined: Fri Aug 12, 2016 8:43 pm
Re: Calling All Armchair GPL Lawyers
1) I think it is pretty clear that they need to provide the code:AndrewGrant wrote: ↑Fri Feb 12, 2021 8:17 pm So the FF2 thread devolved into 10 different interpretations of how one could provide a binary of a GPL engine with an NNUE network, and still violate (in their view) the right's of the GPL'ed programs authors. In this thread, I ask each individual what they feel is an appropriate way to offer a private Network which is intended to run inside a slightly modified GPL engine. IE, what could Fat Fritz 2 have done such that there would be no doubt in your mind that all license obligations were followed, even if the entire concept was lame.
My view:
1) Fat Fritz does not need to post the code for their modifications online
2) Fat Fritz needs to provide the Network as a second file, read in using the usual UCI commands
3) Fat Fritz needs to provide the source to any customer (someone whom they have shared the binary with) who made a request
4) Fat Fritz needs to include a copy of the GPLv3 alongside their (download?) to inform customer's of their rights.
https://en.wikipedia.org/wiki/BusyBox#GPL_lawsuits
and they did it:
https://github.com/DanielUranga/Stockfish/tree/ff2
2) This is also pretty clear, how the parts are packaged doesn't matter.: "You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable Section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged."
3) This is related to 1). I don't think that being a customer or having the binary makes any difference.
4) Yes, and they also need to clearly state that it is a stockfish derivate
-
- Posts: 868
- Joined: Thu Mar 09, 2006 11:21 pm
- Location: Nederland
Re: Calling All Armchair GPL Lawyers
Yes I was also thinking in the direction of f.i. python/lsp program running in an interpreter.(is the interpreter the (chess playing) program and the code it is running just data?)unserializable wrote: ↑Fri Feb 12, 2021 10:07 pmState-machine is often data, for example regular expressions are (finite) state machines that need an engine for interpreting them (transitioning between states while matching against data). I do not think this viewpoint change has real repercussions.F. Bluemers wrote: ↑Fri Feb 12, 2021 9:25 pm W.r.t. NN(UE) nets I wonder if these are just data or could be compared to state-machines for instance .
So maybe the distinction between NN(UE) as pure data or instruction is not so clear.
But consider something more complex than state machine -- a program in Turing complete programming language that main engine can interpret, spawn and communicate with, according to predefined protocol (this would be plugin-like behaviour). In that case there are clearly /instructions/ present in data/program file, but at the same time there are also two different programs (engine / plugin), which as such can be licensed under different licenses, if so chosen.
All this might not make much impression of a judge tough
Anyway an NN(UE) feels to me very different from a mere pst table or so.
Best