Michel wrote: ↑Tue Mar 02, 2021 12:28 pmBut you do right if the linked library is in the same .zip file? Whether the library is in the same zip file, or is a section in an ELF executable (also a kind of container format) seems to be exactly the same to me.
If you distribute the linked library in any form, then obviously you need permission for that.
The copyright on the linked library cannot prevent you from distributing another program that links to it dynamically (even though the FSF disagrees). It does prevent you from distributing another program that is statically linked to the library.
Perhaps we agree that, at least from the point of view of the copyright on the library, there is a difference between static and dynamic linking.
Now let's consider the copyright on the program that is linking to it.
To distribute such a program, you need permission from the copyright holder.
In principle, the copyright holder can impose whatever condition he likes on distributing the program. Ultimately you have to see what the license allows you to do.
So now you have to consider the GPLv3. What is a "covered work"? (Copyright law is not necessarily of importance now, although it may guide the interpretation of certain terms. As we have seen, the GPLv3 in fact still refers to copyright law where it defines the term "modification" and "a work based on the Program" and therefore also "covered work".)
In my view, the executable itself is a "covered work", as it is a unit of distribution.
I don't see a difference between "entire work" and "covered work". Even if "entire work" was intended to refer to something bigger, the concept just seems too vague to be enforceable.
The GPLv3 requires the "covered work" to be licensed under the GPLv3. So if the executable includes material from a statically linked library, at least that material (and its source) must be licensed under the GPLv3.
The text of the GPLv3 does not seem to actually forbid distributing a covered work in a zip file together with another non-GPL'd file, even if that other file is a shared library. It says something difficult-to-parse about the term "aggregate", but ultimately no legal consequence is specified. If a copyright license allows me to distribute file XYZ, then I have no reason to think that I am not allowed to distribute file XYZ in a zip file together with ABC unless the copyright license specifies that the permission was conditonal on not distributing it in a zip file together with ABC.
Finally, there is the requirement to release the "Corresponding source" as that term is defined in the GPLv3. But this definition does not refer to things that are bundled with the executable (e.g. in a zip file) and is itself problematic. As applied to NNUE nets, I don't accept that the author of an NNUE net would not be allowed to distribute SF unless he also distributes the NNUE net that he happens to have authored under the GPLv3.
Perhaps the "Corresponding source" will in some cases succeed to "infect" in some sense a very specific shared library, but I do not believe it infects NNUE nets. (But there is an argument that could work in court if FF2 SF refers to FF2 NNUE in the default value of the EvalFile UCI option.)
(Of course I am still of the view that NNUE nets are not copyrighted, but that is another discussion.)