जावा मुक्त / खुला स्रोत है या नहीं?


33

13 नवंबर, 2006 को, Sun ने GNU जनरल पब्लिक लाइसेंस (GPL) की शर्तों के तहत जावा के ज्यादातर मुफ्त और ओपन सोर्स सॉफ्टवेयर, (FOSS) जारी किए। 8 मई, 2007 को, सूर्य ने इस प्रक्रिया को समाप्त कर दिया, जिससे जावा के सभी कोर कोड मुफ्त सॉफ्टवेयर / ओपन-सोर्स वितरण शर्तों के तहत उपलब्ध हो गए , जो कोड के एक छोटे से हिस्से से अलग हो गए, जिसमें सूर्य ने कॉपीराइट नहीं रखा था।

OpenJDK (ओपन जावा डेवलपमेंट किट) जावा प्रोग्रामिंग भाषा का एक स्वतंत्र और खुला स्रोत कार्यान्वयन है। यह 2006 में शुरू हुए सन माइक्रोसिस्टम्स के प्रयास का परिणाम है। कार्यान्वयन जीएनयू जनरल पब्लिक लाइसेंस (जीएनयू जीपीएल) के तहत एक लिंकिंग अपवाद के साथ लाइसेंस प्राप्त है।

  • क्यों अभी भी ऐसे लोग हैं जो कहते हैं कि जावा ओपन सोर्स नहीं है या फ्री स्पीच में जैसा है?
  • क्या मैं कुछ भूल रहा हूँ?
  • क्या जावा अभी भी मालिकाना है?


मैं वास्तव में केवल सूर्य JVM कार्यान्वयन या यहां तक ​​कि प्रौद्योगिकी (बायटेकोड) को संरक्षित करने के लिए व्हीटर को नहीं जानता, लेकिन सभी मूल कार्य (java.xy) स्वतंत्र हैं। इसलिए, यदि कोई भी अलग-अलग बायोटेक चश्मा और वीएम बनाता है, तो उसे मुफ्त में मौजूदा लिबास का उपयोग करना चाहिए। उफ़, Google ने डालाविक के साथ ऐसा किया!
ern0

जवाबों:


37

समस्या यह है कि कुछ "जावा" को कॉल करने के लिए आपको जावा की कल्पना के अनुरूप होने के लिए प्रमाणित करने की आवश्यकता है।

इस प्रमाणपत्र को प्राप्त करने के पूर्व-अपेक्षित में से एक आपको परीक्षण सूट - जावा प्रौद्योगिकी संगतता किट (टीसीके) के माध्यम से जेवीएम चला रहा है । यह परीक्षण सूट खुला नहीं है।

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


7
यही कारण है कि अपाचे हार्मनी (जो एक काफी संपूर्ण, स्वतंत्र जेवीएम कार्यान्वयन था) को रोक दिया गया । यह वास्तव में शर्म की बात है कि सन / ओरेकल ने इस तरह से काम किया (और अभी भी इस तरह से कार्य करता है)। Google ने ("लगभग कॉपी" जावा) क्या किया, इसका प्रत्यक्ष परिणाम भी है।
जोकिम सॉर

1
इसके अलावा, टेस्ट स्वीट जावा प्लेटफार्म है TCK (साथ ही जावा से संबंधित Techologies के लिए अन्य TCKs देखते हैं)।
जोकिम सॉर

4
इसके अलावा, यदि आप एक सफल JVM बनाते हैं, तो Oracle आपको कॉपीराइट उल्लंघन और पेटेंट उल्लंघन के लिए मुकदमा कर सकता है । जैसे उन्होंने Google पर Android पर मुकदमा किया।
MarkJ

2
क्या नामकरण कानून कुछ ओपनसोर्स के लिए प्रासंगिक है? मैं अपना ब्राउज़र नहीं बना सकता और इसे फ़ायरफ़ॉक्स भी कह सकता हूँ। मुझे लगता है कि सवाल के लिए पहली बात यह समझने के लिए है ... भाषा की कल्पना "जावा" शब्द का अर्थ क्या है, जेवीएम कार्यान्वयन, ... और जो इसे गैर-खुला कह रहे हैं ...
जोहान्स

@johannes - पेडेंट और नाइटपिकर्स के ओपन सोर्स होम में आपका स्वागत है! खुले स्रोत समुदाय के कई लोगों के लिए ये भेद महत्वपूर्ण हैं। हारमनी प्रोजेक्ट को छोड़ साक्षी अपाचे। एक अधिक व्यावहारिक तुला के अन्य लोगों के लिए जावा जैसा वातावरण है जो काम करता है "सभी एंड्रॉइड उपकरणों के दिल में डालविक वीएम की तरह" काफी अच्छा है।
जेम्स एंडरसन

