Are neural nets (the weights file) copyrightable?

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

Moderators: hgm, Rebel, chrisw

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 »

Michel wrote: Thu Feb 25, 2021 5:30 pm So it seems that according to the FAQ a GPLed program cannot use a non GPLed library

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

So Stockfish would not be allowed to use the non GPLed evaluation dll (at least under the generally accepted interpretation of the GPL you could not distribute SF with the non GPLed library, privately you can use SF however you want).

Now it would be nice if the FSF explained how their claims in the FAQ are actually derived from the text of the GPL3.
I think you need to read this part of the sentence in the license most carefully, "...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..."

Here it is in pseudo code for you:

Code: Select all

bool can_copy_sf = false; // The default is you can't copy

if (!by_nature_extension_of_sf(dll) && !not_combined_with_sf_for_larger_program(dll)) {
    dll = mere_aggregate
} else {
    dll = combined_work
}

bool complies_with_gpl = mere_aggregate ? true : is_gpl_compliant_license(dll);

if (complies_with_gpl)
    can_copy_sf = true;
If can_copy_sf evaluates to false you can still copy and distribute - or allow others to copy and distribute - the dll however you like. After all, that is *your* dll. But if you want to copy SF, then you must have 'can_copy_sf' evaluate to true otherwise you have no right to do so.
Michel
Posts: 2272
Joined: Mon Sep 29, 2008 1:50 am

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

Post by Michel »

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.
As I read it the italic part is the definition of an aggregate. Then the last sentence says that the GPL is not viral on an aggregate. You cannot invert this.
Ideas=science. Simplification=engineering.
Without ideas there is nothing to simplify.
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 »

Michel wrote: Thu Feb 25, 2021 5:50 pm
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.
As I read it the italic part is the definition of an aggregate. Then the last sentence says that the GPL is not viral on an aggregate. You cannot invert this.
Right. And the non-GPL'd dll in the hypothetical does not meet the definition of an aggregate. In pseudo code:

Code: Select all

!by_nature_extension_of_sf(dll) && !combined_with_sf_for_larger_program(dll)
Will evaluate to false.
Last edited by gonzochess75 on Thu Feb 25, 2021 6:19 pm, edited 2 times in total.
Gian-Carlo Pascutto
Posts: 1243
Joined: Sat Dec 13, 2008 7:00 pm

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

Post by Gian-Carlo Pascutto »

Michel wrote: Thu Feb 25, 2021 5:30 pm So it seems that according to the FAQ a GPLed program cannot use a non GPL compatible library
It can use it, but you can't distribute it.

An example is using ffmpeg with libfdk_aac and x264. You can compile this yourself but you won't find any binary compile with this combination of features.
Now it would be nice if the FSF explained how their claims in the FAQ are actually derived from the text of the GPL3.
That's a tricky one. As the license is based on copyright law, and copyright law has no clauses about "processes", separate "files" and "dynamic vs static linking", I'm sure they can only give their interpretation. I don't know if there's existing precedent that you can use here.

Does the stated intent of the entity that authored the license hold any weight in such a discussion?
Last edited by Gian-Carlo Pascutto on Thu Feb 25, 2021 5:56 pm, edited 1 time in total.
Gian-Carlo Pascutto
Posts: 1243
Joined: Sat Dec 13, 2008 7:00 pm

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

Post by Gian-Carlo Pascutto »

Michel wrote: Thu Feb 25, 2021 5:50 pm You cannot invert this.
You can't invert it, but without permission you can't redistribute, so you're still stuck.
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 »

Gian-Carlo Pascutto wrote: Thu Feb 25, 2021 5:53 pm Does the stated intent of the entity that authored the license hold any weight in such a discussion?
I think the case can be made based on the clear meaning of the text and the stated intent and history of actions by Albert Silver and CB. They clearly did not intend FF2 as a 'mere aggregate' and their own words and actions testify to that.
User avatar
hgm
Posts: 27796
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

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

Post by hgm »

gonzochess75 wrote: Thu Feb 25, 2021 5:24 pmThe problem stems from you insisting you get to copy someone elses work - Stockfish - and distributing *it* how you see fit. You don't have that right. That's not your work. Absent complying with the GPL you simply have no rights at all with regards to Stockfish. If you think the terms of the GPL are unreasonable that's entirely fine. The solution is you don't get to copy or distribute Stockfish.
Sure I can. I can put it on GitHub, complete with source. It is not my responsibility that the people who download it might use it together with other software that the Stockfish developers wish to declare as their own.
Gian-Carlo Pascutto
Posts: 1243
Joined: Sat Dec 13, 2008 7:00 pm

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

Post by Gian-Carlo Pascutto »

hgm wrote: Thu Feb 25, 2021 6:43 pm Sure I can. I can put it on GitHub, complete with source. It is not my responsibility that the people who download it might use it together with other software that the Stockfish developers wish to declare as their own.
Yeah, but what does that have to do with anything? Last I checked, ChessBase doesn't require you to go to their github to download and compile Stockfish yourself. If their repo had had all the parts they are distributing 99% of this discussion wouldn't have happened.

I already gave you exactly this use case: you can compile ffmpeg yourself with combinations that aren't legally distributable, i.e. x264 (GPLv2 incl patent grants) + libfdkaac (license expressly disclaiming any implied patent grants).
User avatar
hgm
Posts: 27796
Joined: Fri Mar 10, 2006 10:06 am
Location: Amsterdam
Full name: H G Muller

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

Post by hgm »

They also did not make a conventional evaluation in a DLL.
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 »

hgm wrote: Thu Feb 25, 2021 7:48 pm They also did not make a conventional evaluation in a DLL.
Right. Instead they modified SF sources, claimed themselves as authors of the combined work, and - quoting Albert Silver - "did it because, one, the neural network is unusable in any other environment..."