2010-01-06 12 views
8

मान लीजिए कि मेरे पास कोई ओपन सोर्स प्रोजेक्ट नहीं है जिसमें लाइसेंस की जानकारी नहीं है। इसके अलावा, मान लें कि किसी ने भी सार्वजनिक रूप से योगदान नहीं दिया है और इसलिए मेरे पास प्रोजेक्ट का स्रोत कोड और कॉपीराइट है।मेरी परियोजना के लिए एक ओपन सोर्स लाइसेंस जोड़ना पूरे परियोजना संशोधन इतिहास पर लागू होगा?

  1. कहें कि स्रोत कोड पहले से ही ऑनलाइन होस्ट किया गया है। अगर मैं संबंधित कॉपीिंग दस्तावेज़ को रिपोजिटरी में अपलोड करके और स्रोत फ़ाइलों को समायोजित करके ओपन सोर्स लाइसेंस देने का निर्णय लेता हूं, तो क्या परियोजना के पिछले संस्करण भी लाइसेंस प्राप्त हो जाएंगे? या क्या मौजूदा संस्करण भविष्य में सुरक्षित होंगे जबकि पिछले संस्करण सार्वजनिक डोमेन के अंतर्गत आते हैं?

  2. वैकल्पिक रूप से, कहें कि मैं अपनी स्थानीय मशीन पर एक डीवीसीएस (उदा। Mercurial) का उपयोग कर एक नई परियोजना शुरू करता हूं। मैं अपने सभी परिवर्तन (स्थानीय रूप से) करता हूं और फिर बाद में परिवर्तन में लाइसेंस जानकारी जोड़ता हूं। अगर मैं प्रोजेक्ट/रिपोजिटरी होस्ट करना चाहता हूं, तो क्या पूरा इतिहास लाइसेंस प्राप्त होगा या केवल उस परिवर्तन के बाद वाले संस्करण होंगे?

में (2), प्रोजेक्ट शुरू में होस्ट नहीं किया गया है, इसलिए यह किसी समस्या की तरह प्रतीत नहीं होता है। लेकिन एक बार यह अपलोड होने के बाद, परियोजना के कुछ इतिहास में लाइसेंस की जानकारी शामिल नहीं होगी, जिससे नतीजा लगभग बिल्कुल दिखता है (1)।

मैं पूछता हूं क्योंकि Google कोड आपको एक नई परियोजना पर लाइसेंस चुनने की अनुमति देता है, भले ही आप रिपोजिटरी आयात करना चाहते हैं, भले ही लाइसेंसिंग वास्तविक स्रोत कोड से कुछ हद तक बाहरी हो, जबकि bitbucket.org नहीं करता है।

+4

