Calling All Armchair GPL Lawyers

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

Moderators: hgm, Rebel, chrisw

unserializable
Posts: 64
Joined: Sat Oct 24, 2020 6:39 pm
Full name: Taimo Peelo

Re: Calling All Armchair GPL Lawyers

Post by unserializable »

Fulvio wrote: Fri Feb 12, 2021 10:14 pm 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."
Hi Fulvio, you are overlooking aggregates that directly follow the section that you quoted -- aggregates need not consist of GPLv3 items only:
GPLv3 #5. Conveying Modified Source Versions. wrote: ...
A compilation of a covered work with other separate and independent
works, which are not by their nature extensions of the covered work,
and which are not combined with it such as to form a larger program,
in or on a volume of a storage or distribution medium, is called an
"aggregate" if the compilation and its resulting copyright are not
used to limit the access or legal rights of the compilation's users
beyond what the individual works permit. Inclusion of a covered work
in an aggregate does not cause this License to apply to the other
parts of the aggregate.
...
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
Fulvio
Posts: 395
Joined: Fri Aug 12, 2016 8:43 pm

Re: Calling All Armchair GPL Lawyers

Post by Fulvio »

unserializable wrote: Fri Feb 12, 2021 10:26 pm A compilation of a covered work with other separate and independent
works, which are not by their nature extensions of the covered work
Hi,
obviously the nets are not "separate and independent works".
That section apply for example to the Fritz GUI: even if it is distributed alongside a GPL3 program it can have a different license.
dkappe
Posts: 1631
Joined: Tue Aug 21, 2018 7:52 pm
Full name: Dietrich Kappe

Re: Calling All Armchair GPL Lawyers

Post by dkappe »

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.
So maybe these could still be covered by GPL??
Best
This is a frequent question in other domains where pretrained models are used: can the pretrained model be copyrighted and/or licensed? I’d say the question isn’t fully settled, but the model protection train is already running, with piracy resistant model watermarking being an active area of research and commerce.
Fat Titz by Stockfish, the engine with the bodaciously big net. Remember: size matters. If you want to learn more about this engine just google for "Fat Titz".
User avatar
hgm
Posts: 27790
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

Re: Calling All Armchair GPL Lawyers

Post by hgm »

[Moderation] As I interpret this as a general question on NN-using engines, to which the FF2 case just serves as a real-life example, I see no need to move it to the Engine Origins section. Other moderators are welcome to do so if they object to the thread.

My own 2 cents:

I am not really acquainted with the FF2 case, but from what I read here I gather that FF2 is a Stockfish version, perhaps slightly modified, using a 'private' NNUE. Where the sources of this modified version are available on-line. I agree with unserializable that the NNUE is data, and that the GPL does not extend to it. An interpreter of a programming language is a good analogy, even if we want to maintain that a NN is a program. Stockfish is just a 'NNUE interpreter'.

It also seems to me that there is no such thing as the 'source code' of a NN, so that the GPL cannot be applied to it (e.g. if I would want to extend an existing net, e.g. embed it into a larger one).

If there is a violation here, it would be the omission of the GPL licence text with the product, but I think this is a very minor one. When the source code is not included in the distribution, but available on line, no one that receives the package can actually make derivatives, so the conditions under which they could are completely irrelevant to them.
smatovic
Posts: 2645
Joined: Wed Mar 10, 2010 10:18 pm
Location: Hamburg, Germany
Full name: Srdja Matovic

Re: Calling All Armchair GPL Lawyers

Post by smatovic »

hgm wrote: Sat Feb 13, 2021 12:16 am ...
My own 2 cents:

I am not really acquainted with the FF2 case, but from what I read here I gather that FF2 is a Stockfish version, perhaps slightly modified, using a 'private' NNUE. Where the sources of this modified version are available on-line. I agree with unserializable that the NNUE is data, and that the GPL does not extend to it. An interpreter of a programming language is a good analogy, even if we want to maintain that a NN is a program. Stockfish is just a 'NNUE interpreter'.
I doubt that is is that easy, a audio player is also just an interpreter, and music data, but in this case the music is copyright protected and you won't ship a open-source GPL audio player with non-GPL copyright protected music in its binary, would you? If NNs are in general copyright protectable is questionable on mutliple level, but I guess in this case we have to assume that Chessbase's NNs are copyright protected unless the jurisdiction says otherwise...
hgm wrote: Sat Feb 13, 2021 12:16 am It also seems to me that there is no such thing as the 'source code' of a NN, so that the GPL cannot be applied to it (e.g. if I would want to extend an existing net, e.g. embed it into a larger one).

