Dominic wrote:
...
However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.
...
So it is fine to run the OpenOCD together with base system libraries, like MSCRT.DLL, KERNEL32.DLL etc., but the Segger library is hardly a major component of the operating system.
A program has to link to the DLL - either by having references to it in the program's import section, or by explicilty loading it vi LoadLibrary. And you can't link non-GPL compatible code with software covered by the GPL.
Regards,
Dominic
This has been discussed "for ever" ( in regards to codecs and plugins for multimedia applications). Situations where the basic application does not depend on non GPL code but it can load and use it.
The copyright and legal situation is not clear. If dynamic linking against a separatly obtained module can be considered creating a derived work.
The only part of the non GPL code in our application is the implementation of the API, the implementation code is distributed under the GPL It is also the opinion in most legal discussions that the API specifications are non copyrightable.
Dominic must decide on this issue, but anybody can write and privately use a Segger DLL module, but "maybe" not distribute it.
My problem with this situation is that OpenOcd already uses and links against the ftdi D2XX library, which is not GPL !!!
Personally I am strongly in favour of keeping GPL alive and GPL code free. But some of the arguments against linking to other programs or modules are weak, both legally and from the practical point of beeing able to create useful and free software.
Regards Magnus