IANAL, но вот мое мнение о том, что разрешено в рамках GPL:
распространять объединенную работу "A - B" публично: отлично, можно сделать по любой проприетарной лицензии
создайте обертку lib D для C с помощью Y: хорошо, это не означает, что A нужно поставить под GPL
использовать комбинированный продукт "A - D - C" внутри Y: также хорошо, GPL не требует открытого источника A, если комбинация не распространяется среди общественности
распространять объединенную работу "A - D - C" публично: для этого потребуется, чтобы A был открытым исходным кодом и был поставлен под GPL (и не имеет значения, распространяли ли эту комбинацию X или Y; кроме того, если Y хочет сделать это что, им, конечно, потребуется лицензия на распространение для A от X)
Интересный вопрос сейчас: может ли D & C распространяться отдельно как открытый исходный код под лицензией GPL, A & B (или просто A без B) распространяться по закрытой лицензии, и конечный пользователь заменяет B на D & C сам?
Здесь окончательная модификация «AB», которая делает A зависимым от библиотек D & C, выполняется конечным пользователем - после распространения . Таким образом, можно утверждать, что окончательная модификация выполняется только внутренне конечным пользователем. И кажется, что это действительно возможно без нарушения GPL - и вы получаете рабочую комбинацию «AC & D», где A находится под частной лицензией, а C & D под GPL.
Конечно, у адвоката или судьи может быть другое мнение по этому поводу. Чтобы получить окончательный ответ, я думаю, вы должны подождать, пока кто-нибудь не попробует его, а второй подаст в суд на него.
Я предполагаю, что для большинства систем будет трудно создать такое созвездие, не спроектировав "A" с самого начала таким образом, чтобы оно беспрепятственно работало с B или C. И в этом случае можно было бы предположить, что A был как-то получен из C.
РЕДАКТИРОВАТЬ: подумав немного об этом, мне в голову пришла похожая ситуация: написание и распространение лицензионных плагинов GPL для приложений с закрытым исходным кодом. Возьмем, к примеру, Photoshop. Я не думаю, что кто-то серьезно попытался бы заставить Adobe использовать Photoshop с открытым исходным кодом только потому, что существуют некоторые плагины GPL от сторонних поставщиков. Здесь даже не требуется «оболочка lib», поскольку существует четко определенный интерфейс. Однако изменит ли это ситуацию, если Photoshop будет включать некоторые из своих центральных функций из стороннего плагина под лицензией GPL? Я думаю, что для такого случая может быть действительно трудно решить, где провести черту, и в этот момент продукт с закрытым исходным кодом является работой, «основанной» на библиотеке GPL.
РЕДАКТИРОВАТЬ 2: Доступны библиотеки с двумя лицензиями, с лицензией GPL для некоммерческого использования и проприетарной лицензией для коммерческого использования, как, например, эта, Таким образом, ваша «лазейка» будет означать разработку продукта на основе такой библиотеки (используя коммерческую версию, чтобы GPL не применялась к вашему продукту), доставить ваш продукт с закрытым исходным кодом без библиотеки для широкой публики и дать Пользователь получает и устанавливает версию GPL самостоятельно. В таком случае, я полагаю, у продавца библиотеки будет хороший шанс предъявить вам иск за нарушение лицензии (если вы, конечно, не заплатите за его библиотеку). Стоит ли хлопот? Возможно нет. В частности, в приведенном мной примере вам также придется купить библиотеку, поскольку цена зависит не от того, как часто вы продаете свой продукт, а только от того, сколько разработчиков используют библиотеку во время разработки.
Наконец, из-за этих юридических рисков, если я собираюсь использовать библиотеки с открытым исходным кодом в продукте с закрытым исходным кодом, я бы по возможности избегал библиотек GPL и не пытался использовать эту «лазейку». LGPL или GPL со ссылками на исключение намного безопаснее, или любой вид невирусной лицензии ОС.