संक्षेप में:
- OpenJDK के कई अर्थ हैं और यह उल्लेख कर सकता है:
- जावा प्लेटफ़ॉर्म, मानक संस्करण (जावा एसई) का मुफ़्त और खुला स्रोत कार्यान्वयन
- खुला स्रोत भंडार - जावा सोर्स कोड उर्फ ओपनजेडके प्रोजेक्ट
- ओरेकल द्वारा बनाए गए OpenJDK बायनेरिज़ को पहले से बनाया गया है
- OpenJDK समुदाय द्वारा बनाए गए OpenJDK बायनेरिज़ का निर्माण किया
- AdoptOpenJDK - समुदाय द्वारा अनुरक्षित OpenJDK बायनेरिज़ का निर्माण ( खुला स्रोत लाइसेंस प्राप्त )
स्पष्टीकरण:
Prebuilt OpenJDK (या वितरण) - बायनेरिज़, http://hg.openjdk.java.net/ से निर्मित , एक संग्रह या इंस्टॉलर के रूप में प्रदान किया जाता है, जो विभिन्न प्लेटफार्मों के लिए संभव समर्थन अनुबंध के साथ पेश किया जाता है।
OpenJDK, स्रोत रिपॉजिटरी (जिसे OpenJDK प्रोजेक्ट भी कहा जाता है ) - एक Mercurial -based ओपन सोर्स रिपॉजिटरी है, जिसे http://hg.openjdk.java.net पर होस्ट किया जाता है
। जावा स्रोत कोड। जावा सुविधाओं का विशाल बहुमत (वीएम और कोर लाइब्रेरी से कंपाइलर तक) पूरी तरह से इस स्रोत भंडार पर आधारित है। ऑरेकल के पास इसका एक वैकल्पिक कांटा है।
OpenJDK, वितरण (नीचे दी गई प्रदाताओं की सूची देखें) - बीयर की तरह मुफ्त है और भाषण में तरह तरह की मुफ्त है , लेकिन, अगर आपको इसके साथ समस्या है, तो आपको ओरेकल को कॉल करने के लिए नहीं मिलता है। कोई समर्थन अनुबंध नहीं है। इसके अलावा, ओरेकल केवल किसी भी OpenJDK (वितरण) संस्करण के लिए अपडेट जारी करेगा, यदि वह रिलीज़ LTS (दीर्घकालिक समर्थन) रिलीज़ सहित सबसे हालिया जावा रिलीज़ है। ओरेकल OpenJDK (वितरण) संस्करण 12.0 को जारी करता है, भले ही OpenJDK (वितरण) 11.0 संस्करण के साथ कोई सुरक्षा समस्या हो, Oracle 11.0 के लिए एक अद्यतन जारी नहीं करेगा। ओरेकल द्वारा पूरी तरह से बनाए रखा।
कुछ OpenJDK परियोजनाएं - जैसे OpenJDK 8 और OpenJDK 11 - OpenJDK समुदाय द्वारा बनाए रखी जाती हैं और कुछ प्लेटफार्मों के लिए OpenJDK संस्करणों के लिए रिलीज़ प्रदान करती हैं। समुदाय सदस्यों ने इन OpenJDK संस्करणों में सुरक्षा कमजोरियों के लिए फ़िक्सेस जारी करने की ज़िम्मेदारी ली है।
AdoptOpenJDK, वितरण Oracle के OpenJDK वितरण के समान है (इसमें यह मुफ़्त है, और यह OpenJDK स्रोत भंडार से स्रोतों को संकलित करके निर्मित एक निर्माण है)। AdoptOpenJDK एक इकाई के रूप में पैच का बैकपोर्टिंग नहीं होगा, अर्थात इसमें AdoptOpenJDK 'कांटा / संस्करण' नहीं होगा जो भौतिक रूप से अपस्ट्रीम से अलग है (केवल Win32 समर्थन के लिए कुछ बिल्ड स्क्रिप्ट पैच को छोड़कर)। मतलब, अगर समुदाय के सदस्य (ओरेकल या अन्य, लेकिन एक इकाई के रूप में AdoptOpenJDK नहीं) OpenJDK LTS संस्करणों के अपडेट के लिए बैकपोर्ट सुरक्षा को ठीक करता है, तो AdoptOpenJDK उन लोगों के लिए बिल्ड प्रदान करेगा। OpenJDK समुदाय द्वारा बनाए रखा।
OracleJDK - अभी तक एक और वितरण है। JDK12 से शुरू होकर OracleJDK का कोई मुफ्त संस्करण नहीं होगा। ओरेकल की JDK वितरण पेशकश वाणिज्यिक समर्थन के लिए है। आप इसके लिए भुगतान करते हैं, लेकिन फिर आपको समर्थन के लिए ओरेकल पर भरोसा करना पड़ता है। Oracle के OpenJDK की पेशकश के विपरीत, OracleJDK LTS संस्करणों के लिए अधिक समर्थन के साथ आता है। एक डेवलपर के रूप में आप केवल इस विशेष JDK के व्यक्तिगत / विकास उपयोग के लिए एक मुफ्त लाइसेंस प्राप्त कर सकते हैं, लेकिन यह ज्यादातर एक लाल हेरिंग है, क्योंकि 'सिर्फ बाइनरी' मूल रूप से OpenJDK बाइनरी के समान है। मुझे लगता है कि इसका मतलब है कि आप Oracle की वेबसाइटों से LTS JDKs के सिक्योरिटी-पैचेड वर्जन डाउनलोड कर सकते हैं जब तक कि आप उन्हें व्यावसायिक रूप से उपयोग न करने का वादा करते हैं।
ध्यान दें । ओरेकल द्वारा निर्मित "ओरेकल ओपनजेडके बिल्ड" को कॉल करना सबसे अच्छा हो सकता है।
ओरेकल में जावा उत्पाद प्रबंधक डोनाल्ड स्मिथ लिखते हैं :
आदर्श रूप से, हम आपकी स्थिति के आधार पर, सभी ओरेकल JDK को "Oracle JDK" कहते हैं, या तो GPL या वाणिज्यिक लाइसेंस के तहत। हालाँकि, ऐतिहासिक कारणों से, जबकि शेष छोटे अंतर मौजूद हैं, हम उन्हें अलग से संदर्भित करेंगे क्योंकि Oracle का OpenJDK बनाता है और Oracle JDK।
OpenJDK प्रदाता और तुलना
-------------------------------------------------- --------------------------------------
| प्रदाता | मुफ्त का निर्माण | फ्री बाइनरी | विस्तारित | वाणिज्यिक | अनुमित |
| | स्रोत से | वितरण | अपडेट | समर्थन | लाइसेंस |
| ------------------------------------------------- ------------------------------------- |
| AdoptOpenJDK | हाँ | हाँ | हाँ | नहीं | हाँ |
| अमेज़ॅन - Corretto | हाँ | हाँ | हाँ | नहीं | हाँ |
| अज़ुल ज़ुलु | नहीं | हाँ | हाँ | हाँ | हाँ |
| बेल्सॉफ्ट लिबरिका | नहीं | हाँ | हाँ | हाँ | हाँ |
| आईबीएम | नहीं | नहीं | हाँ | हाँ | हाँ |
| jClarity | नहीं | नहीं | हाँ | हाँ | हाँ |
| OpenJDK | हाँ | हाँ | हाँ | नहीं | हाँ |
| ओरेकल JDK | नहीं | हाँ | नहीं ** | हाँ | नहीं |
| Oracle OpenJDK | हाँ | हाँ | नहीं | नहीं | हाँ |
| ojdkbuild | हाँ | हाँ | नहीं | नहीं | हाँ |
| रेडहैट | हाँ | हाँ | हाँ | हाँ | हाँ |
| SapMachine | हाँ | हाँ | हाँ | हाँ | हाँ |
-------------------------------------------------- --------------------------------------
स्रोत से नि: शुल्क बनाता है - वितरण स्रोत कोड सार्वजनिक रूप से उपलब्ध है और एक अपने स्वयं के निर्माण को इकट्ठा कर सकता है
मुफ्त बाइनरी वितरण - वितरण बायनेरिज़ सार्वजनिक रूप से डाउनलोड और उपयोग के लिए उपलब्ध हैं
विस्तारित अपडेट - उर्फ एलटीएस (दीर्घकालिक समर्थन) - 6 महीने के रिलीज जीवनचक्र से परे सार्वजनिक अपडेट
वाणिज्यिक सहायता - कुछ प्रदाता ग्राहकों को भुगतान करने के लिए विस्तारित अपडेट और ग्राहक सहायता प्रदान करते हैं, उदाहरण के लिए Oracle JDK ( समर्थन विवरण )
अनुमेय लाइसेंस - वितरण लाइसेंस गैर-सुरक्षात्मक है, जैसे Apache 2.0
मुझे किस जावा वितरण का उपयोग करना चाहिए?
सन / ओरेकल के दिनों में, यह आमतौर पर सन / ओरेकल था जो ओपेन जेडीके स्रोतों के आधार पर मालिकाना डाउनस्ट्रीम जेडीके वितरण का उत्पादन करता था। हाल ही में, ओरेकल ने अपने स्वयं के मालिकाना निर्माण को केवल वाणिज्यिक समर्थन के साथ करने का फैसला किया था। वे खुले तौर पर OpenJDK बिल्ड को अपनी https://jdk.java.net/ साइट पर प्रकाशित करते हैं ।
JDK 11 की शुरुआत क्या हो रही है, यह एकल-विक्रेता (Oracle) मानसिकता से हटकर उस मानसिकता की ओर जाता है जहाँ आप एक प्रदाता का चयन करते हैं जो आपको उत्पाद के लिए वितरण प्रदान करता है, जैसी शर्तों के तहत: आपके द्वारा बनाए गए प्लेटफ़ॉर्म, फ़्रीक्वेंसी और रिलीज़ की तेज़ी , कैसे समर्थन संरचित है, आदि। यदि आप किसी मौजूदा विक्रेता पर भरोसा नहीं करते हैं, तो आप खुद भी OpenJDK का निर्माण कर सकते हैं।
OpenJDK का प्रत्येक निर्माण आमतौर पर एक ही मूल अपस्ट्रीम सोर्स रिपॉजिटरी (OpenJDK "प्रोजेक्ट") से किया जाता है। हालांकि प्रत्येक बिल्ड काफी अनोखा है - $ मुफ्त या वाणिज्यिक, ब्रांडेड या अनब्रांडेड, शुद्ध या बंडल (जैसे, बेल्सॉफ्ट लिबरिका जेडीके बंडल किए गए जावाएफएक्स प्रदान करता है, जिसे ओआरडी बिल्ड से जेडडीके 11 शुरू किया गया था)।
यदि कोई वातावरण (जैसे, लिनक्स) और / या लाइसेंस की आवश्यकता विशिष्ट वितरण को परिभाषित करती है और यदि आप सबसे मानक JDK बिल्ड चाहते हैं, तो संभवतः Oracle या AdoptOpenJDK द्वारा OpenJDK का उपयोग करना सबसे अच्छा विकल्प है।
अतिरिक्त जानकारी
स्टीफन कोलबोर्न द्वारा ओरेकल की JDK से परे देखने का समय
जावा चैंपियंस समुदाय द्वारा जावा इज़ स्टिल फ्री (17 सितंबर, 2018 को प्रकाशित)
जावा चैंपियंस समुदाय द्वारा जावा अभी भी मुफ्त 2.0.0 (3 मार्च, 2019 को प्रकाशित)
ओप्सियन द्वारा JDK अपडेट साक्षात्कार के बारे में अलेक्सी शिपिलेव (27 जून, 2019 को प्रकाशित)