Is it possible to write proprietary code that links to a shared library that's open source? Under what license and condition are it possible?
Yes, it is possible to write a proprietary, closed-source application that uses open-source libraries.
Most open-source licenses, including the MIT and BSD licenses, require at most that you disclose that the library is being used and under which license the library is distributed.
The most well-known licenses with stricter requirements are:
- The LGPL requires that end-users must be able to replace the LGPL library with a version of their own. This is most easily achieved by dynamically linking to such libraries.
- The GPL and AGPL licenses require that all code in the application is available under an open-source license. This is not compatible with the aim of using it in a closed-source application.