All,
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 we agree with this, then the next question is: what about example code ? Clearly the intention of the example code is to help the developer get on its way for using the library. But is it ok to copy/paste some of that code or does that automatically make the work derived ? For example, for a project, we started from the boost asio http server example, and extended this with various things to suit our needs, and put the result in a library ("wthttpd"). Can we now: 1) license "wthttpd" as GPL code ? (I assume not ?) 2) link this library "wthttpd" together with GPL code, and redistribute the resulting program as a GPL program, but put this library "wthttpd" as a whole under the boost license ? 3) distribute the whole program, including "wthttpd" under a proprietary license where the user is not given access to the source code (under the assumption that we are the copy right owner of all the GPL code involved) ? If not, how should we license this library "wthttpd" ? Regards, koen