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: 11590
Joined: Thu Mar 09, 2006 12:57 am
Location: Birmingham UK

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

Post by towforce »

When you're talking about statically and dynamically linked programs, I'm guessing that you're not talking about the GPL? The GPL makes it clear that a library that runs in the same program would count as the same program. I made a separate thread to discuss the boundaries of this, and I think that to count as separate in a GPL sense, you'd either have to supply to library in a different bundle (maybe even from a different website), or you'd have to run the library as a separate program, connecting by a service mechanism (actual service, socket, command line etc), which would greatly impact performance, which would be harmful to a chess program..
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!
Fulvio
Posts: 395
Joined: Fri Aug 12, 2016 8:43 pm

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

Post by Fulvio »

Dann Corbit wrote: Tue Mar 02, 2021 5:33 am In fact, I think it to be an utterly absurd statement
Thank God.
I have no idea what you meant then:
Dann Corbit wrote: You don't need any permission if you supply the source. It says that very clearly in the license.
People are trying to manufacture a requirement for data that does not exist, so that they can find fault.
Fulvio wrote: Are you claming that the images of a GPL videogame are not part of the source?
Dann Corbit wrote: Yes, of course I am claiming that, assuming that the images are loaded into memory by the program.
Data is not source code.
User avatar
towforce
Posts: 11590
Joined: Thu Mar 09, 2006 12:57 am
Location: Birmingham UK

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

Post by towforce »

Fulvio wrote: Tue Mar 02, 2021 1:36 pmThank God. I have no idea what you meant then:

My take on that:

* they cannot sell the video game itself under a new license that removes public GPL rights

* if the new images are in the source code, then they must be given GPL rights

* if the images are loaded at run time from a database that's not part of the bundle, then they can retain the right to those images

This raises an interesting hypothetical: I think it might be possible to do the following:

* make a fork of SF that loads the NN weights from an external database at run time

* retain copyright rights (assuming, as I do, that NN weights can be copyrighted) on the NN weights

It looks, at first glance, as though this would work in terms of getting around the GPL. If it does, then a new version of the GPL might be needed, as this could potentially introduce a whole range of ways to bypass the GPL.
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!
gonzochess75
Posts: 208
Joined: Mon Dec 10, 2018 3:29 pm
Full name: Adam Treat

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

Post by gonzochess75 »

towforce wrote: Tue Mar 02, 2021 2:00 pm
Fulvio wrote: Tue Mar 02, 2021 1:36 pmThank God. I have no idea what you meant then:

My take on that:

* they cannot sell the video game itself under a new license that removes public GPL rights

* if the new images are in the source code, then they must be given GPL rights

* if the images are loaded at run time from a database that's not part of the bundle, then they can retain the right to those images

This raises an interesting hypothetical: I think it might be possible to do the following:

* make a fork of SF that loads the NN weights from an external database at run time

* retain copyright rights (assuming, as I do, that NN weights can be copyrighted) on the NN weights

It looks, at first glance, as though this would work in terms of getting around the GPL. If it does, then a new version of the GPL might be needed, as this could potentially introduce a whole range of ways to bypass the GPL.
Sigh. No that would not work. Why? The same language again and again: "...not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program..."

Your workarounds don't workaround that language.
Fulvio
Posts: 395
Joined: Fri Aug 12, 2016 8:43 pm

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

Post by Fulvio »

