Boost logo

Boost Users :

From: David Abrahams (dave_at_[hidden])
Date: 2004-03-01 09:43:23


"Darryl Green" <Darryl.Green_at_[hidden]> writes:

> I'm happy to provide a patch once I'm reasonably sure I understand the
> license. I'm assuming an email discussion will be more productive than
> patches in the meantime. I have one more question that I have a proposed
> FAQ answer for, but my "answer" is based purely on what I think it
> should be, not an understanding of the law. The point that confuses me
> is:
>
> If a program uses boost, the binary distro doesn't need to contain the
> license, but it is a derivative work. As I understand it, a derivative
> work contains exclusive rights both the "preexisting material" author
> and "contributed material" author.

Not a complete sentence. Missing "of" after "rights"?

> This in turn means there must be some form of agreement as to how
> the derivative work can be distributed. The boost license seems to
> deal with that by saying that the derivative work must contain the
> boost license wording unless the derivative work is object
> code.

Basically right.

> That seems to result in a reasonably clear rule for derivative works
> that are not object code. What I'm not sure on is whether the grant
> to allow derivative works, combined with permission to omit the
> license wording from object code, gives the "contributing author"
> the right to distribute the object code "derived work" under any
> terms/license that author choses?

That was the intent, and as far as I can tell the license fulfills the
intent.

> Here is my proposed "patch" in a form suitable for forwarding to lawyers
> for "testing".
>
> Q: Does #include <boost/any_old_header.hpp> make the including file a
> derived work?

Translation for non-programmers (lawyers in particular):

The incantation

      #include <boost/something>

in a user's source file is a way of telling the compiler, which
processes source files and turns them into object files, to process
the text of the boost source file called "something" as part of
processing the user's source file.

> A: No. That is use, but not derivation. But if instead of #include,
> you pasted in a legally significant portion of
> <boost/any_old_header.hpp>, that would make your program a
> derived work. Note that if you pasted in code from several
> sources, your code might become a derived work of each of those
> sources.
>
> Source - Beman Dawes in
> http://aspn.activestate.com/ASPN/Mail/Message/boost/1686928
>
> Q: Is the object file produced by compiling a source file which contains
> #include <boost/any_old_header.hpp> a derived work?
>
> A: Yes. However, the license explicitly grants the right to
> distribute object code derivative works (the result of compiling
> source which includes boost files) without the boost license.
>
> Q: So I can apply my own choice of license terms to the object code?
>
> A: Yes.
>
> Is this legally and "intently" correct?

I believe so. Subject to approval by a lawyer I think we should add
it to the FAQ.

-- 
Dave Abrahams
Boost Consulting
www.boost-consulting.com

Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net