मैं इस सवाल को ऑफ-विषय के रूप में बंद करने के लिए मतदान कर रहा हूं क्योंकि यह लाइसेंसिंग और कानूनी मुद्दों के बारे में है, प्रोग्रामिंग या सॉफ्टवेयर विकास नहीं। [यहां देखें] (http://meta.stackoverflow.com/a/274964/1402846) विवरण के लिए, और [सहायता/विषय] अधिक के लिए। – Pang

+0

@ पांग ओह। ठीक। वैसे यह स्रोत नियंत्रण से जुड़े एक प्रश्न भी है, जो "लाइसेंसिंग" के रूप में सामान्य नहीं है। – Joe

उत्तर

3

यदि आप पूरे इतिहास में आवेदन करने के लिए लाइसेंस चाहते हैं, तो बस लाइसेंस फ़ाइल में ऐसा कहें, 'यह फ़ाइल संशोधन एक्स में जोड़ा गया था, लेकिन आप मान सकते हैं कि लाइसेंस x से पहले सभी संशोधनों पर लागू होता है कुंआ'।

आप इसे लाइसेंस के रूप में देखकर लाइसेंस के रूप में देख सकते हैं ... legalbol कोड है, यदि आप चाहें तो स्कोपिंग को स्पष्ट किया जा सकता है।

+0

यह समझ में आता है। लेकिन यह एक और सवाल उठाता है: क्या होता है जब एक पूर्व संशोधन जिसमें उस फ़ाइल को फोर्क/क्लोन नहीं किया जाता है, क्या वह कांटा अभी भी लाइसेंस के दायरे में पड़ता है? शायद यह आवश्यक है कि डेवलपर बाद में संशोधन से लाइसेंस कॉपी करे ..? – Joe

+0

मुझे लगता है कि आपको उस वकील से सवाल पूछना होगा। कॉपीराइट कानून के बारे में मुझे क्या पता है, मुझे उम्मीद है कि यह उस दायरे में आ जाएगा, लेकिन आप कानूनी मुद्दों से कभी नहीं जानते। –

2

मैं वकील नहीं हूं लेकिन जहां तक ​​मुझे पता है कि वेब पर स्पष्ट रूप से कोड या सामग्री का कोई भी रूप वास्तव में सार्वजनिक डोमेन नहीं बनाता है।

आपके लाइसेंस के समय के संबंध में: यदि आप संशोधन कोड में अपने कोड के लिए लाइसेंस संलग्न करते हैं, तो यह केवल तब तक संशोधन 100 और भविष्य में परिवर्तनों को प्रभावित करेगा जब तक आप उस लाइसेंस को फिर से नहीं बदल देते। अन्यथा, उदाहरण के लिए, कोड को बाद में ओपनसोर्स होने से वापस कर सकते हैं।

मेरी समझ से कुछ कोड (किसी दिए गए संशोधन के साथ) की जांच करते समय आपको प्राप्त होने वाले लाइसेंस को परियोजना के उस संशोधन के लिए लागू लाइसेंस है। आईएमओ यह भी है कि परियोजनाओं से कांटे को संभव बनाता है जो कुछ ओएसआई लाइसेंस से ओपनसोर्स कोड का उपयोग कर बंद किए गए हैं।

नतीजतन, आपको संभवतः के साथ ऑनलाइन जानकारी देने से पहले लाइसेंस जानकारी के साथ एक नया रेपो बनाना चाहिए।

+0

+1 "... इसे ऑनलाइन रखने से पहले लाइसेंस जानकारी के साथ एक नया रेपो बनाना चाहिए।" – Russell

+0

मैं आपके साथ सहमत हूं, क्योंकि एक संशोधन पर फोर्किंग/क्लोनिंग लाइसेंस और भविष्य के संस्करणों को एक अलग लाइसेंस के तहत ले जाएगा, इसे प्रभावित नहीं करना चाहिए। और मैं "इसे ऑनलाइन रखने से पहले" से सहमत हूं। लेकिन जब आप स्थानीय रूप से एक परियोजना के मालिक होते हैं और लाइसेंस के साथ इसे प्रकाशित करना चाहते हैं (इसके इतिहास सहित, जैसे Mercurial + bitbucket), तो यह घोषणा करने का एक सीधा तरीका होना चाहिए कि "मेरे सभी काम [अब तक] इस लाइसेंस के अंतर्गत आते हैं।" – Joe

3

जब तक आप किसी भी जीपीएल पुस्तकालयों का उपयोग नहीं कर रहे हैं तो आप अपने कोड के साथ क्या करते हैं। आप कह सकते हैं कि आप कोड जीआरपी को पूर्ववत कर रहे हैं या आप कह सकते हैं कि जीपीएल कौन सा संस्करण है और बीएसडी का संस्करण कौन सा संस्करण है और अपाचे लाइसेंस कौन सा संस्करण है। आप दोहरी लाइसेंस भी प्रदान कर सकते हैं: बीएसडी का उपयोग करने के लिए जीपीएल का उपयोग करें या मुझे $ 100 का भुगतान करें (जैसा कि क्यूटी लोगों ने एलजीपीएल पेश करने का फैसला करने से पहले किया था)।

अब, यदि आप जीपीएल लाइसेंस प्राप्त लाइब्रेरी का उपयोग कर रहे हैं तो आपका कोड पहले ही जीपीएल है।

+0

जीपीएल लाइसेंस प्राप्त पुस्तकालयों का उपयोग करने के बारे में अच्छा बिंदु। – Russell

+0

मेरी समझ यह है कि यदि आपके पास स्रोत के कॉपीराइट का स्वामी है, तो आप दूसरों के लिए लाइसेंस के परिस्थितियों के संबंध में दूसरों के लिए लाइसेंस दे सकते हैं, हालांकि आप सही हैं, एक प्रतिलिपि लाइसेंस के रूप में जीपीएल की स्थिति है कि यदि आप जीपीएल लाइब्रेरी का उपयोग करते हैं, तो आपको जीपीएल का भी उपयोग करना होगा। प्रोजेक्ट rtepository इतिहास, विशेष रूप से Mercurial- शैली के बारे में कानून क्या कहता है के रूप में मैं अधिक curiouis हूँ। – Joe

+0

बीटीडब्ल्यू, +1 (जब मैं कर सकता हूं) – Joe

0

आप स्रोत इतिहास का खुलासा क्यों करना चाहते हैं? अपने परिदृश्य का सबसे आसान समाधान यह है कि बस अपना कोड कॉपी करें और एक नया नया भंडार बनाएं, फिर ओपन सोर्स लाइसेंस के साथ कहीं भी इस नए भंडार को पोस्ट करें। उस स्रोत को खींचें जो वर्तमान में लाइसेंस के बिना ऑनलाइन लटक रहा है, और आप सुनहरे हैं। पुराना स्रोत और नया स्रोत पूरी तरह से अलग है और कोई समस्या नहीं होनी चाहिए। अगर किसी के पास पुराने स्रोत की एक प्रति है, तो संभवतः आप उन्हें जो कुछ भी चाहते हैं, उसे रोकने से रोकने के लिए कुछ भी नहीं कर सकते हैं, लेकिन आपके पास आगे बढ़ने वाली सभी चीज़ों के लिए एक साफ स्लेट है।आपके नए रेपो (लाइसेंस वाला एक) से खींचा गया कुछ भी उस लाइसेंस द्वारा कवर किया जाएगा।

मुझे लगता है कि आप वर्तमान में ऑनलाइन स्रोत होस्ट किए गए स्रोत के लेखक हैं। यदि आप नहीं हैं, तो आपके पास अन्य मुद्दों के साथ संघर्ष करने के लिए, अर्थात्, क्या आपके पास किसी और के स्रोत कोड के लिए लाइसेंस निर्दिष्ट करने का अधिकार है या नहीं।

+0

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

0

यदि आप एलजीपीएल (या अपाचे या बर्कले-लाइसेंसीकृत) कोड का उपयोग करते हैं तो आप जीपीएल कोड का उपयोग करके बेहतर हो जाते हैं जिसके लिए इस कोड के आधार पर लिखे गए सभी कोड को ओपन सोर्स के रूप में प्रकाशित किया जाना चाहिए। http://www.google.com/help/faq_codesearch.html#license देखें, लेकिन आपको इस स्रोत से Google कोड के बारे में बेहतर जानकारी मिल सकती है।

+0

हाय, उत्तर के लिए धन्यवाद। हालांकि इस सवाल में, मैं इस परियोजना को प्रकाशित करने के बारे में अधिक उत्सुक हूं कि यह घोषणा करता है कि इसके स्रोत कोड के प्रत्येक संशोधन में एक निश्चित लाइसेंस है, इतना नहीं कि मुझे किस लाइसेंस का उपयोग करना चाहिए। – Joe

संबंधित मुद्दे