On a project with an Apache License v2 I intent to include a (heavily) modified source file of the Linux kernel, the file in question is list.h. I am aware that the Linux Kernel is GPL v2 meaning that it requires software that includes it to have the same GPL v2 License.

Is this true? If so, does it applied to a single heavily modified source code file shipped with another permissive OSS license such as Apache License v2.


  • 2
    Other than vain hope, is there any reason you believe the GPL wouldn't apply in this case? Commented Jul 20, 2022 at 20:41
  • I do not own the project in question, so I cannot change its license. Commented Jul 22, 2022 at 15:26

1 Answer 1


Taking a GPL-licensed file, modifying it (regardless how much), and distributing it under an Apache license is a blunt copyright violation.

The GPL applies to the file, and all of its derivatives. There is no way to legally circumvent the license - and you very likely will not get the permission of all copyright holders to re-license that file.

So either license your project as GPLv2 only and you can make use of that file, or do without that file, or don't ever distribute your project.

  • With the impossibility of using that file in our source code, I decided to use instead the BSD sys/queue.h module which does not have such license constrain and it is available in Linux/Mac/Windows(with cygwin) Commented Jul 22, 2022 at 15:30
  • @VicenteBolea You can also choose to write your own list header. Commented Jul 25, 2022 at 14:24
  • While I of course I can do this, this is not such a great pattern to reimplement each basic data structure in every project. Commented Jul 25, 2022 at 19:00

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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