Линковка обязательно динамическая. По сути, публикации подлежит весь код тех модулей, которые написаны с использованием LGPL-кода. Статическая линковка внедряет код непосредственно в модуль, поэтому тоже попадает в данную категорию.
GPL можно использовать в закрытых проектах, если связь между компонентами происходит не путём загрузки в адресное пространство процесса, а, например, запуском GPL-программы как отдельного процесса и общением с ней через пайпы. Вот только есть ещё тонкий момент касательно распространения такого комбинированного продукта: GPL-программу нельзя комбинировать в одном пакете с проприетарной, если только это не aggregate (комплект отдельных, не связанных друг с другом программных пакетов, с которыми пользователи будут работать независимо; например, подборка для публикации на CD). Но разница между двумя независимыми программами и одной программой, состоящей из двух частей, зачастую слишком тонка и неопределённа.
Рекомендую почитать
GPL FAQ.