[PD] porting a Pd patch to Max license issues

Simon Wise simonzwise at gmail.com
Fri Mar 16 05:31:29 CET 2012


On 15/03/12 17:34, Bryan Jurish wrote:

> ... my take is that for a (Pd|Max|...) patch, the dataflow interpreter
> (Pd, Max, or what have you) represents the required "system library" for
> use of that patch, so the copyleft doesn't kick in.  If you're the
> copyright holder, you can also always add explicit "linking exceptions"
> to GPL'd code, but I think that shouldn't be necessary in this case,
> since interpreter (Pd|Max|...) and program code (patch) are cleanly
> separated.

A Pd patch is usually distributed as a patch which is then interpreted by a 
locally installed Pd in the sense you describe ... but with Max distribution is 
usually as executables which include the parts of Max required for them to run, 
and perhaps other Max objects in the patch which may or may not be open source. 
Max is expensive and a license covering each machine running it as a patch is 
required, but Max is not needed on the machine to run the programs distributed 
this way. Max is certainly not a system library if it is not on the local system.

Max could be viewed as a compiler in this case, with the resulting binary 
package the "output". But now this whole executable would seem to be linked to 
the GPL code, and distribution must be accompanied by its whole source code etc 
according to the GPL. But since large parts of that source is closed that is not 
possible.

This is in contrast to many compilers where the built-in functions are 
distributed separately as system libraries and these must installed on the local 
machine independently of the distributed GPL program which links to them (as 
system libraries).

Certainly porting a Pd library to Max, then using it and any executables you 
make yourself is very much within the GPL.

Distributing that port ready to use in Max, along with its source code of 
course, is fine as long as any other code used doing the port is ok to 
distribute according to the GPL.

I'd think that distributing a Max patch which includes parts of the ported 
library is ok, again as long as it is accompanied by all the code you used in 
the port etc, for the reasons you stated above.

But if that patch is saved as an executable you can only use it yourself, on as 
many machines as you like ... you cannot give the executable to someone else.

So a GPL library does not fit with the closed source distribution model used by Max.


(but of course IANAL)

Simon



More information about the Pd-list mailing list