Hi there,
Ask a lawyer.
I might (have to). But clarification of the intentions by the maintainers and authors of Boost or the Boost Software License could give a much clearer picture. I see this definition as a very central point.
It is my understanding that derivative means a work based on something. Since your code uses shared_ptr it would then be "based on" shared_ptr.
But that is exactly where clarification is needed. My understanding of the phrase "derivative works" differs from yours, and I suspect that this will be the case for many people. I understand that it is an explicit goal of Boost developers to allow an almost entirely free (in the sense of free speech and free beer) usage of the library, INCLUDING commercial use. If, by simply using (or worse: deriving classes from) components of Boost the authors (who are possibly part of a company) would give away rights in their or their companies' code, very few commercial entities would ever produce software intended for public consumption, based on Boost. It is my understanding that this is one of the most central points where the GPL and the Boost Software License differ. The GPL automatically extends to code based on GPL'ed code. It is "viral" (I do not like that phrase), no matter whether the original, GPL'ed code itself was modified or not. The Boost Software License - at least this is how I understand it - is _not_ viral. But by not defining clearly, what "derivative works" means, this question is left open. Hence my proposal (posted to the Boost.documentation list - it has not appeared there yet) to add a corresponding section to the FAQ. But of course I am not a lawyer either. As per Scott's proposal, I will get myself a copy of Lawrence Rosen's book.
I also think you only need to list the copyright in the code if you give it out.
Well, many people and companies will want to be able to a) write commercial code (and possess all rights in the code) and b) hand out the source code without loosing any rights in their code (at least in code that makes no modifications to the original code). Please note that I'm not trying to argue against Boost or the Boost Software License. This is a great library! But if I loose substantial rights by using it, I at least want to know. Hence I believe that clarification of the term "derivative work" is needed. Best Regards, Ruediger