अन्यथा ओपन-सोर्स प्रोग्राम में क्लोज-सोर्स मॉड्यूल के साथ क्लस्टर आकार को प्रतिबंधित करें


10

मैं एक अकादमिक शोध संस्थान में काम करता हूं जो उच्च-प्रदर्शन कंप्यूटिंग पर बहुत अधिक निर्भर करता है। 10 वर्षों में हमने अपना स्वयं का फोरट्रान कोड विकसित किया है जो बहुत अच्छी तरह से माना जाता है और बहुत बड़े समूहों पर चल सकता है। कोड से बड़े अनुसंधान समुदाय को लाभ होने के लिए, हम इसे ओपन-सोर्स बनाने पर विचार कर रहे हैं। हालाँकि, चूँकि हमारी फंडिंग उस शोध पर अत्यधिक निर्भर है, जिसे हम कोड के साथ निष्पादित कर सकते हैं, इसलिए हम पैर में खुद को गोली मार देंगे।

विचारों में से एक सीपीयू की संख्या को सीमित करना है जिस पर कोड चल सकता है, उदाहरण के लिए हम जो 100,000 उपयोग करते हैं उसके बजाय अधिकतम 1000 सीपीयू। इस तरह से वैश्विक अनुसंधान समुदाय कोड से लाभान्वित हो सकता है, लेकिन हम उन समस्याओं के आकार पर लाभान्वित होंगे जो हम चला सकते हैं।

क्या इस तरह की सुविधा वैचारिक रूप से संभव है? और ऐसी सुविधा को कैसे लागू किया जा सकता है? अनिवार्य रूप से हम पूरा कोड ओपन-सोर्स करना चाहते हैं, लेकिन एक (बंद-सोर्स) मॉड्यूल का उपयोग करके उदाहरण के लिए, MPI थ्रेड्स की एक निश्चित संख्या में समानांतरकरण (MPI का उपयोग करके) को सीमित करते हैं।


वास्तव में उस बंद-स्रोत मॉड्यूल क्या करेगा? किसी और के लिए इसे फिर से लागू करना कितना कठिन होगा?
18

जवाबों:


16

आप उन्हें जो कर रहे हैं, उन्हें किए बिना आप जो कर सकते हैं, उसे करने में सक्षम होने के कारण अनुसंधान को लाभ पहुंचाने की कोशिश कर रहे हैं। ऐसा लगता है कि आपने वास्तव में अभी तक एक राजसी पसंद नहीं किया है।

सॉफ्टवेयर स्रोत जैसे कि ओपन सोर्स सॉफ्टवेयर में काम करने की संभावना नहीं है: कोड ओपन सोर्स है, सब के बाद। पहली बात यह है कि अन्य संस्थान बंद स्रोत बिट को चीर देंगे, इसे बिना किसी सीमा के खुले स्रोत बिट से बदल देंगे, और फिर हर कोई इसका उपयोग करेगा।

वहाँ हो सकता है खुला स्रोत नहीं सॉफ्टवेयर, लेकिन बेचने के लाइसेंस कार्य करें: एक समझौता संभव हो सकता है। लाइसेंस वाले संस्थानों को कोड को पढ़ने और संशोधित करने का अधिकार भी मिलता है, लेकिन इसे वितरित करने का नहीं। वार्षिक आधार पर प्रभार। इस तरह से आप शायद उनकी कुछ राशि लेकर फंडिंग में होने वाले नुकसान के लिए तैयार हो सकते हैं।

एक अन्य विकल्प एक पुराने संस्करण को जारी करना है, जिसे आप अपडेट करते हैं लेकिन हमेशा कुछ संख्या में पीछे रह जाते हैं। हालांकि, एक खुला स्रोत समुदाय परियोजना को ले सकता है और नई सुविधाओं को तेजी से विकसित कर सकता है जो आप करते हैं (या हो सकता है कि नहीं; अधिकांश लोग अपने सॉफ़्टवेयर में दूसरों की रुचि को अनदेखा करते हैं)।

