towforce wrote: ↑Sun Feb 28, 2021 1:47 pmNN weights are not being read in real time (emphasis yours) - they're loaded once then used multiple times. There are other reasons why you could not say that they're not being "interpreted" as well.
They are read from memory in real time. It is not relevant what kind of technology is used for storing the program while it is inactive. There was no translation there: the memory image corresponds 1-on-1 with the distributed file. Point is that the interpreter fetches the same data each time it needs it.
Also, of course, these weights are in the original SF GPL bundle - it's not as though it's new software that's never been associated with the interpreter previously, which is what the GPL rule you're using is intended to mean.
towforce wrote: ↑Sun Feb 28, 2021 1:47 pmNN weights are not being read in real time (emphasis yours) - they're loaded once then used multiple times. There are other reasons why you could not say that they're not being "interpreted" as well.
They are read from memory in real time. It is not relevant what kind of technology is used for storing the program while it is inactive. There was no translation there: the memory image corresponds 1-on-1 with the distributed file. Point is that the interpreter fetches the same data each time it needs it.
One could say the same about most software: by this definition, any time a program fetches something from memory, it is "interpreting" it, in which case the word "interpreter" becomes meaningless.
Also, of course, these weights are in the original SF GPL bundle - it's not as though it's new software that's never been associated with the interpreter previously, which is what the GPL rule you're using is intended to mean.
The FF2 weights were never in the SF GPL bundle.
No they weren't, because that's the part of the software bundle that has been modified (and "how" it was modified doesn't matter).
Human chess is partly about tactics and strategy, but mostly about memory
Michel wrote: ↑Sun Feb 28, 2021 1:02 pm
But why are there no court cases then? If dynamic linking does not create a derived work then it becomes trivial to hijack large GPL projects. Surely companies will do this if it is possible.
The FUD spread by the FSF may be having some effect?
I don't think so. Companies always take what they can get. This is the basic rule of capitalism (this is not meant as a judgement or a political statement).
Surely Eben Moglen would not stake his reputation on a position which you claim to be obviously untenable in court.
Companies don't want to get involved in infringement lawsuits that could damage the trust of their customers. Most companies will just pay a reasonable amount of money to anyone complaining about an infringement unless the claim is too ridiculously weak.
But if Eben Moglen were right, then stockfish.exe compiled for Windows is a derived work of Windows and Microsoft could prevent its distribution in the Windows EULA.
hgm wrote: ↑Sun Feb 28, 2021 1:38 pm
In IT speak (i.e. in discussions about the GPL, and its FAQ) 'interpreter' means a program that in real time reads the program it is interpreting, and performs the actions that the program element ('instruction', 'statement') specified. This in contrast to a 'compiler', which translates the actions into instructions of a lower-level programming language, without performing the actions themselves.
A neural net is a data-flow computer, and the weights represent a machine-language program for that computer. Because there are no hardware implementations of the NN, it requires an interpreter to execute (the SF NNUE code).
NN weights are not being read in real time (emphasis yours) - they're loaded once then used multiple times. There are other reasons why you could not say that they're not being "interpreted" as well.
Where you say "use", the NNUE evaluation function is in fact "reading" the weights. If you think an interpreter must retrieve program instructions from disk or other external memory, then you are mistaken about the commonly accepted definition of interpreter (such as the BASIC interpreter in the C64).
towforce wrote: ↑Sun Feb 28, 2021 2:07 pmOne could say the same about most software: by this definition, any time a program fetches something from memory, it is "interpreting" it, in which case the word "interpreter" becomes meaningless.
It depends on whether the item fetched from memory is a symbolic representation for some action. If my program is just fetching and storing digits in order to calculate pi, it is not an interpreter. Because pi is not a program. The digits of pi, (or the number converging to it) just represent the internal state of the program. Not a recipe for what it should do.
No they weren't, because that's the part of the software bundle that has been modified (and "how" it was modified doesn't matter).
'Modified' is something different from 'replaced'. When you modify something, part of the old situation 'shines through'. And that part would still be subject to copyrights. In the FF2 case the copyrights on the original SF NNUE are completely irrelevant. (Seems this was not under GPL, though.)
Michel wrote: ↑Sun Feb 28, 2021 1:02 pm
But why are there no court cases then? If dynamic linking does not create a derived work then it becomes trivial to hijack large GPL projects. Surely companies will do this if it is possible.
The FUD spread by the FSF may be having some effect?
I don't think so. Companies always take what they can get. This is the basic rule of capitalism (this is not meant as a judgement or a political statement).
Surely Eben Moglen would not stake his reputation on a position which you claim to be obviously untenable in court.
Companies don't want to get involved in infringement lawsuits that could damage the trust of their customers. Most companies will just pay a reasonable amount of money to anyone complaining about an infringement unless the claim is too ridiculously weak.
In many cases perhaps. But it would require only one court precedent to destroy the GPL. The GPL is 32 years old. If it was a weak license then _somebody_ would have taken it to court by now.
Anyway I do not know enough about copyright law to decide for myself if the FSF is right or wrong (and the FSF makes no attempt to justify their position in the FAQ). But at least thanks to this discussion I have understood the GPL-3 better. I thought the GPL-3 had a clever trick to sidestep the linking issue but that is not the case. Thanks for clarifying this.
Ideas=science. Simplification=engineering.
Without ideas there is nothing to simplify.
syzygy wrote: ↑Sun Feb 28, 2021 3:17 pm
Companies don't want to get involved in infringement lawsuits that could damage the trust of their customers. Most companies will just pay a reasonable amount of money to anyone complaining about an infringement unless the claim is too ridiculously weak.
If what you said were right, then there would be a burgeoning business in speculative capital challenging the GPL. You'd see compiler companies with VC capital popping up and forking GCC to add a special "optimizer" that is proprietary. There would be tons of activity in appropriating highly lucrative GPL products. The market has already voted and your interpretation of the relevant facts surrounding the GPL has lost decisively. No one with actual skin in the game takes your interpretation seriously. If you truly believe what you say, then go hit up some VC company to back you in GCC+special optimizer project and make some money. Otherwise, continue to pontificate about how the entire world has gotten the GPL all wrong and you got it right I guess.
syzygy wrote: ↑Sun Feb 28, 2021 3:17 pm
Companies don't want to get involved in infringement lawsuits that could damage the trust of their customers. Most companies will just pay a reasonable amount of money to anyone complaining about an infringement unless the claim is too ridiculously weak.
If what you said were right, then there would be a burgeoning business in speculative capital challenging the GPL. You'd see compiler companies with VC capital popping up and forking GCC to add a special "optimizer" that is proprietary. There would be tons of activity in appropriating highly lucrative GPL products.
They could in any case do that legally with LLVM.
Otherwise, continue to pontificate about how the entire world has gotten the GPL all wrong and you got it right I guess.
Most of the legal world agrees with me, if you hadn't noticed...
No they weren't, because that's the part of the software bundle that has been modified (and "how" it was modified doesn't matter).
'Modified' is something different from 'replaced'. When you modify something, part of the old situation 'shines through'. And that part would still be subject to copyrights. In the FF2 case the copyrights on the original SF NNUE are completely irrelevant. (Seems this was not under GPL, though.)
Part of SF does shine through in the FF2 weights table: they're using an NN that similar in most important ways to the NN that SF was using.
More importantly, the section of the GPL FAQ that I previously linked makes it clear that if you take a GPL bundle and modify, or even "completely replace" a part of it, the new bundle has to be under GPL as well. There seems to be an exception if the new part is in a separate program and gets called like a service (I started a new thread to investigate where the boundary of this might lie), but that is absolutely not the case with FF2: there is no way, no matter how hard you try, to argue that FF2's NN is running as a separate program from the rest of FF2.
Human chess is partly about tactics and strategy, but mostly about memory
No they weren't, because that's the part of the software bundle that has been modified (and "how" it was modified doesn't matter).
'Modified' is something different from 'replaced'. When you modify something, part of the old situation 'shines through'. And that part would still be subject to copyrights. In the FF2 case the copyrights on the original SF NNUE are completely irrelevant. (Seems this was not under GPL, though.)
Part of SF does shine through in the FF2 weights table: they're using an NN that similar in most important ways to the NN that SF was using.
That is not something copyrightable (and not something that is original in SF in the first place).
More importantly, the section of the GPL FAQ that I previously linked makes it clear that if you take a GPL bundle and modify, or even "completely replace" a part of it, the new bundle has to be under GPL as well. There seems to be an exception if the new part is in a separate program and gets called like a service (I started a new thread to investigate where the boundary of this might lie), but that is absolutely not the case with FF2: there is no way, no matter how hard you try, to argue that FF2's NN is running as a separate program from the rest of FF2.
The FAQ has no legal force (and makes many legally dubious claims).