2012-02-29 13 views
6

मैं ओपन-सोर्स के रूप में अधिकतर शैक्षणिक (यदि कोई हो) उद्देश्यों के लिए एक निजी परियोजना के रूप में रिलीज करने की योजना बना रहा हूं। यह केवल विंडोज़ है।ओपन-सोर्स रिलीज के लिए प्रोजेक्ट को व्यवस्थित करने के लिए कैसे करें

मेरा अपना कोड MIT लाइसेंस के तहत जारी किया जाएगा, लेकिन मैं भी इस पुस्तकालयों/घटकों का उपयोग करें:

  • स्तोत्र
  • स्फुलिंग
  • स्फुलिंग पी.जे. Naughter घटक
  • glaux

यह सुनिश्चित करने के अलावा कि मैं इनमें से प्रत्येक पुस्तकालय लाइसेंस फाइलों को शामिल करता हूं, मुझे उन्हें स्रोत कोड आर में कैसे एकीकृत करना चाहिए ईली पेड़?

वर्तमान में प्रत्येक के लिए मैं एक विशेष रिलीज/संशोधन का उपयोग करता हूं जिसे मैंने मैन्युअल रूप से अनुकूलित या निर्मित और स्रोत कोड फ़ाइलों और बाइनरी लाइब्रेरी फ़ाइलों के संदर्भ में एकीकृत और एकीकृत किया है। क्या यह पर्याप्त है? मैं परिणामस्वरूप पैकेज को पूर्ण तृतीय पक्ष स्रोत पेड़ों के साथ बोझ नहीं करना चाहता, लेकिन साथ ही मैं इसे स्क्रैच से संकलित करना चाहता हूं।

इसके अलावा मैं अपनी अंतिम संकलित निष्पादन योग्य फ़ाइलों को शामिल करना चाहता हूं। क्या यह फहरा हुआ है? मैं परिणामी exe वायरसटॉटल के साथ जांचूँगा।

+1

तृतीय-पक्ष घटकों को शामिल या शामिल नहीं दोनों वैध विकल्प हैं। आप बाइनरी में केवल डीएलएल शामिल कर सकते हैं लेकिन उपयोगकर्ताओं को संकलन करते समय अपने स्रोत डाउनलोड करने की आवश्यकता होती है। और नहीं, द्विआधारी जारी करना "फहराया नहीं गया", esp। विंडोज के लिए कुछ उपयोगकर्ताओं को कंपाइलर्स स्थापित होंगे। –

+0

क्या करीबी वोटों के कलाकार ऐसा करने के लिए अपनी प्रेरणा की व्याख्या करना चाहते हैं? –

+0

यदि यह जावा प्रोजेक्ट था, तो मैं कहूंगा कि आपको निश्चित रूप से किसी भी रूप में निर्भरता शामिल नहीं करनी चाहिए, बल्कि ग्राडल, आइवी, या मेवेन स्क्रिप्ट के रूप में उन्हें वर्णित मेटाडेटा शामिल करना चाहिए। इससे आपको उन्हें वितरित करने की आवश्यकता से मुक्त कर दिया जाएगा, जबकि आपके उपयोगकर्ताओं को दर्द रहित तरीके से पकड़ने की अनुमति भी मिल जाएगी। क्या सी दुनिया में इसका बराबर है? यदि आप एक विशिष्ट लिनक्स वितरण के लिए रिलीज कर रहे थे, तो आप एक स्रोत पैकेज बना सकते हैं, लेकिन क्या पोर्टेबल कुछ भी है? –

उत्तर

1

मेरा अपना कोड MIT लाइसेंस के तहत जारी किया जाएगा, लेकिन मैं भी इस पुस्तकालयों/घटकों का उपयोग करें: [...]

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

आप दूसरों के केवल रिलीज आप एक "एसडीके" रिलीज जो स्रोत और बाइनरी रूप में पुस्तकालय निर्भरता के रूप में अपने कोड है उसका प्रकार की पेशकश करने के लिए चाहते हो सकता अगले एक द्विआधारी करने के लिए, इसके साथ टिंकर करने के लिए के लिए आपके आवेदन की पेशकश करना चाहते हैं के रूप में ।

जैसा कि आप सभी स्रोतों से संकलित करने में भी सक्षम होना चाहते हैं, आपको व्यावहारिक कारणों से प्रत्येक रिलीज के लिए एक पूर्ण स्रोत पैकेज भी बनाना चाहिए।

अपने आप को एक स्क्रिप्ट बनाएं जो स्वचालित रूप से इन पैकेजों में से प्रत्येक को बनाने में सक्षम है। अपनी बिल्ड स्क्रिप्ट को संशोधन नियंत्रण के तहत भी रखें। यदि आपके पास अभी कोई संशोधन नियंत्रण नहीं है, तो पहले अपने स्रोत पेड़ को संशोधन नियंत्रण के तहत रखें।

यह केवल व्यावहारिक सुझाव हैं ताकि आप जो भी खोज रहे हैं उसे प्राप्त कर सकें जबकि अन्य उपयोगकर्ताओं को आपके कार्यक्रम की अच्छी पहुंच भी मिल सके।

