Are neural nets (the weights file) copyrightable?

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

Moderators: hgm, Rebel, chrisw

User avatar
towforce
Posts: 11588
Joined: Thu Mar 09, 2006 12:57 am
Location: Birmingham UK

Re: Are neural nets (the weights file) copyrightable?

Post by towforce »

Dann Corbit wrote: Wed Mar 03, 2021 11:45 amSometimes I wonder, "Why do I spend time and energy on chess when the audience is full of hate and bile, for no apparent reason?"
Does anyone have a good answer for me?

IMO, this thread is not "hate and bile" (I'll grant that some posts contain "contempt" for other posts, which, in an ideal world, wouldn't be there). The problem here is that this is an issue which:

1. looks easier than it actually is

2. like the famous "my wife and my mother in law" image below (the wife's chin is the mother in law's nose, and the wife's necklace is the mother in law's mouth), once you're trapped into seeing one point of view, it's not easy to see the other

Image

To answer your question, "Why do I spend time and energy on chess when the audience is full of hate and bile, for no apparent reason?", the simplest answer is "addiction". Loving (and hence dedicating a lot of time to) things that don't love you back is a common mistake: we should really "keep the main thing the main thing" - spend as much time as we can on things that give the most back to us.

However, I do suspect that you are getting more back from your dedication to computer chess than clicks from your dopamine reward system. If you want to investigate your dedication to computer chess further, maybe a five whys session could be a starting point.
Writing is the antidote to confusion.
It's not "how smart you are", it's "how are you smart".
Your brain doesn't work the way you want, so train it!
syzygy
Posts: 5566
Joined: Tue Feb 28, 2012 11:56 pm

Re: Are neural nets (the weights file) copyrightable?

Post by syzygy »

Michel wrote: Wed Mar 03, 2021 10:53 am My idea is that "the right to distribute something" is not something that is acquired once and then kept forever. You can lose the right to distribute something.

If you accept that FF2 is a covered work then the distribution of it is a violation of the GPL-3 license attached to SF. Hence you can no longer legally accept this GPL-3 licence. So you cannot distribute SF and hence you can also not distribute FF2.
OK, so you rely on:
8. Termination.

You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11).
and you argue that, if a zip file with SF and an NNUE net is indeed a "work based on SF" (and thus a covered work), and the zip file is distributed without the NNUE net being GPL'd (condition 5 c) as applied to the zip file as covered work), then - because of section 8 - there is no permission anymore to distribute the covered work SF under the conditions 5 a) to d).

In this case, the "aggregate" language still seems to be devoid of meaning:
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.
The zip file as covered work is not part of any aggregate or non-aggregate compilation.

What if I distribute SF together with a non-GPL engine in a zip file? I guess that would still be a "derived work", so this zip file as an "entire work" would have to be fully licensed under the GPLv3. But that is probably not the intention of the GPLv3. Whatever the drafters had in mind exactly, it seems they did not succeed in expressing it in words. Covered work, entire work, compilation/aggregate, the various concepts are all over the place and don't quite add up.

Even if the zip file with SF and the NNUE net is indeed a "covered work", there is still the counterargument that the GPLv3 on SF expressly allows me to distribute the zip file via "covered work = SF" even if it does not via "covered work = zip file". So I can attack your argument based on section 8 in the same way as you attack my argument based on section 5.
Michel
Posts: 2272
Joined: Mon Sep 29, 2008 1:50 am

Re: Are neural nets (the weights file) copyrightable?

Post by Michel »

syzygy wrote: Wed Mar 03, 2021 6:02 pm
Michel wrote: Wed Mar 03, 2021 10:53 am My idea is that "the right to distribute something" is not something that is acquired once and then kept forever. You can lose the right to distribute something.

If you accept that FF2 is a covered work then the distribution of it is a violation of the GPL-3 license attached to SF. Hence you can no longer legally accept this GPL-3 licence. So you cannot distribute SF and hence you can also not distribute FF2.
OK, so you rely on:
8. Termination.

You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11).
and you argue that, if a zip file with SF and an NNUE net is indeed a "work based on SF" (and thus a covered work), and the zip file is distributed without the NNUE net being GPL'd (condition 5 c) as applied to the zip file as covered work), then - because of section 8 - there is no permission anymore to distribute the covered work SF under the conditions 5 a) to d).
I think that by distributing a covered work not under the terms of the GPL-3 license attached to SF you simply lose _all rights_ on SF (and not just the rights on the covered work). Note that the text you quote talks about "a covered work". I would interpret this as "any covered work".

In this case, the "aggregate" language still seems to be devoid of meaning:
This I agree with. It seems that the aggregate clause is more a clarification than a clause as it has never any consequences. Its intended meaning seems to be to clarify that there are situations in which it is ok to distribute a GPL'ed program together with a non GPL'ed program. It is a bit like the use of the Dutch expression "Verboden toegang voor onbevoegden" which is a tautology and yet still conveys information. However the use of this type of expression in a formal license seems doubtful to me.
What if I distribute SF together with a non-GPL engine in a zip file? I guess that would still be a "derived work", so this zip file as an "entire work" would have to be fully licensed under the GPLv3. But that is probably not the intention of the GPLv3. Whatever the drafters had in mind exactly, it seems they did not succeed in expressing it in words. Covered work, entire work, compilation/aggregate, the various concepts are all over the place and don't quite add up.
Historically, as a practical method to recognize a covered work, the FSF has drawn the line at executing in the same address space. So two separate engines would not be a covered work. Neither would a GPL GUI bundled with non-GPL engine, or vice versa, be a covered work.

