There are some specific usage examples I would like to learn, regarding of using some open source libraries inside a commercial closed source product(binary, executable). Most of the answers online cover only open-source products, and license compatibility. This resulted in me opening this question.
1. Openssl / libssl / libcrypto
Is it okay to use these libraries from the system. For example,
#include <openssl/evp.h> #include <openssl/err.h> #include <openssl/conf.h>
In this example, libraries themselves are not distributed, but every Unix system has them, and is used from the customers' computer. I have seen this usage in an MIT licensed library, never mentioning the license of openssl anywhere. Is this normal?
2. Openssl (static linking)
Sometimes, to get around versioning problems, static linking is applied. In this example, libraries would be distributed with the product.
3. -static-libgcc, -static-libstdc++
I know, the GCC compiler, gives the rights to the compilation output to the developer. But if one is trying to avoid runtime library version problems, these libraries can also be included in the binary.
4. Not including the license notices of an included project's own dependencies
Imagine you are using an MIT license open source project, in a binary I described above. You include the project's license notice, but not the other 30 different MIT licensed projects that the first one already includes (therefore depends on). Is it the first project's responsibility to mention them in their website, etc. Or should I dig out every dependency that project includes, and mention them myself ?
Would these usages be copyright infringements? I know these libraries provide some exceptions for non-violating usage. Do these require copyright notices with the exception mentioned? I looked up these exceptions, and they were really confusing for me, couldn't understand if they applied to me.
Note: I apologize for combining many questions into one, but separating them would require explaining the topic over and over again.