On Sunday, December 23, 2012 12:36:28 AM UTC-8, Gerard wrote:
Suppose I coded an app(lication). The app has 20 Go source files and uses
3 packages. It is placed on github.com or whatever (distributed).
The app is BSD licensed. The license file is placed in the main directory
and each source file contains the 3 lines of BSD license text and the
Now I want to use *one* GPL licensed package.
Does this means that I *should* add the GPL license file in the main
directory and also add the 14 lines of GPL license text to *each* source
No, your source files are not derived works of the GPL-licensed package. So
you can still distribute your source under the BSD license.
But once the source is compiled, the binary *is* a derived work of the
GPL-licensed package. So the binary can only be distributed under the GPL.
And if you distribute the binary, you are required to make the sources
available under the GPL too. Since the BSD license is GPL-compatible, this
is not a big deal.
What gets tricky is when the license for the source is not GPL-compatible.
For example, there is a ZFS module for the Linux kernel. The ZFS source
code from Sun is licensed under the CDDL, which is not compatible with the
GPL. The Linux kernel is licensed under the GPL. The source of this module
can be distributed, but compiled binaries cannot—because distributing them
would make the source subject to the GPL, and only Sun (or rather Oracle,
now) has the authority to do that, because their CDDL does not give users
the right to re-license the code.