towforce wrote: Tue Mar 02, 2021 2:00 pm * retain copyright rights (assuming, as I do, that NN weights can be copyrighted) on the NN weights
No here you made a little confusion.
The author retains the copyright rights even if the work is distributed under the GPL. The most classic example is QT (https://www.qt.io/licensing/), which you can use in GPL software, but which you can also pay to use in your private software.
If ChessBase had only sold the FatFritz network separately, saying download Stockfish and change the UCI setting "EvalFile", no one would have had anything to say.
And the same is true if you create a patch for GPL software, as long as you distribute only the code that you wrote yourself, you can do it with your preferred license.
User avatar
towforce
Posts: 11590
Joined: Thu Mar 09, 2006 12:57 am
Location: Birmingham UK

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

Post by towforce »

gonzochess75 wrote: Tue Mar 02, 2021 2:17 pmSigh. No that would not work. Why? The same language again and again: "...not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program..."

Your workarounds don't workaround that language.

Apologies. Missed that before somehow, got it now.
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 »

towforce wrote: Tue Mar 02, 2021 11:01 am
syzygy wrote: Tue Mar 02, 2021 1:48 amYes, it is has been my position from the start that an NNUE net is free of copyright. In my view this would even be the case if its values were all handcrafted, because an NNUE net is not a perceivable creative expression.

You are saying that a work of art can be copyrighted, but a template used to help produce that art cannot. That's probably wrong IMO.
That is not what I am saying at all. A template certainly can be copyrighted if it exhibits creative expressions by its human author.

And how is an NNUE net a template?
syzygy
Posts: 5566
Joined: Tue Feb 28, 2012 11:56 pm

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

Post by syzygy »

towforce wrote: Tue Mar 02, 2021 11:07 amIn the quoted text I said that there are no precedents, and hence the actual law isn't known. The issue is that HGM is using lines of argument that can fairly be described as "stretched" or "convoluted". My opinion is that if you asked software developers who had no knowledge of this dispute whether a set of NN weights is an interpreted language, most would say "no". If you then asked whether a chess program should be defined as an interpreter for a set of NN weights, even more would say "no".
Are you actually unable to see where HGM is coming from when he states that an NNUE net is code interpreted by SF?

If one considers an NNUE net to be code, it seems difficult to argue that SF is not an interpreter of that code.

He also mentioned that data flow languages exist and that the NNUE "language" is essentially a data flow language.

You don't have to agree with everything HGM has said to at least acknowledge that his position is far from totally unreasonable.
User avatar
towforce
Posts: 11590
Joined: Thu Mar 09, 2006 12:57 am
Location: Birmingham UK

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

Post by towforce »

syzygy wrote: Tue Mar 02, 2021 4:27 pmThat is not what I am saying at all. A template certainly can be copyrighted if it exhibits creative expressions by its human author.

And how is an NNUE net a template?

Take a look at this curve ruler:

Image

It's not art (I've never seen one on sale at an art auction), but it's used to create art. I've no doubt that the first one of these sold was covered by copyright. If "creative expression" went into making it, then, I would argue, creative expression also went into creating a net: the process was set up by one or more humans.
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!
User avatar
towforce
Posts: 11590
Joined: Thu Mar 09, 2006 12:57 am
Location: Birmingham UK

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

Post by towforce »

syzygy wrote: Tue Mar 02, 2021 4:34 pm
towforce wrote: Tue Mar 02, 2021 11:07 amIn the quoted text I said that there are no precedents, and hence the actual law isn't known. The issue is that HGM is using lines of argument that can fairly be described as "stretched" or "convoluted". My opinion is that if you asked software developers who had no knowledge of this dispute whether a set of NN weights is an interpreted language, most would say "no". If you then asked whether a chess program should be defined as an interpreter for a set of NN weights, even more would say "no".
Are you actually unable to see where HGM is coming from when he states that an NNUE net is code interpreted by SF?

If one considers an NNUE net to be code, it seems difficult to argue that SF is not an interpreter of that code.

He also mentioned that data flow languages exist and that the NNUE "language" is essentially a data flow language.

You don't have to agree with everything HGM has said to at least acknowledge that his position is far from totally unreasonable.

I would argue that NN weights are software, but not code. The code is the stuff that decides what to do with these numbers. They're data, but they're data that's needed to make the code run correctly, so they're part of the software. They're data that's part of the program itself (as opposed to a customer list in a CRM for example).

I agree that it's possible to see things as you describe them in the quoted text above, but I call it a "stretch" because it's being pulled into a shape that isn't normally used: when people talk about interpreters and interpreted languages, this isn't usually the meaning they intend to convey.

Think about a column on numbers in a spreadsheet which will be summed to a total: are those numbers "interpreted code"? You could make that case, but it would be a big stretch IMO.
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!