मोनो इतना विवादास्पद क्यों है?


33

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


3
Microsoft तकनीक (दस्तावेज़ प्रारूप) को लागू करने के लिए खुले कार्यालय को हटाने के लिए कोई क्यों नहीं बुला रहा है?
१३:४३

जवाबों:


36

वैचारिक रूप से

मोनो को Microsoft और उसके .Net प्लेटफॉर्म का समर्थन करने वाला माना जाता है। कुछ लोगों का मानना ​​है कि यह उबंटू के लक्ष्यों के लिए काउंटर है, या कम से कम उनके स्वयं के व्यक्तिगत लक्ष्य हैं, और वे इससे बचना चाहते हैं।

विगले शब्दों के लिए क्षमा करें, लेकिन मैं उद्देश्यपूर्ण रह रहा हूं। क्या मोनो वास्तव में ऐसा करता है, और यहां तक ​​कि Microsoft का समर्थन करना एक अच्छी या बुरी बात है, की चर्चा अन्यत्र है

वास्तव में

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

उदाहरण के लिए, मैं केवल 1GB मेमोरी वाले लैपटॉप का उपयोग कर रहा हूं: यह बहुत बड़ा हुआ करता था। मशीन यह उम्र दिखाने के लिए शुरू कर रही है, लेकिन मैं अभी भी ज्यादातर चीजें आराम से चला सकता हूं। 4 जीबी मेमोरी वाले उपयोगकर्ता "मेमोरी हॉग" को लगभग नहीं देखेंगे और उन्हें अन्य चिंताओं पर ध्यान देना चाहिए। (मैं यहां 5 साल में वापस आऊंगा और उस 4 जीबी नंबर पर हंसूंगा।)


4
वैसे वर्चुअल मशीन पर c # शुद्ध रूप से नहीं चल रहा है। कम से कम सामान्य तरीके से नहीं। यह केवल बाइट से मशीन संकलन में समय-संकलित कर सकता है, जैसे जावा, प्लस फॉर-टू-टाइम संकलन से मशीन कोड में अपवाद (सामान्य मामले), और पूर्ण पुराने-स्कूल संकलन (हालांकि अधिकांश प्लेटफार्मों पर नहीं) । यह उस अर्थ में जावा या तोता जैसा नहीं है। हाइब्रिड का अधिक। इस कारण से, वास्तविक दुनिया में, यह बहुत संभावना है कि आपके महत्वपूर्ण इनर-लूप हैवी-लिफ्टिंग-कोड को मोनो में देशी मशीन निर्देशों के लिए संकलित किया जाएगा।
Stefano Palazzo

1
@stefano: मैंने मेमोरी उपयोग का उल्लेख किया है, निष्पादन गति का नहीं। वास्तव में, कोड की कई प्रतियों को अपने आसपास रखने से जेआईटी अपना काम कर सकता है और अधिक मेमोरी का उपयोग करता है।

3
यह केवल इतना ही नहीं है। मोनो Microsoft के कुछ पेटेंटों का अच्छी तरह से उल्लंघन कर सकता है जो Microsoft को एक दिन मुकदमा करने की संभावना देता है क्योंकि Oracle Google पर जावा पेटेंट के खिलाफ करता है।
txwikinger

5
क्षमा करें, लेकिन कानूनी रूप से बाध्यकारी "सामुदायिक वादा" में कुछ भी नहीं है।
txwikinger

2
@txwikinger यह कानूनी रूप से इस पृष्ठ पर प्रश्न की जाँच कर रहा है। microsoft.com/interop/cp/default.mspx
trampster 8

16

कुछ लोगों का मानना ​​है कि Microsoft .NET के पहलुओं पर सॉफ्टवेयर पेटेंट रखता है, और .NET के कार्यान्वयन के रूप में, मोनो उन पेटेंटों का उल्लंघन करता है। इस प्रकार इन लोगों को लगता है कि मोनो का उपयोग पेटेंट के मुकदमों के लिए एक खुला छोड़ सकता है।

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

