वर्षों से, मैं ऑनलाइन साझा की गई चीजों पर लाइसेंस डालने का बहुत बड़ा प्रशंसक रहा हूं, ताकि दूसरों के लिए यह निर्धारित करना आसान हो सके कि क्या वे और कहा गई चीजों का पुन: उपयोग कर सकते हैं। इससे पहले कि GitHub ने अपने उपयोगकर्ताओं को अपने रेपो के साथ LICENSE फ़ाइलों को शामिल करने के लिए धीरे-धीरे 'पुश' करना शुरू किया, मुझे वास्तव में पता नहीं था कि कोड के साथ यह कैसे करना है - विशेष रूप से सार्वजनिक रूप से GitHub पर साझा किया गया कोड! - लेकिन मैंने कभी भी LICENSE फाइलों का अच्छा उपयोग करने की कोशिश की है।
मैं अब उस स्थिति में हूं, जहां मैंने कुछ अन्य लोगों के साथ एक छोटे से प्रोजेक्ट पर काम किया है, जिसमें कई लाइसेंसों (3-पार्टी कोड और पुस्तकालयों के साथ-साथ गैर-कोड फ़ाइलों के कारण) के उल्लेख की आवश्यकता होती है । जबकि मेरे साथी इस मुद्दे पर 'धीरे-धीरे' बात करते हैं - यह सुझाव दिया गया था कि मैं 'कोड को ऑनलाइन के रूप में रखता हूं-जैसे, कोई भी परवाह नहीं करेगा' -, मैं बल्कि यह ठीक से करूँगा। समस्या यह है: मैं नहीं जानता कि कैसे GitHub पर कई (अलग) लाइसेंसों का उल्लेख करना चाहिए।
मैंने GitHub पर कई अलग-अलग समाधान देखे हैं , यही कारण है कि मेरे लिए यह न्याय करना मुश्किल है कि अगर यह थोड़ा अलग प्रश्न का उत्तर आधिकारिक है। मैं जानना चाहता हूं कि निम्नलिखित में से कौन सा है - यदि कोई है - सबसे आम है, या यदि कोई अन्य, इसे करने के अतिरिक्त तरीके हैं।
- एक एकल LICENSE फ़ाइल बनाएं और उसमें सभी विभिन्न लाइसेंसों का विवरण डालें। ( प्रश्न : क्या उन्हें एक विशेष क्रम में रखा जाना चाहिए? क्या मैं एक बेहतर अवलोकन के लिए फ़ाइल के भीतर मौजूद सभी लाइसेंसों के नामों का उल्लेख करना शुरू कर दूंगा)?
- बनाएं लाइसेंस प्रति एक लाइसेंस फ़ाइल का इस्तेमाल किया और उन्हें नाम
LICENSE.md
,LICENSE.LibNameA.md
,LICENSE.AssetsB.md
आदि से जुड़े हुए जवाब में सुझाव के रूप में। ( प्रश्न : नामकरण परियोजना के नाम पर आधारित होगा? लाइसेंस के नाम नहीं? यदि मैं स्व-योगदान की गई सामग्री के लिए एक से अधिक लाइसेंस का उपयोग करता हूं, तो क्या मैं उन सभी का उल्लेख 'मुख्य' में करूंगाLICENSE.md
? यदि नहीं, तो मैं इसके बजाय क्या करूंगा?) - दो LICENSE फाइलें बनाएँ : एक 'मुख्य' सामग्री के लिए लाइसेंस (नों) को सूचीबद्ध करना, अर्थात सभी कोड / परिसंपत्तियाँ जो स्वयं ने बनाई हैं; सभी 3 पार्टी सामग्री के लिए एक। ( ऊपर दिए गए प्रश्न : क्या कोई विशेष नामकरण योजना है जिसका उपयोग कोई व्यक्ति करेगा, और वह आदेश जिसमें कोई व्यक्ति तृतीय पक्ष सामग्री को सूचीबद्ध करेगा)?
अंत में, अगर मैंने उनके लाइसेंस एपीआई के बारे में विभिन्न GitHub स्पष्टीकरण और परियोजनाओं को सही ढंग से समझा, तो केवल रेपो के लाइसेंस का निर्धारण करते समय 'मुख्य' LICENSE फ़ाइल को ध्यान में रखा जाएगा (हालांकि मैं यह पता लगाने में सक्षम नहीं हूं कि कौन सा लाइसेंस उठाया जाएगा। यदि कई उल्लेख किया गया हो)।