Peter Dimov wrote:
Ruediger Berlich wrote:
If the definition of "derivative works" includes activities commonly understood as "usage" then [...] basically any person just using Boost in an application has to a) include a copyright notice for the corresponding Boost library's author in the code (despite the fact that no modifications of that library's code took place) b) include the Boost license in his/her code.
The same would apply to anyone who uses iostream or any other library. Incidentally, Microsoft does not have a copyright notice in the file for iostream, at least, not in the version I am using.
Let's consider an analogy. If a writer uses words or phrases defined in a dictionary, does he need to acknowledge the copyright of that dictionary in his work? Of course not. If that were illegal, he would have to make up his own words and append a huge glossary to the end of his novel, which no one would then be bothered to read. IANAL, but that is exactly the same as is happening here. Microsoft, Boost, etc, provide definitions of functions, etc, for use, unmodified, in other code. Now, if were to take the code for iostream, change a few things and then market it as my own work, it would be a derivative work and a breach of copyright. If the law is interpreted as meaning that any program that makes use of a library as-is is breaching copyright, then these libraries effectively become unusable, reusability goes out of the window, everyone has to write their own code for I/O and everything else, and C++ dies. Surely that cannot be the intention? (But then the law is an ass.)