या बस इसे जारी करें और उस पर दूसरों के काम का उपयोग करें। आप हमेशा सॉफ्टवेयर के शीर्ष विशेषज्ञ होंगे।


4

यह वास्तव में नहीं किया जा सकता है।

ओपन सोर्स के पीछे विचार यह है कि सोर्स ओपन है , दूसरे शब्दों में, लोगों तक इसकी पहुंच होगी। से विकिपीडिया :

उत्पादन और विकास में, एक विकास मॉडल के रूप में खुला स्रोत किसी उत्पाद के डिजाइन या ब्लूप्रिंट के लिए एक मुफ्त लाइसेंस के माध्यम से एक सार्वभौमिक पहुंच और उस डिजाइन या ब्लूप्रिंट के सार्वभौमिक पुनर्वितरण को बढ़ावा देता है, जिसमें किसी के द्वारा इसके बाद के सुधार शामिल हैं।

डिज़ाइन या ब्लूप्रिंट को सार्वभौमिक पहुँच प्रदान करके, भले ही रिलीज़ किया गया संस्करण केवल 1000 कोर तक सीमित हो, बस उस संख्या को 100000 या कुछ और में बदलना काफी आसान होगा।


यहां कुछ विकल्प दिए गए हैं जो आप इसके बजाय कर सकते हैं:

  • एक लाइसेंस के तहत कोड जारी करने पर विचार करें जो आपके कोड के उपयोगकर्ताओं को प्रतिबंधित करता है
  • एक बंद स्रोत एपीआई लाइब्रेरी जारी करें जो अन्य शोधकर्ताओं को कोड तक पहुंच के बिना आपकी कार्यक्षमता प्राप्त करने की अनुमति देता है।

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

4

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

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

खुले स्रोत के बजाय, आप अपने स्रोत को प्रकाशित करके, लेकिन स्रोत लाइसेंस पर मालिकाना प्रतिबंध लगाकर, दूसरों को कानूनी रूप से प्रतिबंधित करने का प्रयास कर सकते हैं। मैं कई परियोजनाओं के बारे में सोच सकता हूं जिन्होंने यह किया है: घोस्टस्क्रिप्ट, एटी एंड टी यूनिक्स, माइक्रोसॉफ्ट .NET और ज़ेरॉक्स PARC स्मॉलटाक -80। हालांकि वे लोग अंततः पूरी तरह से खुले स्रोत में चले गए, मैं उम्मीद करता हूं कि अन्य कम प्रसिद्ध व्यक्ति हैं जो अभी भी प्रतिबंध लगाते हैं कि लाइसेंस कोड स्रोत कोड का उपयोग कैसे करते हैं। बेशक, अपने स्रोत को प्रकाशित करते समय इसका मतलब होगा कि कानून के लिए कम सम्मान वाले शब्द शर्तों को तोड़ सकते हैं, यह सुपर कंप्यूटर पर आपके कोड को चलाने से अकादमिक शोधकर्ताओं को आपकी तरह शक्तिशाली बनाना चाहिए।



@musiKk 2002 में .NET के कोर का रोटर कांटा मालिकाना 'साझा स्रोत' के रूप में शुरू हुआ , लेकिन हाल ही में वाणिज्यिक स्रोत के बड़े हिस्से को एक संदर्भ लाइसेंस के तहत प्रकाशित किया गया था , और फिर, संस्करण 4.6 पर, पूरी तरह से खुला स्रोत । मुझे एहसास नहीं हुआ कि Microsoft के स्रोत साझा करने की व्यवस्था कितनी जटिल है
dcorking

1
तुमने सच में मेरा दिल जगा दिया। मुझे लगा कि मैंने 13 साल पुराने उत्तर को खोद लिया। कोई बात नहीं कि एसओ को 2008 में लॉन्च किया गया था ... तब काफी फेयर था।
मुसीक
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.