Calling All Armchair GPL Lawyers

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

Moderators: hgm, Dann Corbit, Harvey Williamson

Forum rules
This textbox is used to restore diagrams posted with the [d] tag before the upgrade.
unserializable
Posts: 63
Joined: Sat Oct 24, 2020 4:39 pm
Full name: Taimo Peelo

Re: Calling All Armchair GPL Lawyers

Post by unserializable » Fri Feb 12, 2021 9:26 pm

Fulvio wrote:
Fri Feb 12, 2021 9: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: 244
Joined: Fri Aug 12, 2016 6:43 pm

Re: Calling All Armchair GPL Lawyers

Post by Fulvio » Fri Feb 12, 2021 9:36 pm

unserializable wrote:
Fri Feb 12, 2021 9: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: 901
Joined: Tue Aug 21, 2018 5:52 pm
Full name: Dietrich Kappe

Re: Calling All Armchair GPL Lawyers

Post by dkappe » Fri Feb 12, 2021 9:45 pm

F. Bluemers wrote:
Fri Feb 12, 2021 8: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.

User avatar
hgm
Posts: 26134
Joined: Fri Mar 10, 2006 9:06 am
Location: Amsterdam
Full name: H G Muller
Contact:

Re: Calling All Armchair GPL Lawyers

Post by hgm » Fri Feb 12, 2021 11:16 pm

[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: 1681
Joined: Wed Mar 10, 2010 9:18 pm
Location: Hamburg, Germany
Full name: Srdja Matovic
Contact:

Re: Calling All Armchair GPL Lawyers

Post by smatovic » Sat Feb 13, 2021 6:50 am

hgm wrote:
Fri Feb 12, 2021 11:16 pm
...
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:
Fri Feb 12, 2021 11:16 pm
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: 1681
Joined: Wed Mar 10, 2010 9:18 pm
Location: Hamburg, Germany
Full name: Srdja Matovic
Contact:

Re: Calling All Armchair GPL Lawyers

Post by smatovic » Sat Feb 13, 2021 8:06 am

smatovic wrote:
Sat Feb 13, 2021 6:50 am
hgm wrote:
Fri Feb 12, 2021 11:16 pm
...
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:
Fri Feb 12, 2021 11:16 pm
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: 244
Joined: Fri Aug 12, 2016 6:43 pm

Re: Calling All Armchair GPL Lawyers

Post by Fulvio » Sat Feb 13, 2021 9:00 am

hgm wrote:
Fri Feb 12, 2021 11:16 pm
I 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: 228
Joined: Mon May 14, 2007 6:20 pm
Full name: Boban Stanojević

Re: Calling All Armchair GPL Lawyers

Post by matejst » Sat Feb 13, 2021 10:28 am

AndrewGrant wrote:
Fri Feb 12, 2021 8: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: 12162
Joined: Wed Mar 08, 2006 7:57 pm
Location: Redmond, WA USA
Contact:

Re: Calling All Armchair GPL Lawyers

Post by Dann Corbit » Sat Feb 13, 2021 10:29 am

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.

pohl4711
Posts: 1547
Joined: Sat Sep 03, 2011 5:25 am
Location: Berlin, Germany
Contact:

Re: Calling All Armchair GPL Lawyers

Post by pohl4711 » Sat Feb 13, 2021 10:58 am

Fulvio wrote:
Fri Feb 12, 2021 9: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.

Post Reply