15

जिसको उपयोग करना था, उसे निकालने से पहले आपको यह उत्तर पढ़ना चाहिए था। मुख्य उत्तर में कहा गया है:

जावा 7 के बारे में, ध्यान दें कि JDK7 और OpenJDK7 में ( लगभग ) समान कोड आधार होगा।

सूचना लगभग मैं पर प्रकाश डाला।

उस उत्तर से जुड़े लेख से:

[…] लेकिन कुछ कोड हैं जहां खुले स्रोत प्रतिस्थापन हैं जहां हम अभी भी पुराने बंद स्रोत कोड का उपयोग करते हैं। यह मुख्य रूप से फ़ॉन्ट और ग्राफिक्स रेखांकन में है। पुराने बंद स्रोत रेखापुंज कोड को, जबकि निमग्न होने के बाद, बग फिक्सिंग और फाइन ट्यूनिंग आदि के 10+ वर्ष हो गए हैं और किसी भी खुले स्रोत के प्रतिस्थापन के लिए उस कोड को प्रोडक्टेड JDK में बनाता है, इसे तेजी से और स्थिर रूप से साबित करना होगा। मौजूदा बंद कोड के रूप में अच्छी गुणवत्ता।

इसके अलावा, जावा से अक्सर पूछे जाने वाले प्रश्न :

जावा डेवलपमेंट किट (JDK) व्यावसायिक प्रोग्रामिंग के लिए डाउनलोड और उपयोग करने के लिए स्वतंत्र है , लेकिन फिर से वितरित करने के लिए नहीं

इसलिए, खुला स्रोत नहीं । बस लगभग।

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


1
"मुफ्त डाउनलोड और उपयोग करने के लिए लेकिन पुनर्वितरण नहीं" का अर्थ है कि सॉफ्टवेयर "मुफ्त सॉफ्टवेयर नहीं" है, लेकिन यह अभी भी "खुला स्रोत" हो सकता है। ओपन सोर्स का तात्पर्य है कि आपके पास स्रोत कोड तक पहुंच है। मुफ्त सॉफ्टवेयर (एफएसएफ और अन्य लोगों द्वारा परिभाषित) को भी पुनर्वितरण के अधिकार की आवश्यकता है।
एक CVn

6
@ MichaelKjörling OSI की परिभाषा में निश्चित रूप से पुनर्वितरण अधिकारों की आवश्यकता है।
lisciscubal

1

1997 में, सन माइक्रोसिस्टम्स ने जावा को औपचारिक रूप देने के लिए ECMA से संपर्क किया लेकिन यह जल्द ही प्रक्रिया से हट गया। जावा मानक वास्तव में जावा कम्युनिटी प्रोसेस के माध्यम से नियंत्रित किया जाता है ।

हालांकि 2006 में, अधिकांश जावा को जीपीएल की शर्तों के तहत सन माइक्रोसिस्टम्स द्वारा जारी किया गया था लेकिन वर्तमान आधिकारिक कार्यान्वयन ओरेकल के स्वामित्व में है।

जैसा कि जावा में ECMA, ISO / IEC, ANSI, या अन्य तृतीय-पक्ष मानकों संगठन द्वारा मान्यता प्राप्त किसी भी औपचारिक मानकीकरण का अभाव है, Oracle कार्यान्वयन डिफैक्टो मानक है। हालांकि, वैकल्पिक कार्यान्वयन हैं जैसे जावा के लिए GNU कम्पाइलर, GNU क्लासपाथ, IcedTea-Web, आदि।


7
-1: जावा 7 के बाद से, आधिकारिक संदर्भ कार्यान्वयन GPL का OpenJDK है।
माइकल बोर्गवर्ड

2
जावा के बारे में बात करें, तो आपको मिलेगा -1 :( ओपनजेडके ओपन सोर्स है लेकिन ऊपर और यहाँ के रूप में जावा डॉट कॉम पर कार्यान्वयन बीसीएल हैसबसे पहले, हमारी पॉलिसी बनाम अपाचे हार्मनी में कोई बदलाव नहीं हुआ है। ओसीटीएलए एक कार्यक्रम है जो मुफ्त की अनुमति देता है। OpenJDK- व्युत्पन्न कार्यान्वयन के लिए TCK तक पहुँच GPL के तहत लाइसेंस प्राप्त है और केवल उसी उद्देश्य के लिए अभिप्रेत है। दूसरा, Oracle कार्यान्वयन (जो आपको java.com या java.oracle.com पर मिलता है) केवल BCL लाइसेंस के अंतर्गत रहेगा। पूरी तरह से स्पष्ट हो सकता है, के तहत जीपीएल OpenJDK स्रोत कोड बनी हुई है।
साजद Deyargaroo
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.