On Mon, Jul 14, 2008 at 11:08:00AM +1000, Graeme Gill wrote: > > I agree, it seems to me to an urban legend. It doesn't matter if > code is static, dynamically linked or merely invoked by an exec - > if the combined entity (the compilation) depends for it's functionality > on a piece of software, then it is a derived work of that software. If I write a program that runs on Windows, it depends on Windows and uses various system calls etc for functionality. That doesn't make it a derived work, and Microsoft has no say over what I do with my program. The technical differences between system calls and library calls are surely irrelevant here, i.e. the same should apply to libraries. There is a real difference between static and dynamic linking in terms of copyright law, which is that when you ship a statically linked binary you are including a copy of the library code. It's the making and distribution of that copy which is the issue, over which the copyright holder of the library has some say under copyright law. The technical details of the linking mechanism have nothing to do with it except insofar as they imply the copying. When you ship a dynamically linked binary, people can use it with their own copies of the libraries, and it's their problem to get hold of such copies in a legal way. When you ship source code, what others do about linking it (including the distributions) is entirely up to them, and any legal implications lie with them. IANAL, though - this is just my understanding. Martin