If there is a violation here, it would be the omission of the GPL licence text with the product, but I think this is a very minor one. When the source code is not included in the distribution, but available on line, no one that receives the package can actually make derivatives, so the conditions under which they could are completely irrelevant to them.
smatovic
Posts: 2645
Joined: Wed Mar 10, 2010 10:18 pm
Location: Hamburg, Germany
Full name: Srdja Matovic

Re: Calling All Armchair GPL Lawyers

Post by smatovic »

smatovic wrote: Sat Feb 13, 2021 7:50 am
hgm wrote: Sat Feb 13, 2021 12:16 am ...
My own 2 cents:

I am not really acquainted with the FF2 case, but from what I read here I gather that FF2 is a Stockfish version, perhaps slightly modified, using a 'private' NNUE. Where the sources of this modified version are available on-line. I agree with unserializable that the NNUE is data, and that the GPL does not extend to it. An interpreter of a programming language is a good analogy, even if we want to maintain that a NN is a program. Stockfish is just a 'NNUE interpreter'.
I doubt that is is that easy, a audio player is also just an interpreter, and music data, but in this case the music is copyright protected and you won't ship a open-source GPL audio player with non-GPL copyright protected music in its binary, would you? If NNs are in general copyright protectable is questionable on mutliple level, but I guess in this case we have to assume that Chessbase's NNs are copyright protected unless the jurisdiction says otherwise...
hgm wrote: Sat Feb 13, 2021 12:16 am It also seems to me that there is no such thing as the 'source code' of a NN, so that the GPL cannot be applied to it (e.g. if I would want to extend an existing net, e.g. embed it into a larger one).

If there is a violation here, it would be the omission of the GPL licence text with the product, but I think this is a very minor one. When the source code is not included in the distribution, but available on line, no one that receives the package can actually make derivatives, so the conditions under which they could are completely irrelevant to them.
Followup, rereading the posts I realize you mean distributing the net as data as separate file and not in the binary, so feel free to ignore my answer.

--
Srdja
Fulvio
Posts: 395
Joined: Fri Aug 12, 2016 8:43 pm

Re: Calling All Armchair GPL Lawyers

Post by Fulvio »

hgm wrote: Sat Feb 13, 2021 12:16 amI agree with unserializable that the NNUE is data
Doesn't matter: "This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts".
It is distributed as a part of a GPL program, therefore it is covered by GPL.
I already posted the link to how BusyBox litigated and get compensated for those type of violations.
And now the companies are providing all the code, including the .bin files (for example https://www.tp-link.com/us/support/gpl-code/ )

Chessbase could try to distribute only the "improved" NNUE under a different license, but is not clear if that would be enforceable.
However, their main selling point is ease of use. They offer a complete package with a GUI, a strong engine and a small database all pre-configured and easy to install. It is certainly an added value for which many customers willingly pay.
What I find disconcerting is the abrasive personality of the people involved in those interviews and articles; the other time it generated resentment in the lc0 community and is now on the same path with the Stockfish' one.
It also seems bad marketing, they could simply advertise it as "an improved Stockfish, highly tested and with an optimized evaluation system tuned analyzing million of games..."
matejst
Posts: 364
Joined: Mon May 14, 2007 8:20 pm
Full name: Boban Stanojević

Re: Calling All Armchair GPL Lawyers

Post by matejst »

AndrewGrant wrote: Fri Feb 12, 2021 9:03 pm 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.
Aside from these conversations, I support you in the idea of making a commercial version of Ethereal. I am sure that you will be able to improve it greatly to the point it would be close (and probably, at times, better) to SF, and, with some luck, the association with a company providing a good interface, you could earn some well deserved money.
Dann Corbit
Posts: 12538
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: Calling All Armchair GPL Lawyers

Post by Dann Corbit »

The github project has both the code and the data.
I don't understand the fuss over code verses data here.

I also think that the data is probably not copyrightable.
But I am not absolutely positive about that,
It is conceivable that enough creative process went into the production of the data that it is more like a story than numbers.
Taking ideas is not a vice, it is a virtue. We have another word for this. It is called learning.
But sharing ideas is an even greater virtue. We have another word for this. It is called teaching.
User avatar
pohl4711
Posts: 2434
Joined: Sat Sep 03, 2011 7:25 am
Location: Berlin, Germany
Full name: Stefan Pohl

Re: Calling All Armchair GPL Lawyers

Post by pohl4711 »

Fulvio wrote: Fri Feb 12, 2021 10:14 pm
4) Yes, and they also need to clearly state that it is a stockfish derivate
A.Silver told me, that the FF2 Binary is Stockfish 210111. Only changes are the modifications, which are needed to use the bigger FF2-nnue net. Since the update1 the Contempt was set to 24, again, which is default of all Stockfishes.

All what makes FF2 unique is the bigger nnue net, built out of Fat Fritz 1 evals (=Lc0 with FF1-net (FF1-net was built out of human-games and selfplay))
Nothing more, nothing less.