यह एक स्पष्ट मुद्दा नहीं है। स्पेक्ट्रम के दो चरम सिरों पर विचार करें:
आपका मालिकाना क्लाइंट सॉफ्टवेयर एक HTTP क्लाइंट है और यह HTML प्रतिक्रियाओं को प्रस्तुत करता है। यह किसी भी HTTP सर्वर के साथ काम कर सकता है। HTTP सर्वर जो आप अपनी सेवा के लिए उपयोग करते हैं, वह GPL घटकों का उपयोग करने के लिए होता है।
आपके पास एक प्रोग्राम है जो GPL- लाइसेंस प्राप्त घटकों का उपयोग करता है। आप उस कार्यक्रम के संचालन में एक मनमाना बिंदु चुनते हैं और कार्यक्रम को दो कार्यक्रमों में तोड़ देते हैं। दो कार्यक्रम पूरी तरह से शानदार नेटवर्क हॉप पर संवाद करते हैं। आप पहले प्रोग्राम में सभी GPL- लाइसेंस प्राप्त घटक रखते हैं और GPL के तहत लाइसेंस देते हैं, और आप GPL- असंगत लाइसेंस के तहत दूसरे प्रोग्राम को लाइसेंस देते हैं।
पहला मामला स्पष्ट रूप से ठीक है। दूसरा मामला स्पष्ट रूप से ठीक नहीं है। आपने अपने विशेष मामले के बारे में अधिक जानकारी नहीं दी है, और यदि आपने किया भी है, तो केवल एक अदालत का फैसला निश्चित रूप से तय कर सकता है कि क्या आप सही हैं।
GPL अकसर किये गए सवाल को अलग-अलग लाइसेंस प्राप्त कार्यक्रमों के लिए अलग-अलग कहा जाता है :
हालाँकि, कई मामलों में आप अपने मालिकाना प्रणाली के साथ-साथ जीपीएल-कवर सॉफ्टवेयर वितरित कर सकते हैं। इसे वैध रूप से करने के लिए, आपको यह सुनिश्चित करना होगा कि नि: शुल्क और गैर-मुक्त कार्यक्रम हथियारों की लंबाई पर संवाद करते हैं, कि वे एक तरह से संयुक्त नहीं हैं जो उन्हें प्रभावी रूप से एकल कार्यक्रम बना देगा।
इस और GPL- कवर सॉफ्टवेयर को "शामिल करना" के बीच अंतर आंशिक रूप से पदार्थ और आंशिक रूप से है। मूल भाग यह है: यदि दो कार्यक्रमों को संयोजित किया जाता है ताकि वे प्रभावी रूप से एक कार्यक्रम के दो भाग बन जाएँ, तो आप उन्हें अलग अलग कार्यक्रमों के रूप में नहीं मान सकते। तो जीपीएल को पूरी बात कवर करनी है।
आपको यह तय करना होगा कि क्या आपको लगता है कि आपके ग्राहक "समान कार्यक्रम के दो भागों" के मानक को पूरा करते हैं (और इसलिए प्रत्येक को जीपीएल के तहत लाइसेंस प्राप्त होना चाहिए) या नहीं। इस सवाल पर GPL FAQ कुछ और स्पष्टीकरण देता है :
दो अलग-अलग कार्यक्रमों और दो भागों के साथ एक कार्यक्रम के बीच की रेखा कहां है? यह एक कानूनी सवाल है, जो आखिरकार न्यायाधीश ही तय करेंगे। हम मानते हैं कि एक उचित मानदंड संचार के तंत्र (निष्पादन, पाइप, आरपीसी, एक साझा पता स्थान, आदि के भीतर फ़ंक्शन कॉल) और संचार के शब्दार्थ (किस प्रकार की जानकारी आपस में जुड़े हुए हैं) पर निर्भर करता है ।
...
इसके विपरीत, पाइप, सॉकेट और कमांड-लाइन तर्क संचार तंत्र हैं जो आमतौर पर दो अलग-अलग कार्यक्रमों के बीच उपयोग किए जाते हैं। इसलिए जब वे संचार के लिए उपयोग किए जाते हैं, तो मॉड्यूल सामान्य रूप से अलग-अलग प्रोग्राम होते हैं। लेकिन अगर संचार के शब्दार्थ पर्याप्त अंतरंग हैं, जटिल आंतरिक डेटा संरचनाओं का आदान-प्रदान करते हैं, तो वह भी दो भागों को एक बड़े कार्यक्रम के रूप में संयुक्त करने पर विचार करने का एक आधार हो सकता है ।
तो, नेटवर्क संचार निश्चित रूप से "संचार के तंत्र" परीक्षा पास करता है, लेकिन यह स्पष्ट नहीं है कि आपके क्लाइंट / सर्वर की जोड़ी "संचार के शब्दार्थ" परीक्षण पर आती है।