unfortunately my pc crashed while i was typing a reply. so i'll try it again
hi
Roman Haefeli wrote:
so does a patch not contain the code of [expr], but is referencing it. it doesn't even say, which [expr] it is referencing.
but it is the same with any dynamically linked code: in my little example, my program does not know, which "void speak_free(char*)" it is referencing; it just knows that "someone" (e.g. any(!) of the libraries it is linked to) ought to provide this function. it doesn't know which library will provide the symbolic name "speak_free". furthermore, it only knows the names of the libraries it is linked to (which is essentially the same as pd knows about any "yet unknown" object); you can replace the /usr/lib/libfreelib.so with any other dynamic library (if you want to use it with other programs, you might want this library to provide the same symbols as the original one)
still, if my programm uses the GPL'ed "freelib", it MUST be distributed under the GPL. therefore i think that if your patch uses the GPL'ed [expr], it needs to be GPL'ed too.
what if, when you share a patch and give a dummy-[expr] with it and you tell explicitly not to use the 'original' [expr], that comes with millers pd, and people do substitute it by themselves?
if your patch is released under a GPL-incompatible license, then the users who substitute your [expr] with the GPL'ed one, might be violating the GPL (probably only, if they distribute your patch "linked" with GPL [expr]); your patch should not be affected by whatever license shahrokh's [expr] is released under.
however, if you don't provide a separate version of [expr] and don't give users a hint that they must not use shahrokh's [expr], then one could argue that since the GPL'ed [expr] is bundled with pd, any "ordinary" user will by-default use the GPL'ed version and therefore your patch has to be GPL'ed too.
fmga.sdr IOhannes