On Thu, Oct 31, 2024 at 6:49 AM Thomas Munro <thomas.munro@gmail.com> wrote:
> There are a couple of cases of dual-licensed code in our tree where we
> explicitly used the Boost alternative instead of Apache 2. I plead
> complete ignorance of this topic and defer to those who know about
> such things: can we actually do this? I guess at a minimum a copy of
> the licence would need to appear somewhere -- perhaps under
> src/backend/jit/llvm?
I'm also not super knowledgeable about the licensing intricacies but I
read it the same way - a license file has to be provided due to the 4a
clause. llvmlite did this when they added the patched memory
manager[1]
> 4d says that if you modified the code you have
> to say so prominently, but I did that at the top (and the changes are
> completely trivial, just some #ifdef swizzling to massage some
> function prototypes to suit older LLVMs). Otherwise I understand it
> to be generally "BSD-like" (sans advert clause) but there is also some
> stuff about patents, which surely aren't relevant to this in
> practice... but I know that some projects object to it on principle
> and because it smells like contract law, or something.... not an area
> I am well informed about. Who should I be asking? (Naively, I
> wondered: could there be some kind of fair use concept for
> back-patching fixes to broken libraries that you're merely a user of
> where you can be excused from the burdens of a distributor? Yeah
> wishful thinking I'm sure.)
You mean 4b, right? LLVM doesn't seem to have any NOTICE files so the
4d clause shouldn't apply. The top comment looks fine to notify the
source of the modified file and how it was changed. But again, I don't
have much experience in this so I can't be sure.
[1]:
https://github.com/numba/llvmlite/pull/1009/files#diff-80b149f35cebd583e21dfc49c0007a7fab89c3c6d07c028e4a87de0848aa2ed8