*Note: this answer only looks at options with the LGPL, it doesn't go into other licenses.*

I would highly recommend seeing [this][1] in depth-answer first.

The [copyleft tutorial][2] and [gnu.org][3] states - with regards to the LGPL - that:

>Does the LGPL have different requirements for statically vs dynamically linked modules with a covered work?

>For the purpose of complying with the LGPL (any extant version: v2, v2.1 or v3):

>    1.  **If you statically link against an LGPL'd library, you must also provide your application in an object (not necessarily source) format**, so that a user has the opportunity to modify the library and relink the application.

>    2.  If you dynamically link against an LGPL'd library already present on the user's computer, you need not convey the library's source. On the other hand, if you yourself convey the executable LGPL'd library along with your application, whether linked with statically or dynamically, you must also convey the library's sources, in one of the ways for which the LGPL provides.

What this means is that you are permitted to statically link with the LGPL'd library, but must then release enough of the application code to allow end users to modify how the code links with the library

Hope this helps.

  [1]: https://stackoverflow.com/a/10179181
  [2]: https://copyleft.org/guide/comprehensive-gpl-guidech11.html#x14-10400010.8
  [3]: https://www.gnu.org/licenses/gpl-faq.en.html#LGPLStaticVsDynamic