<p dir="ltr">On May 10, 2016 9:39 AM, "Roman Haefeli" <<a href="mailto:reduzent@gmail.com">reduzent</a><a href="mailto:reduzent@gmail.com">@</a><a href="mailto:reduzent@gmail.com">gmail.com</a>> wrote:<br>
><br>
> On Sat, 2016-05-07 at 16:13 +0000, Jonathan Wilkes via Pd-list wrote:<br>
> > Hi Matti,<br>
> > Pd Vanilla has a 3-clause BSD license.  This license allows you<br>
> > to use the code in proprietary software and distribute binaries<br>
> > without<br>
> > also distributing the corresponding source code.<br>
> ><br>
> ><br>
> > It also allows you to make changes/improvements to the code without<br>
> > sharing them back with the community.<br>
> ><br>
> ><br>
> > As for external libraries-- it depends on how they are licensed.  Some<br>
> > are<br>
> > licensed GPL, which doesn't allow you to do what you're asking.<br>
><br>
> I'm just curious: If I implemented a way to close-source Pure Data<br>
> patches, would I violate the GPL if I ship:<br>
><br>
>  * Pd as a binary<br>
>  * the GPL'd externals as binary with their source code and License<br>
>  * my closed-source patch<br>
></p>
<p dir="ltr">No--INAL, either, but program inputs are not subject to GPL.  Distributing software that links with GPL licensed libraries requires that the free/open software requirements of GPL are met for each program or library linked with.  So, all that's additionally required is to distribute Pd's source code or provide a link to the code.</p>
<p dir="ltr">If you had to modify Pd in the process so it reads encrypted patches, you'd give away the method of encryption in the code and make the keys easier to find.</p>
<p dir="ltr">So then, one also has to find a decent method of obfuscating the inputs without linking with or modifying Pd.  An additional binary that reads an encrypted patch translates it into a readable format but doesn't link with Pd.  It can also be distributed without source code.  But, then there's an intermediate form of the patch when it's run that can be read and so it is not a foolproof method of hiding anything.</p>
<p dir="ltr">Modified versions of Pd without the GPL can be distributed without providing source code.  So one could add a method of reading an encrypted patch.</p>