Bu kesin bir konu değil. Spektrumun iki uç ucunu düşünün:
Özel istemci yazılımınız bir HTTP istemcisidir ve HTML yanıtları verir. Herhangi bir HTTP sunucusuyla çalışabilir. Hizmetiniz için kullandığınız HTTP sunucusu GPL bileşenlerini kullanıyor.
GPL lisanslı bileşenler kullanan bir programınız var. Bu programın çalışmasında rasgele bir nokta seçiyorsunuz ve programı iki programa bölüyorsunuz. İki program tamamen gereksiz ağ üzerinden iletişim kurar. Tüm GPL lisanslı bileşenleri GPL kapsamındaki ilk programa ve lisansa koyarsınız ve diğer programı GPL uyumlu olmayan bir lisans altında lisanslarsınız.
İlk dava açıktır. İkinci dava net değil. Özel davanız hakkında fazla bilgi vermediniz ve bunu yapsanız bile, sadece bir mahkeme kararı haklı olup olmadığınıza kesin olarak karar verebilir.
GPL SSS'nin birlikte çalışabilir, ayrı olarak lisanslanan programlar hakkında şunları söylemesi gerekir :
Ancak, çoğu durumda GPL kapsamındaki yazılımı tescilli sisteminizin yanına dağıtabilirsiniz. Bunu geçerli bir şekilde yapmak için, özgür ve özgür olmayan programların silah uzunluğunda iletişim kurduğundan, onları etkili bir şekilde tek bir program yapacak şekilde birleştirilmediğinden emin olmalısınız .
Bu ve GPL kapsamındaki yazılımı “dahil etme” arasındaki fark kısmen madde ve kısmen biçimdir. Esas kısım şudur: eğer iki program etkili bir şekilde bir programın iki parçası olacak şekilde birleştirilirse, bu programlara iki ayrı program olarak davranamazsınız. Yani GPL her şeyi kapsamalıdır.
Müşterinizin sunucunun "aynı programın iki bölümü" standardını karşılayıp karşılamadığına (ve her birinin GPL kapsamında lisanslanması gerekip gerekmediğine) karar vermelisiniz. GPL SSS , bu konu hakkında başka bir soru hakkında daha fazla açıklama verir :
İki ayrı program ile iki parçalı bir program arasındaki çizgi nerede? Bu, nihayetinde yargıçların karar vereceği yasal bir sorudur. Uygun bir kriterin hem iletişim mekanizmasına (exec, borular, rpc, paylaşılan bir adres alanı içindeki fonksiyon çağrıları, vb.) Hem de iletişimin semantiğine (ne tür bilgilerin değiştiği) bağlı olduğuna inanıyoruz .
...
Aksine, borular, soketler ve komut satırı argümanları normalde iki ayrı program arasında kullanılan iletişim mekanizmalarıdır. Bu yüzden iletişim için kullanıldıklarında, modüller normalde ayrı programlardır. Ancak , iletişimin anlambilimi yeterince yakınsa, karmaşık iç veri yapılarını değiş tokuş etmek, bu iki parçayı daha büyük bir programda birleştirmek için bir temel olabilir .
Bu nedenle, ağ iletişimi kesinlikle "iletişim mekanizması" testini geçmektedir, ancak istemci / sunucu çiftinizin "iletişim semantiği" testine nerede düştüğü belirsizdir.