22

Looking at the GPLv2 FAQ. I'd like to incorporate GPL-covered software in my proprietary system. Can I do this?.

Since, any typical Linux distribution base image contains a variety of GPL-licensed libraries and utilities. And, it is packaged inside a docker image with other code/software in inseparable format. Does this mean that all docker images are free to redistribute (i.e. under the GPLv2 licensing rules)?

And, there is no way one can enforce proprietary licensing on them (i.e. the docker images?) I.e. there is no way to distribute proprietary software in Docker images!?!?

1 Answer 1

17

Linux (the Kernel) uses the GPL 2.0 with an extra statement:

NOTE! This copyright does not cover user programs that use kernel services by normal system calls - this is merely considered normal use of the kernel, and does not fall under the heading of "derived work". Also note that the GPL below is copyrighted by the Free Software Foundation, but the instance of code that it refers to (the Linux kernel) is copyrighted by me and others who actually wrote it.

Also note that the only valid version of the GPL as far as the kernel is concerned is this particular version of the license (ie v2, not v2.2 or v3.x or whatever), unless explicitly otherwise stated.

Beyond this the userland (including the important commonly-used C libraries) with which a userspace program interacts primarily and directly is either LGPL-licensed (or BSD/MIT licensed with some alternative C libraries).

A full Linux image (be it a VM or container image) or a full Linux distro may contain a complex combination of code under the GPL, LGPL and many other licenses.

I can for instance add my proprietary programs to run in userspace to that image and redistribute it. I need to comply with the obligations of each and every licenses. A recipient may have certain rights with regards to the open source and free software code in that image but may not have right to my proprietary code.

So Does this mean that all docker images are free to redistribute (i.e. under the GPLv2 licensing rules)?

No. Some parts may be redistributable and some may not.

And, there is no way one can enforce commercial licensing on them (i.e. the docker images?) I.e. there is no way to distribute commercial software in Docker images!?!?

Yes there is a way. Including proprietary and GPL-licensed programs on the same filesystem or archive is typically considered "side by side" redistribution or "mere aggregation":

A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an “aggregate” if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate.

Not the answer you're looking for? Browse other questions tagged or ask your own question.