आपके द्वारा सूचीबद्ध पुस्तकालयों/घटकों के लाइसेंसिंग के लिए, मैंने और जानने का प्रयास किया। यदि लागू हो तो मुझे SPDX Open Source License Registry से छोटे पहचानकर्ता मिल गए।यह प्रत्येक लाइसेंस के लिए लिंक शामिल है, इसलिए यह अपने पैकेज के लाइसेंस स्थिति वर्गीकृत करने के लिए एक अच्छा उपकरण है:

  • ODE (Open Dynamic Engine) - License: LGPL-v2.1+ या BSD-3-Clause
  • Scintilla (Scintilla and SciTE) - License: HPND
  • Scintilla PJ Naughter component - License: स्किंटिला पीजे नशा घटक लाइसेंस:

    कॉपीराइट // आप अल हैं जब आपका उत्पाद द्विआधारी रूप में जारी किया जाता है तो किसी भी उत्पाद (वाणिज्यिक, शेयरवेयर, फ्रीवेयर या अन्यथा) में स्रोत कोड शामिल करने के लिए कम किया जाता है। // आपको किसी भी तरह से स्रोत कोड को संशोधित करने की अनुमति है, सिवाय इसके कि आप प्रत्येक मॉड्यूल के शीर्ष पर कॉपीराइट विवरण संशोधित नहीं कर सकते हैं। // यदि आप अपने आवेदन के साथ स्रोत कोड वितरित करना चाहते हैं, तो आपको केवल लेखक द्वारा जारी संस्करणों को वितरित करने की अनुमति है। यह स्रोत कोड के लिए एक एकल वितरण बिंदु बनाए रखने के लिए है।

  • GLAux (ओपन सहायक पुस्तकालय) - लाइसेंस: Unknown/Various

(IANAL) ऐसा लगता है कि इन सभी अनुमोदक लाइसेंस प्रकार के हैं कि, लग रहा है तो आप ज्यादातर स्रोत जारी करने के लिए बाध्य नहीं हैं। दो टिप्पणियां:

  1. मैं GLAux के बारे में जानकारी प्राप्त करने के लिए सक्षम नहीं था। हो सकता है कि आप उन स्रोत फ़ाइलों को देखना चाहें जो आपके पास लाइसेंसिंग लागू होते हैं। अधिक जानने के लिए यह कुछ जटिल था, ऐसा लगता है कि पुस्तकालय को बहिष्कृत किया गया है। मैंने जो देखा वह यह था कि यह ओपनजीएल प्रोजेक्ट का हिस्सा था, लेकिन मुझे नहीं पता कि आप कौन सी स्रोत-फाइलों का उपयोग करते हैं और आपने उन्हें कहाँ प्राप्त किया।

  2. स्फुलिंग पी.जे. Naughter घटक एक गैर मानक लाइसेंस जो संशोधित स्रोत-कोड के वितरण की अनुमति नहीं देता है। लेकिन आपको अपरिवर्तित कोड वितरित करने की अनुमति है। मुझे लगता है कि मूल लेखक का इरादा यह है कि वह अपने स्रोत के अलावा अन्य स्रोत वितरण नहीं चाहता (कांटा लेकिन कांटा नहीं बदलता)। मैं कहूंगा कि आपको तब तक अनुरूप होना चाहिए जब तक आप कर सकते हैं और यदि आप अब मूल लेखक से संपर्क नहीं कर सकते हैं और इस मुद्दे पर चर्चा नहीं कर सकते हैं। यदि यह किसी व्यावहारिक समाधान का समाधान नहीं करता है, तो मूल लेखक द्वारा व्यक्त कॉपीराइट के तहत प्रतिबंधों को कम करने के लिए आपको उस मामले में अपने अधिकारों के बारे में एक वकील से संपर्क करने की आवश्यकता हो सकती है।

इसके अलावा मैं अपने अंतिम संकलित निष्पादन योग्य फ़ाइलों शामिल करना चाहते हैं। क्या यह फहरा हुआ है? मैं परिणामी exe वायरसटॉटल के साथ जांचूँगा।

ऐसा क्यों होना चाहिए, इससे सॉफ़्टवेयर उन लोगों के लिए सुलभ हो जाएगा जो संकलित नहीं करना चाहते हैं या नहीं।

यदि आप सार्वजनिक स्रोत-कोड भंडार की तलाश में हैं जो इन शर्तों के तहत आपके रेपो को स्वीकार करता है, github करता है। उनका एकमात्र दायित्व यह है कि स्रोत-कोड दृश्यमान है और रेपो को फोर्क किया जा सकता है - क्योंकि यह कोड और प्रत्येक कांटा के साथ दिए गए अधिकारों के बारे में बहुत कुछ नहीं कहता है, आपके द्वारा स्पष्ट किए गए कोड का लाइसेंसिंग करें। Google कोड जैसी अन्य साइटें इसकी अनुमति नहीं देगी क्योंकि वे केवल ओएसआई अनुमोदित लाइसेंस के तहत कोड स्वीकार करते हैं जो स्किंटिला पीजे नशा घटक के लिए सही नहीं है।

फ़ाइलें rainbru suggested जोड़ें।

2

कम से कम, आपको COPYING फ़ाइल को उपयोग किया जाना चाहिए जिसमें उपयोग किए गए लाइसेंस (उदाहरण के लिए एमआईटी) का पूरा पाठ शामिल है। मुझे लगता है कि यह एकमात्र आवश्यक फाइल है।

मैं आमतौर पर NEWS और AUTHORS भी शामिल करता हूं। DEPENDENCIES फ़ाइल जोड़ने का भी एक अच्छा विचार हो सकता है।

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