आपके लिए यह बहुत देर हो सकती है, इसमें आप पहले से ही ऐसा करने के लिए अनुबंध पर सहमत हो सकते हैं, और आप विभिन्न ग्राहकों के साथ पारस्परिक रूप से असंगत शब्दों पर सहमत हो सकते हैं।
दो तरीके हैं जिनसे आप अपने ग्राहकों को अपने स्रोत कोड प्रदान कर सकते हैं। कॉपीराइट का स्वामित्व और लाइसेंस।
कुछ ग्राहक स्रोत कोड का स्वामित्व चाहते हैं। इसका मतलब है, इस प्रक्रिया के अंत में वे आपको पैसे का भुगतान करेंगे और बदले में आप उन्हें उनके द्वारा बनाए गए कोड का कॉपीराइट देंगे। इसका एक कारण यह है कि अगर वे स्रोत कोड में बौद्धिक संपदा के लिए महत्वपूर्ण क्षमता देखते हैं, और अपनी कंपनी की बैलेंस शीट पर यह मूल्य देना चाह सकते हैं। इस परिदृश्य में, आपके पास अन्य परियोजनाओं के लिए उस स्रोत कोड के निरंतर उपयोग के लिए कोई अधिकार नहीं होगा, जब तक कि आप अपने ग्राहक से लाइसेंस प्राप्त नहीं करते हैं।
यदि आपका ग्राहक अपने आप से एक 'शेल्फ' उत्पाद खरीद रहा है, तो वे स्रोत कोड के स्वामित्व के बजाय, सॉफ़्टवेयर का उपयोग करने के लिए लाइसेंस प्राप्त करने की अपेक्षा करेंगे। उन्हें उम्मीद करनी चाहिए कि आप एक ही (या समान) सॉफ़्टवेयर को कई अन्य संगठनों को बेच रहे हैं, और यह कि वे व्यापक ग्राहक आधार के कारण खरीद की कम लागत से उम्मीद कर रहे हैं।
हालाँकि, इस प्रश्न में स्थिति दोनों की एक मिशाल है।
यहाँ है कि मैं क्या करने में सक्षम होना चाहता हूँ। मैं आपके ग्राहक को आपके साझा कोड का उपयोग (और संशोधित) करने का लाइसेंस दूंगा। यदि ग्राहक द्वारा पूछताछ की जाती है, तो मैं यह बताना चाहूंगा कि यह साझा कोड है जिसे आपने पहले ही कई परियोजनाओं में उपयोग किया है और भविष्य में काम के लिए वर्तमान बोलियाँ हैं जो इस काम का उपयोग करने के लिए आपके द्वारा जारी है। इंगित करें कि इससे आपके ग्राहक के लिए इस परियोजना पर कम समय हुआ है और इसके परिणामस्वरूप उन्होंने कम कीमत का भुगतान किया है। परियोजना द्वारा उपयोग किए गए कोड के अन्य साझा पुस्तकालयों की तरह, उनके पास इस कोड का उपयोग करने के लिए एक लाइसेंस है, और अन्य विकास टीमों को इसे विकसित करने की अनुमति देने के लिए, और इस पुस्तकालय पर आधारित अन्य परियोजनाएं हैं। हालाँकि, यदि वे सभी कोड के स्वामित्व में हैं, तो आप एक प्रतिस्थापन बनाने के लिए तैयार हैं, लेकिन यह एक अतिरिक्त शुल्क होगा।
इस बात पर निर्भर करते हुए कि आपने पहले से ही क्या किया है, आप मुक्त करने के लिए एक प्रतिस्थापन कार्यक्षमता लिख सकते हैं, या अपने स्रोत कोड को दे सकते हैं।
याद रखें, विभिन्न प्रकार के पुस्तकालय हैं। C ++ में मानक टेम्पलेट लाइब्रेरी एक पुस्तकालय का एक अच्छा उदाहरण है जो एक स्रोत कोड स्तर पर शामिल है और इसे एक परियोजना निष्पादन योग्य में संकलित किया गया है जो आपके सामान्य कोड का उपयोग करने के तरीके के समान हो सकता है।