"PETERSON,SCOTT K \(HP-USA,ex1\)" <scott.k.peterson@hp.com> writes: > Assume that there is a standard API defined in a spec. > One author writes an application G that conforms to that spec (using the > API; I think of this as sitting on top of the API) and offers this under the > GPL. > A second author writes a library H that conforms to that spec (implementing > the API; I think of this as sitting under the API) and offers this under a > GPL-incompatible license. > Assume that G and H were wholly unaware of each other's work. Thus, G is not > a derivative work of H and H is not a derivative work of G. > Assume that someone statically links object modules compiled from G and > object modules compiled from H into a single executable file (call this > executable file G+H). > > I believe that there is wide agreement that the GPL is interpreted such that > the author of G has not given permission for distribution of that single > executable file. (I also believe there is less widespread agreement on the > alternative where the linking occurs at runtime.) Well, more precisely, distribution of the executable generated from G+H must be accompanied by the source code of G and H, or by an offer to provide that source code to any caller. > H is not a derivative work of G. So, how does one get to this widely agreed > result? I believe that that interpretation assumes that G+H is a "work based > on the Program". So, it looks to me like it is generally agreed that the GPL > does indeed concern itself with whether G and H are parts of something > larger (not necessarily every larger thing, but at least some sorts of > larger things). Thus, it seems that stopping analysis at the point of > determining that H is not a derivative of G is failing to complete the > analysis needed to judge compliance with the GPL. The GPL covers G+H because G is under the GPL, and G+H is a derived work of G. I see no issue here of whether G and H are parts of something larger. I see no issue of whether H is a derived work of G. The only issue is whether G+H is a derived work of G, and that seems obvious. You don't even have to think about the legal status of H to determine that G+H is covered by the GPL. Thinking about the legal status of H may cause you to believe that G+H may not be covered by the GPL--e.g., H may be under a proprietary license of some sort--which would imply that distribution of G+H is forbidden. But it's clear that G+H is covered by the GPL regardless of the status of H. Ian -- license-discuss archive is at http://crynwr.com/cgi-bin/ezmlm-cgi?3