software licensing commerce gpl
GPL Licensed code as separate process
<p>We are going to use a GPL licensed application as separate process inside a docker. So here's how it works:</p>

<ul>
<li><p>Main app ships to client, it doesn't have any GPL code. Does have lots of things and manages lots of Docker images.</p></li>
<li><p>Our app CAN download and launch custom made Docker images (special purpose, we maintain docker images and they are custom built). All other docker images we have, does not include any GPL code.</p></li>
<li><p>Inside just one of the docker images a server software with GPL license will be running all the time, that's the main server software in that particular docker image (as-is) </p></li>
</ul>

<p>Can we do this in our commercial app without having to publish our source code?</p>

<p>Basically we maintain and create the docker image, but that's not main part of our software and its completely optional and users can choose to download that docker image and run it if they want to. GPL code is not blended into our main app, its totally separate and its inside docker image. Imagine being Amazon and maintaining list of VM images you build and letting your clients download and launch instances of VM images you built that contain many GPL licensed applications.</p>

<p>Yes you can.</p>

<p>What you do is called <a href="https://www.gnu.org/licenses/gpl-faq.en.html#MereAggregation" rel="nofollow noreferrer">mere aggregation</a>. Your app and the GPL container run isolated and do not share memory space: they are clearly separate programs vs parts of one program, so your app does not get infected by GPL.</p>

<p>I'm not a lawyer, I'm a software developer. Here is my understanding of how that works:</p>

<p>Your software does not include GPL code therefore you can license it anyway you want.</p>

<p>The docker images are just a way to distribute GPL binaries, so those rules will apply. In general, if you distribute binaries, you have to distribute the corresponding source code as well. GNU FAQ covers this topic <a href="https://www.gnu.org/licenses/gpl-faq.html#UnchangedJustBinary" rel="nofollow noreferrer">here</a> and <a href="https://www.gnu.org/licenses/gpl-faq.html#DistributeWithSourceOnInternet" rel="nofollow noreferrer">here</a>. I'm not sure if that means you can just put a file with a link to the repo of the project that you are distributing or you have to host the source code yourself. If I have to guess, it's the former.</p>
