Це не чітке питання. Розглянемо два крайніх кінця спектру:
Ваше програмне забезпечення для клієнта - це клієнт HTTP і він надає відповіді HTML. Він може працювати з будь-яким сервером HTTP. HTTP-сервер, який ви використовуєте для своєї послуги, звичайно використовує компоненти GPL.
У вас є програма, яка використовує компоненти, що мають ліцензію GPL. Ви вибираєте довільну точку в роботі цієї програми і розбиваєте програму на дві програми. Дві програми спілкуються через абсолютно зайвий мережевий скачок. Ви ставите всі компоненти, що мають ліцензію GPL, у першу програму та ліцензію під GPL, а іншу програму ви отримуєте під ліцензією, сумісною з GPL.
Перший випадок явно добре. Другий випадок явно не в порядку. Ви не давали багато інформації щодо вашої конкретної справи, і навіть якщо ви це зробили, лише рішення суду може остаточно вирішити, чи маєте ви право.
Поширені запитання щодо GPL мають таке значення про сумісні програми, що мають окрему ліцензію :
Однак у багатьох випадках ви можете поширювати програмне забезпечення, охоплене GPL, поряд із власною власною системою. Щоб зробити це дійсно, ви повинні переконатися, що вільні та невільні програми спілкуються на відстані озброєнь , щоб вони не поєднувались таким чином, щоб зробити їх ефективно єдиною програмою.
Різниця між цим та "включенням" програмного забезпечення, охопленого GPL, частково є суттєвою та частково формою. Змістовна частина така: якщо дві програми поєднані так, що вони фактично стають двома частинами однієї програми, то ви не можете розцінювати їх як дві окремі програми. Тож GPL має покрити всю справу.
Ви повинні вирішити, чи вважаєте ви, що ваш клієнт є сервером, відповідає стандарту "дві частини однієї програми" (і тому кожна повинна мати ліцензію відповідно до GPL) чи ні. Поширені запитання щодо GPL дають додаткові пояснення щодо цієї теми з іншого питання :
Де знаходиться лінія між двома окремими програмами та однією програмою з двома частинами? Це юридичне питання, яке вирішать врешті-решт судді. Ми вважаємо, що правильний критерій залежить як від механізму комунікації (exec, pipe, rpc, виклики функцій у спільному адресному просторі тощо), так і семантики комунікації (які види інформації взаємозамінні).
...
Навпаки, труби, розетки та аргументи командного рядка - це механізми зв'язку, які зазвичай використовуються між двома окремими програмами. Отже, коли вони використовуються для зв'язку, модулі зазвичай є окремими програмами. Але якщо семантика комунікації є достатньо інтимною, обмінюючись складними внутрішніми структурами даних, це теж може бути основою для розгляду двох частин, об'єднаних у більшу програму .
Так, мережевий зв’язок, безумовно, проходить тест "механізм комунікації", але незрозуміло, куди ваша клієнтська / серверна пара потрапляє на тест "семантика комунікації".