News for hackers. Stuff that matters.
Re:AGPL != Awesome GPL by jmillikin on Sunday February 21, 2010 @12:59PM (#1140912)
You can distribute your code under any license, no matter what, as long as it's not derived from GPL'd code (eg, you didn't copy-paste it and change a few strings).

The FAQ entry deals with derived works (eg, compiled binaries). If your code's license is not GPL-compatible, then any work derived from both your code and GPL'd code cannot be legally distributed -- for example, it is illegal to distribute a binary which is statically linked against BSD-4 and GPL code. The ability to distribute binaries is why GPL compatibility is so important.

This applies to dynamic languages as well. Python or Ruby code can be distributed under any license the author wishes, but works created from a combination of that code and GPL'd code must be covered by the GPL.

For example, say Alice creates a Python library libalice and publishes it under the GPL. Bob writes an application BobApp which uses that library, and publishes it under the X11 license. Charlie uses py2exe to create an easily distributable version of BobApp, which includes a private copy of libalice. The licenses are:

  libalice: GPL
  BobApp: X11
  Charlie's BobApp.exe: (GPL + X11 + Python license) -> GPL
If you'd like, you can think of licenses mathematically: license(foo + bar) = license(foo) + license(bar). If the licenses are compatible, then the strictest license is used for the derived work. If the licenses are not compatible, the derived work cannot be distributed.

US copyright law, fundamentally, is not complicated. The hard part is figuring out what "derived work" means, which depends on local laws and customs, and which you need to be a lawyer to figure out. Luckily, most cases involving software are very clear-cut, so even lay-people can get by with just a copy of the relevant regulation.

There are no comments on this comment yet.