I've often harped on Apple for its policy regarding jailbreaking, but of course, Apple isn't the only company engaging in such practices. We already talked about Motorola, and now, we have Sony - already a company with a checkered past when it comes to consumer rights. As it turns out, Sony don't want you jailbreaking your their Playstation 3.

It's true that the cases they have taken to court were clear violations like the busybox case. They mostly go after cases where there was no intent to provide source of any kind.

Minor nitpick ... they have ONLY EVER gone after cases where there was no intent to provide source of any kind, and there were clear violations of distribution of GPL code, like the busybox case. There is no "mostly" about it.

But the FSF has also stated that dynamic linking constitutes a combined program.

The FSF are free to believe whatever they want, it doesn't change what the copyright law actually says.

Copyright law says that major elements of another work (written by another party) must be included in a later work for that later work to be considered a derived work.

The FSF's own GPL license clearly says that only the act of re-distribution of GPL code invokes the copyleft requirement for that code, and that upon that act of redistribution the source code of the GPL elements must be published in order to enjoy the permission to redistribute that the GPL license grants.

There are no conditions on merely running GPL code ... the GPL license grants universal permission for anyone and everyone to run GPL code anywhere under any circumstances. This therefore includes permission for a proprietary binary program to run (or call, if you like) a GPL library if it is already installed on a users system.

When one dynamically links to a library, the library is not actually present in the resulting binary. The resulting binary executable will only work if the library in question is already present on the user's system. This fact is very important, because it clearly shows that using dynamic linking means that the linked library is NOT re-distributed within the binary package.

Given all these clear facts, copyright law, and the GPL license wording itself, a solid case is established that dynamically linking to a GPL library and then distributing the resulting compiled binary is clearly NOT an act of distributing GPL code.

IMO (remember, IANAL), the FSF would have a very, very difficult case to argue otherwise. Even though I am not a lawyer, if I were on a jury, and those were the facts of the case, I would certainly not find in favour of the FSF argument.

I understand your point of view, and honestly, I wish that dynamic linking wasn't such a gray area still.

The FSF's own GPL license clearly says that only the act of re-distribution of GPL code invokes the copyleft requirement for that code, and that upon that act of redistribution the source code of the GPL elements must be published in order to enjoy the permission to redistribute that the GPL license grants.

There are no conditions on merely running GPL code ... the GPL license grants universal permission for anyone and everyone to run GPL code anywhere under any circumstances. This therefore includes permission for a proprietary binary program to run (or call, if you like) a GPL library if it is already installed on a users system.

When one dynamically links to a library, the library is not actually present in the resulting binary. The resulting binary executable will only work if the library in question is already present on the user's system. This fact is very important, because it clearly shows that using dynamic linking means that the linked library is NOT re-distributed within the binary package.

Given all these clear facts, copyright law, and the GPL license wording itself, a solid case is established that dynamically linking to a GPL library and then distributing the resulting compiled binary is clearly NOT an act of distributing GPL code.

The problem is - if you distribute a program which dynamically links to GPL libraries, and those GPL libraries are not included, then the program isn't "whole" (meaning, it doesn't run without them). And so, you haven't provided the "whole work" to the end user. Once your "whole work" depends on dynamically linked GPL libraries, the FSF insists that the GPL applies to your program as well.

This has been asked of the FSF and Stallman in the past, and its clear that they wish to create FUD around this concept (for good reason, it's a potential major loophole in the GPL!) - the concept is: If you produce a program which has very little actual functionality, but which, when using dynamically linked GPL libraries on the end user system, has very much rich functionality, you have derived your work from the GPL libraries. Even if those libraries are not required in order to use the system... there is still a gray area which the FSF insists must place your app under GPL.

As you can imagine, this "linking FUD", much of which was created by FSF and Stallman themselves, is one of the biggest reasons why commercial software vendors stay away from GPL. It really doesn't matter what copyright law says, or what can actually be enforced - nobody really wants to be the target of FSF/Stallman/GPL zealots if they don't follow the spirit of the license... it's a potential PR nightmare.

Minor nitpick ... they have ONLY EVER gone after cases where there was no intent to provide source of any kind, and there were clear violations of distribution of GPL code, like the busybox case. There is no "mostly" about it.

Well there was the MEPIS case where he was only providing the modified source. He complied after a warning but they did go after him.