Lets say that I want to use Linux kernel, but I want to create some proprietary code on top of it (like create a Linux distribution) and later on sell it combined with the Linux kernel (like Mac did on top of FreeBSD). Is it possible to do so?

  • What do you mean "create on top of"? Some ways permit you to close-source your components, some don't. – Mark Jun 25 '15 at 6:20

The Linux kernel was released under the GNU General Public License version 2 (GPLv2). This means that you can build code on top of it, but as soon as you distribute it (e.g. you distribute software combined with the Linux kernel), your software needs to be distributed under the GPLv2 too (or a license compatible with GPLv2, such as GPLv3 or AGPLv3).

You can charge money for support, for packaging your software (back in the old days, people charged money to put the distribution on a CD), for maintenance,... but all of this excludes distributing your software as closed source, proprietary code.

Your comparison "like Mac did on top of FreeBSD" isn't correct. You're comparing a permissive license versus a copyleft license.

Important: I interpret "create on top" as: your code doesn't merely use the kernel. Your code is linked to the kernel. Your code doesn't work without the kernel.

  • Yes and no. It depends on how you define "build on top of it" -- and which methods are permissible is an unsettled question even among kernel developers. – Mark Jun 25 '15 at 6:20
  • I interpreted this as: the own software is linked. – Bruno Lowagie Jun 25 '15 at 6:21
  • Even that is uncertain: do the module APIs count as "linked" or not? Linus says no, other people say yes. – Mark Jun 25 '15 at 6:21
  • I know, it's a quagmire. The point of view of my lawyer is: it's better to be safe than sorry. – Bruno Lowagie Jun 25 '15 at 6:23

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