Page 1 of 1
Distributing binaries of GPL software with your non-GPL OS
Posted: Mon Aug 22, 2022 9:56 am
by AndrewAPrice
My OS is licensed under the Apache License 2.0. You can see all of the source code on GitHub.
Let's say I port a GPL program to my OS (by downloading the source code and patching a few files to get it to run). Is my build system legally allowed to pull the GPL'ed source code from the original website, apply some patches, link it to my Apache licensed libraries, and build a binary? Is the only code of mine that needs to be under the GPL license the changes/patches need to get the software to run on my OS?
I'd like to distribute a bootable image of my OS and some accompanying software ported to my OS. Can I distribute this bootlable image containing only the binaries of my OS + accompanying software of which some is GPL'ed?
Am I allowed to distribute GPL software (written by others) in binary format with my OS? Is it reasonable enough that the launching interface in my OS could have a description area that says "This software is licensed under the GNU General Public Licence and the source code and full license is avaliable at <website>. Code changes required to port it to my OS are avaliable at <website>."?
Re: Distributing binaries of GPL software with your non-GPL
Posted: Mon Aug 22, 2022 10:37 am
by nexos
Sure it is, e.g., the BSDs do it. However, you must distribute the licenses as well. I'm not sure of the exact terms however (IANAL).
You can even distribute GPL'ed software with a proprietary OS! (e.g. Android).
Re: Distributing binaries of GPL software with your non-GPL
Posted: Mon Aug 22, 2022 11:46 am
by Octocontrabass
AndrewAPrice wrote:Is my build system legally allowed to pull the GPL'ed source code from the original website, apply some patches, link it to my Apache licensed libraries, and build a binary? Is the only code of mine that needs to be under the GPL license the changes/patches need to get the software to run on my OS?
That sounds correct to me, but I'm not a lawyer.
AndrewAPrice wrote:Am I allowed to distribute GPL software (written by others) in binary format with my OS? Is it reasonable enough that the launching interface in my OS could have a description area that says "This software is licensed under the GNU General Public Licence and the source code and full license is avaliable at <website>. Code changes required to port it to my OS are avaliable at <website>."?
Firmware for smart devices include a complete copy of the GPL viewable on the device itself, and offer a download link to a complete copy of the patched GPL code rather than separate patches. I couldn't tell you whether those are actual requirements, but a lot of corporate lawyers seem to agree on those two points.
Re: Distributing binaries of GPL software with your non-GPL
Posted: Mon Aug 22, 2022 9:33 pm
by nullplan
AndrewAPrice wrote:Is my build system legally allowed to pull the GPL'ed source code from the original website, apply some patches, link it to my Apache licensed libraries, and build a binary?
Obviously yes, because so far you have not said anything about passing it on. So long as you do not redistribute the product, you can do whatever you want.
If you do redistribute the product, the GPL requires you to do so under its terms, or else the original copying of the code to you was invalid. In practice here this means you do need to publish the patches (at least to all recipients of the software, if not the general public). It is an open question whether you need to publish the build system, but as long as one can build a binary from the code you publish, that ought to be good enough.
AndrewAPrice wrote:I'd like to distribute a bootable image of my OS and some accompanying software ported to my OS. Can I distribute this bootlable image containing only the binaries of my OS + accompanying software of which some is GPL'ed?
Yes, so long as the documentation of the OS (and that can be a booklet you distribute alongside the OS, or text files in the image) contain a copy of the GPL and a notice what software it applies to. You will need to make the source code available to all recipients of the OS image on request.
AndrewAPrice wrote:Am I allowed to distribute GPL software (written by others) in binary format with my OS?
Yes, that is explicitly allowed in the license.
AndrewAPrice wrote:Is it reasonable enough that the launching interface in my OS could have a description area that says "This software is licensed under the GNU General Public Licence and the source code and full license is avaliable at <website>. Code changes required to port it to my OS are avaliable at <website>."?
Yes, that would work. The harder part is going to be to ensure that the website stays up.
Re: Distributing binaries of GPL software with your non-GPL
Posted: Tue Aug 23, 2022 1:44 am
by linguofreak
AndrewAPrice wrote:My OS is licensed under the Apache License 2.0. You can see all of the source code on GitHub.
Let's say I port a GPL program to my OS (by downloading the source code and patching a few files to get it to run). Is my build system legally allowed to pull the GPL'ed source code from the original website, apply some patches, link it to my Apache licensed libraries, and build a binary? Is the only code of mine that needs to be under the GPL license the changes/patches need to get the software to run on my OS?
With the usual "IANAL" disclaimer:
As far as your build system is concerned, the GPL allows you to do basically anything for your own use. It's when you distribute the generated binary, or your modified sources, that you incur obligations under the GPL.
I'd like to distribute a bootable image of my OS and some accompanying software ported to my OS. Can I distribute this bootlable image containing only the binaries of my OS + accompanying software of which some is GPL'ed?
You can distribute a binary only image, but...
Am I allowed to distribute GPL software (written by others) in binary format with my OS? Is it reasonable enough that the launching interface in my OS could have a description area that says "This software is licensed under the GNU General Public Licence and the source code and full license is avaliable at <website>. Code changes required to port it to my OS are avaliable at <website>."?
...you *must* have something like this. It probably doesn't need to be in the launch interface (in the documentation is sufficient, I believe), but the intent of the GPL is that the user should be able to build their own copy of any GPLed binaries you distribute without undue effort.
Re: Distributing binaries of GPL software with your non-GPL
Posted: Tue Aug 23, 2022 3:37 pm
by AndrewAPrice
Thanks everyone. So far it sounds reasonable that I could meet all of the requirements by making sure:
- My patches required to make said software run on my OS is licensed under the GPL instead of the Apache License like the rest of my OS.
- Somewhere in my UI say this software is covered by the GPL and give instructions on how a person may find a copy of the GPL, the original source code, and my patches.
- My build system is open source and provide sufficient instructions on how to use it (here is what I have now). Even though building a custom OS is complicated and requires providing a cross compiler.