वैसे, मुझे यह उल्लेख करना चाहिए कि मैं एक दर्शक के दृष्टिकोण से लिखता हूं, और मुझे पूरी स्थिति का कोई विस्तृत या विशिष्ट ज्ञान नहीं है। मैंने निष्पक्ष रहने की कोशिश की है और ज्यादातर उचित संज्ञाओं को छोड़ दिया है ताकि इस सवाल को इस विवाद में घसीटने से बचें।

संपादित करें: टिप्पणियों में, किसी ने इंगित किया कि Microsoft के पास .NET कार्यान्वयन के खिलाफ पेटेंट अधिकारों का दावा करने के लिए एक सामुदायिक वादा है। लेकिन इस वादे में पर्याप्त वैधता है कि मुझे नहीं लगता कि मैं वास्तव में यह सुनिश्चित कर सकता हूं कि वादे को पूरा करने के लिए एक वकील को काम पर रखने के बिना एयर-टाइट सुरक्षा प्रदान करता है। इसे पढ़ने के बाद, मैं कुछ संभावित खामियों के बारे में सोच सकता हूं जो Microsoft को मोनो पर पेटेंट अधिकारों का दावा करने की अनुमति दे सकते हैं, लेकिन IANAL के बाद से , मुझे नहीं पता है कि इनमें से कोई भी कमियां कानूनी रूप से रक्षात्मक हैं, या सिर्फ Microsoft की वैधता की मेरी गलतफहमी है। जब तक समुदाय का वादा उत्साहजनक है, यह निश्चित रूप से मोनो के संभावित पेटेंट दायित्व के बीच विवाद को समाप्त नहीं कर सकता है।


3
यह वास्तव में स्वीकृत उत्तर होना चाहिए, यह केवल वही है जो वास्तव में प्रश्न का उत्तर देता है। लोग मोनो का उपयोग करने में संकोच करते हैं क्योंकि माइक्रोसॉफ्ट द्वारा मुकदमा किए जाने का डर है।

1
यहां उल्लेख किया जाना चाहिए कि यूरोपीय पेटेंट कन्वेंशन का अनुच्छेद 52 विशेष रूप से "जैसे" (कला। 52/2) सॉफ्टवेयर पर पेटेंट को प्रतिबंधित करता है । जिसका अर्थ है कि यूरोपीय संघ के सदस्य राज्यों में कम से कम नागरिक और संगठन मूल रूप से माइक्रोसॉफ्ट के लाइसेंस अभियान जैसी चीजों से सुरक्षित हैं। (यह अंतिम वक्तव्य भारी विवाद के तहत है)
स्टेफानो पलाज़ो

1
कला के बावजूद। 52/2 यूरोप में सॉफ्टवेयर पेटेंट के सफल दावे किए गए हैं।
txwikinger

यह जवाब कानूनी रूप से बाध्यकारी "कम्यूनिटी प्रॉमिस" की चर्चा के बिना पूरा नहीं होता है जो मोनो को Microsoft द्वारा पेटेंट सूट से बचाता है।
ट्रैम्पस्टर

1
@trampster: CP, CMA के बजाय ECMA 334 और 335 को कवर करता है, और जैसा कि 2006 में प्रकाशित किया गया था, C # में जोड़ा गया कुछ भी स्पष्ट रूप से कवर नहीं किया गया है। क्या आप उम्मीद करते हैं कि CP का उपयोग करने के लिए मोनो .NET के पीछे 5 साल (और बढ़ते) रहे ?
फ्रेड नर्क

5

मोनो माइक्रोसॉफ्ट .net का एक खुला पोर्टिंग है।

वैचारिक आधार पर, यह खुली प्रौद्योगिकियों के लिए एक बंद तकनीक का उपयोग करता है और यह GNU और / या लिनक्स के कुछ आदर्शों के साथ मेल नहीं खा सकता है।

व्यावहारिक आधार पर, मोनो (अभी के लिए) नहीं है। हालांकि, यह लिनक्स के लिए सी # (और अन्य .NET भाषाओं) में प्रोग्राम करने की अनुमति देता है, जो मुझे लगता है कि एक अच्छी बात है और मोनो के बिना असंभव होगा।


