
Wolfgang Denk wrote:
In message 4631093C.7060002@freescale.com you wrote:
But even if the application were non-GPL, how would running it be a GPL violation? If I load the application into memory, and just execute it, and the application runs without calling U-Boot code, and then the application exits, that's not a GPL violation.
You agree that static linking against a non-GPL library is illegal?
Yes, but just merging two binaries into a new binary isn't "linking", IMHO. For there to be linking, project A must include parts of project B. Just having A make a function call to B is not linking, otherwise proprietary applications would never be able to make syscalls into the kernel.
What does static linking against a NON-GPL library mean? You combine the U-Boot image and the library image in some way, or load the library image into memory, then you call a function from that library, and just execute it, and that library function runs without calling U-Boot code, and then the library function returns, that's ... ...a GPL violation.
Well, I'm not lawyer, and so I don't really know for sure, but I would disagree. After all, calling the library function is nothing more than loading a number into the PC register. I don't really see how that alone can be considered linking.
Running an application and calling a function is two very different things: U-Boot works perfectly fine without this application, and is just a helper to be able to load and atart and run it. But a binary firmware, which is needed for U-Boot to function properly, where U-Boot does not work correctly or with the full functionality if the firmware is not present, is a different thing.
U-Boot works just fine without this binary firmware. This particular firmware just enables the 2nd Ethernet port so that the Linux driver can load.