https://www.gnu.org/licenses/gpl-faq.ht ... ggregation

But executing in the same address space is an implementation detail (it assumes that the hardware has a MMU for example). It is not something one can put in the license itself

Even if the zip file with SF and the NNUE net is indeed a "covered work", there is still the counterargument that the GPLv3 on SF expressly allows me to distribute the zip file via "covered work = SF" even if it does not via "covered work = zip file". So I can attack your argument based on section 8 in the same way as you attack my argument based on section 5.
As I said, this I interpret differently. In my view SF by itself and FF2 are both covered works (so let's assume this for the sake of argument). Distributing SF by itself is fine. But if you distribute FF2 you lose all rights on SF. So you cannot say "yes but I really wanted to distribute FF2 as an aggregate containing SF"...
Ideas=science. Simplification=engineering.
Without ideas there is nothing to simplify.
syzygy
Posts: 5566
Joined: Tue Feb 28, 2012 11:56 pm

Re: Are neural nets (the weights file) copyrightable?

Post by syzygy »

Michel wrote: Thu Mar 04, 2021 7:34 am
syzygy wrote: Wed Mar 03, 2021 6:02 pm
Michel wrote: Wed Mar 03, 2021 10:53 am My idea is that "the right to distribute something" is not something that is acquired once and then kept forever. You can lose the right to distribute something.

If you accept that FF2 is a covered work then the distribution of it is a violation of the GPL-3 license attached to SF. Hence you can no longer legally accept this GPL-3 licence. So you cannot distribute SF and hence you can also not distribute FF2.
OK, so you rely on:
8. Termination.

You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11).
and you argue that, if a zip file with SF and an NNUE net is indeed a "work based on SF" (and thus a covered work), and the zip file is distributed without the NNUE net being GPL'd (condition 5 c) as applied to the zip file as covered work), then - because of section 8 - there is no permission anymore to distribute the covered work SF under the conditions 5 a) to d).
I think that by distributing a covered work not under the terms of the GPL-3 license attached to SF you simply lose _all rights_ on SF (and not just the rights on the covered work). Note that the text you quote talks about "a covered work". I would interpret this as "any covered work".
Yes, this is exactly how I understand your argument.

But the question then remains whether the GPLv3 indeed does not expressly allow distributing the zip file with SF and an NNUE net (where I would argue that this express permission is given by the GPLv3 on SF with covered work = SF).
In this case, the "aggregate" language still seems to be devoid of meaning:
This I agree with. It seems that the aggregate clause is more a clarification than a clause as it has never any consequences. Its intended meaning seems to be to clarify that there are situations in which it is ok to distribute a GPL'ed program together with a non GPL'ed program. It is a bit like the use of the Dutch expression "Verboden toegang voor onbevoegden" which is a tautology and yet still conveys information. However the use of this type of expression in a formal license seems doubtful to me.
I guess the section was intended as an attempt, which as far as I can tell has failed, to state that you are not allowed to distribute a covered work as part of a non-aggregate compilation with non-GPL'd works.
What if I distribute SF together with a non-GPL engine in a zip file? I guess that would still be a "derived work", so this zip file as an "entire work" would have to be fully licensed under the GPLv3. But that is probably not the intention of the GPLv3. Whatever the drafters had in mind exactly, it seems they did not succeed in expressing it in words. Covered work, entire work, compilation/aggregate, the various concepts are all over the place and don't quite add up.
Historically, as a practical method to recognize a covered work, the FSF has drawn the line at executing in the same address space. So two separate engines would not be a covered work. Neither would a GPL GUI bundled with non-GPL engine, or vice versa, be a covered work.

https://www.gnu.org/licenses/gpl-faq.ht ... ggregation

But executing in the same address space is an implementation detail (it assumes that the hardware has a MMU for example). It is not something one can put in the license itself
And so it remains very unclear what is allowed and what is not.
Even if the zip file with SF and the NNUE net is indeed a "covered work", there is still the counterargument that the GPLv3 on SF expressly allows me to distribute the zip file via "covered work = SF" even if it does not via "covered work = zip file". So I can attack your argument based on section 8 in the same way as you attack my argument based on section 5.
As I said, this I interpret differently. In my view SF by itself and FF2 are both covered works (so let's assume this for the sake of argument). Distributing SF by itself is fine. But if you distribute FF2 you lose all rights on SF. So you cannot say "yes but I really wanted to distribute FF2 as an aggregate containing SF"...
I am saying I have permission to distribute SF and therefore to distribute SF in a zip file with something else. Since this includes permission for distributing SF plus an NNUE net, I am not violating the license with covered work = SF + NNUE. (I am leaving out the FF2 now since there seems to be no relevant difference between FF2 SF + FF2 NNUE and regular SF + any NNUE. Except that probably most people would assume it is allowed to distribute standard SF13, which is specifially designed to load custom nets, together with a non-GPL'd custom net.)

I admit that a judge will not interpret the GPLv3 as if it were a mathematical formula. She will probably take into account what should have been understood by the licensee to have been the licensor's intent. Still, the precise intended scope isn't very clear and the language cannot be ignored. And I would say the licensee should be given the benefit of the doubt where the drafter of the GPLv3 has failed to make himself clear.