9
.NET का मूल कोर एक खुली तकनीक / मानक है (भले ही Microsoft का मुख्य कार्यान्वयन खुला न हो, C #, मानक पुस्तकालय के मूल भाग और रनटाइम ECMA मानकों के रूप में प्रकाशित होते हैं)।
जेएनसी

@Popinou: मुझे 3.5 में लापता फीचर्स की कोई समस्या नहीं थी।

@JC: मोनो के भाग (System.Windows.Forms) ECMA मानक का हिस्सा नहीं हैं।
ब्रम्ह

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

1
@Broam System.Windows डिफ़ॉल्ट रूप से ubuntu में नहीं है। और किसी भी सामान्य मोनो ऐप की आवश्यकता नहीं है।
ट्रम्पस्टर नोव

5

जैसा कि अन्य लोगों ने कहा है कि दो मुख्य कारण हैं:

1) विचारधारा: उपयोगकर्ता इस विचार से सहज नहीं हैं कि मोनो एक बंद स्रोत Microsoft उत्पाद पर आधारित है। हालांकि, मोनो स्वयं ओपन-सोर्स है।

2) पेटेंट: यह एक प्रमुख चिंता का विषय था, जिसे तब से Microsoft द्वारा संबोधित किया जाता है जब उन्होंने ECMA 334 और ECMA स्पेक्स के लिए कम्युनिटी प्रॉमिस लागू किया था । 335. दुर्भाग्य से लोगों का एक बड़ा हिस्सा इससे अनजान है।


4
तर्क यह है कि सामुदायिक वादा पर्याप्त नहीं है - यह जागरूकता का सवाल नहीं है।
ब्रोक

1

मैं मोनो का उपयोग नहीं करता क्योंकि

  1. Microsoft ने उल्लंघन किए जाने के बारे में निर्दिष्ट किए बिना IP उल्लंघन का आरोप लगाया और उन्होंने मोनो पर स्पष्ट करने से इनकार कर दिया, केवल यह कहते हुए कि नोवेल उपयोगकर्ताओं को संरक्षित किया गया है। मुझे विश्वास नहीं है कि माइक्रोसॉफ्ट के सामुदायिक वादे जब तक वे इसे वापस नहीं करते हैं, तब तक वे कार्रवाई करते हैं।
  2. मोनो लाइसेंसिंग जटिल है। यह एक कानूनी विशेषज्ञ के लिए कठिन है कि अकेले एक साधारण उपयोगकर्ता को समझने के लिए कि भागों को अलग-अलग लाइसेंस प्राप्त हैं। खुले स्रोत में कुछ भी ऐसा नहीं है जो कि अविवेकपूर्ण हो।
  3. मिगुएल डे इकाज़ा ने वादा किया था लेकिन समय पर फैशन में ईसीएमए अनुरूप स्रोत कोड जारी करने के अपने वादे को पूरा करने में विफल रहे हैं
  4. परिदृश्य उन कंपनियों से भरा हुआ है जो Microsoft के मानकों का पालन करते हैं क्योंकि उनके लिए मानकों को तोड़ा जाना और दूसरों को नुकसान पहुंचाना है
  5. लिनक्स पर .NET होने की कोई आवश्यकता या प्रदर्शनकारी लाभ नहीं है, अन्य प्लेटफार्मों से बहुत कम पोर्ट किया गया है और लिनक्स के मूल निवासी कुछ भी अन्य भाषाओं में लिखा जा सकता है
  6. मोनो एक अनावश्यक रूप से विभाजनकारी मुद्दा है; यह हमें विचलित करता है और अधिक महत्वपूर्ण मुद्दों से रख कर Microsoft के हाथों में खेलता है

मुझे लगता है कि कोई भी अगर चाहे तो मोनो का उपयोग कर सकता है और करना चाहिए, लेकिन जो उपयोगकर्ता ऐसा नहीं चाहते हैं, उन्हें डिफ़ॉल्ट रूप से इसे नहीं करना चाहिए।


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

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