2
filename:       dc_sunxi.ko
license:        Dual MIT/GPL
author:         Imagination Technologies Ltd. <gpl-support@imgtec.com>
srcversion:     39B570CC4B56A8FFF5C64C3
depends:        pvrsrvkm,disp
vermagic:       3.3.0 SMP preempt mod_unload modversions ARMv7 p2v8 

So it seems kernel modules can be licensed under multiple licenses, such as GPL and MIT. That makes it possible for another developer to choose a license which suits their needs the best. However, it seems that a kernel module which uses internal kernel structures is a derivative work of the Linux kernel and therefore must use the GPLv2 as their license. Can another developer legally choose MIT as the license of this module in the future?

2

Does a derivative work of GPL software has to be licensed under the same license? Almost, but not quite.

The GPL does require that a software as a whole must be licensed under the GPL if it contains GPL-covered parts, or if it is a modified version of a GPL-covered software. This does not mean that all parts of this software have to be GPLed as well – they merely need a compatible license.

For a kernel module, it is not at all obvious that the module would be derivative of the kernel. That's for copyright law to decide, not the GPL. It is however more obvious that the module forms a combined work with the kernel at run time, so that it must use a compatible license.

The MIT license clearly is a GPL-compatible license, so this dual license seems fine. However, the module may not include any GPL-covered code – it is not possible to use such a dual license to move GPL-covered code to a more permissive license. Were the modulle to be found derivative of GPL-covered code (such as by using internal kernel APIs) then this would not be fine.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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