Hello, legal. I'd like some advice, please.
I maintain the jemalloc package for Fedora and EPEL. To make it compile on EPEL5/POWER, I need a patch for 32bit atomic operations on ppc. I found one in the Boost library (Boost license), but some googling discovers it actually originates from apr (Apache license). jemalloc is distributed under the BSD license
I'm unsure on how compatible the BSD and Apache licenses are.
Could I just add the patch and a few extra lines to COPYING with %ifarch ppc ppc64, %if 0{?rhel} == 5, mentioning the Apache license and the patch for that platform?
Note that the patch is no longer needed in epel6 and fedora. I guess modern versions of gcc provides the missing atomic stuff.
I have contacted jemalloc upstream. Their comments suggest that this is a non-issue, that is, that the code in question is too specific to be copyrighted with a license, since the number of ways to implement atomic operations for a specified cpu are very limited, and all the sketched implementation examples floating around use more or less the same algorithm.
Patch and short discussion starts here: http://www.canonware.com/pipermail/jemalloc-discuss/2012-March/000136.html
I also contacted apr upstream. The initial commit of the code was done by Greg Ames, http://marc.info/?t=101356337500001&r=1&w=2 . He pointed me to the latest version, and told me to use it while adding the Apache License, and added "I think you'll find that the Apache license is very compatible with the BSD license."
PS: Note that Greg's initial commit preceeds the one copy-pasted into the Boost library, so if this actually is an issue, Boost (or the Boost maintainer in Fedora?) should check out this as well.
Ingvar
On 05/18/2012 05:14 AM, Ingvar Hagelund wrote:
I'm unsure on how compatible the BSD and Apache licenses are.
The BSD license is extremely permissive, and is widely considered to be universally compatible with other Free licenses.
Apache... not as much. So the only downside to this is that you might end up making jemalloc less compatible with other things as a result, but since this is only a fix for old RHEL 5, its probably safe to do.
hth,
~tom
== Fedora Project