JavaRush /جاوا بلاگ /Random-UR /JDK کے نئے ورژن کی بار بار ریلیز ہونے سے کیا ہو گا؟

JDK کے نئے ورژن کی بار بار ریلیز ہونے سے کیا ہو گا؟

گروپ میں شائع ہوا۔
یہ جاوا کے لیے تبدیلی کا دور ہے۔ JDK ورژن اب ایک شیڈول پر جاری کیے جائیں گے بجائے اس کے کہ نئی فعالیت دستیاب ہو۔ اس نقطہ نظر کے اپنے فوائد اور نقصانات ہیں، لیکن اس طرح کی تبدیلیاں JDK 8 پر کیسے اثر انداز ہوں گی؟ سائمن رائٹر، مشہور جاوا مبشر، جاوا چیمپیئن اور Azul Systems میں ایسوسی ایٹ CTO، بتاتے ہیں کہ "نئے جاوا آن شیڈول" استحکام، سلامتی اور لاگت کے درمیان تجارت کیوں ہے۔
JDK کے نئے ورژن کی بار بار ریلیز ہونے سے کیا ہوگا - 1
2018 میں، جاوا کی دنیا میں اہم تبدیلیوں کا انتظار ہے۔ جیسا کہ پچھلے سال اعلان کیا گیا تھا، ہم JDK ورژنز کو شیڈول کی بنیاد پر جاری کرنے کی طرف بڑھ رہے ہیں، بجائے اس کے کہ نئی فعالیت کے دستیاب ہونے پر ورژن جاری کریں۔ یہ بہت اچھی خبر ہے کیونکہ اب نئے فیچرز ریلیز کے تیار ہوتے ہی شامل کیے جائیں گے، اور ڈویلپرز کو ان تک بہت تیزی سے رسائی حاصل ہو گی۔ JDK 10 مارچ میں ریلیز ہونے والا ہے، اور ہم پہلے ہی بگ فکسز کے دوسرے مرحلے میں داخل ہو چکے ہیں، لہذا سب کچھ پلان کے مطابق ہو رہا ہے۔ Java Specification Request (JSR) پہلے سے ہی فعال ترقی کے تحت ہے اور عوامی تبصرے کے لیے دستیاب ہے۔ یہاں تک کہ JDK بڑھانے کی تجاویز (JEPs) پہلے سے ہی JDK 11 کو نشانہ بنا رہی ہیں ۔ ایسا لگتا ہے کہ جاوا بہت اچھا کر رہا ہے۔

وقت بدلتا ہے۔

تاہم، اس ریلیز کے شیڈول سے وابستہ بہت سی دوسری تبدیلیاں ہیں جو اس سال خود کو ظاہر کریں گی، اور ہو سکتا ہے کہ اتنی خوشگوار نہ ہوں۔ ساڑھے 22 سالوں میں، ہم اس حقیقت کے عادی ہونے میں کامیاب ہو گئے ہیں کہ جاوا، ایک پلیٹ فارم کے طور پر، اس کی حمایت کرنے کے طریقے سے براہ راست تعلق رکھنے والی تین بنیادی خصوصیات ہیں۔
  1. استحکام . اس سے پہلے، JDK کی نئی ریلیز کے ساتھ شامل کردہ خصوصیات، اگرچہ اچھی طرح سے جانچ کی گئی تھی، لیکن پیداوار میں جانچ کی ضرورت تھی۔ اس سے ان کوتاہیوں کی نشاندہی کرنے میں مدد ملی جن کی اصلاح کی ضرورت ہے۔ اس بات کو یقینی بنانے کے لیے کہ صارف ایک نئی ٹیسٹنگ کے دوران مستحکم تعمیرات کے ساتھ کام جاری رکھ سکتے ہیں، اپ ڈیٹس کو ہمیشہ وقت کے ساتھ جزوی طور پر اوورلیپ کیا جاتا تھا۔

    اگر ہم JDK 6 سے شروع ہونے والی پچھلی چند ریلیزز کو دیکھیں تو ہم دیکھتے ہیں کہ JDK 5 کے لیے اپ ڈیٹس تقریباً مزید 3 سال (2 سال اور 11 ماہ درست ہونے کے لیے) جاری ہوتے رہے۔ JDK 7 کے تعارف کے ساتھ، JDK 6 کے لیے عوامی اپ ڈیٹس ایک سال اور 9 ماہ کے لیے جاری کیے گئے۔ اور JDK 7 کے لیے اپ ڈیٹس JDK 8 کی ریلیز کے 13 ماہ کے اندر جاری کیے گئے تھے۔


  2. حفاظت _ اوپن جے ڈی کے ڈیولپمنٹ اور سپورٹ ٹیمیں، اوریکل، اور ان سے پہلے سن مائیکرو سسٹم (جاوا بنانے والی کمپنی، ایڈیٹر کا نوٹ) نے ہمیشہ پلیٹ فارم سیکیورٹی کو سب سے آگے رکھا ہے۔ جیسا کہ آپ کو یاد ہے، جاوا اصل میں موبائل آلات کے لیے تھا (خاص طور پر Star7 PDAs)۔



    کلیدی ترقیاتی اہداف میں سے ایک یہ یقینی بنانا تھا کہ کوڈ کو نیٹ ورک پر منتقل کیا جائے اور اسے محفوظ طریقے سے انجام دیا جائے۔ JDK کے لیے اپ ڈیٹس باقاعدگی سے شائع کیے جاتے ہیں، جس میں دریافت شدہ سیکیورٹی مسائل کے پیچ شامل ہیں۔ اگر آپ ان اپ ڈیٹس کے ریلیز ہونے کے فوراً بعد انسٹال کرتے ہیں، تو آپ مکمل طور پر محفوظ رہیں گے۔


  3. صفر لاگت ۔ جاوا کے بارے میں ایک بڑی بات یہ ہے کہ یہ ہمیشہ سے ایک مفت پلیٹ فارم رہا ہے، اس سے پہلے کہ اسے 2006 میں اوپن سورس سافٹ ویئر کے طور پر جاری کیا گیا تھا۔ اس پر کچھ پابندیاں تھیں کہ جاوا کو رائلٹی کے بغیر کہاں استعمال کیا جا سکتا ہے، لیکن یہ ہمیشہ موبائل اور ایمبیڈڈ ایپلی کیشنز پر لاگو ہوتا ہے؛ ڈیسک ٹاپ کلائنٹس اور انٹرپرائز سرورز کے لیے، جاوا کا موجودہ ورژن ہمیشہ مفت تھا۔ JDK میں پہلے سے جاری تبدیلیوں میں سے ایک GPLv2 لائسنس کے تحت "Classpath" کی رعایت کے ساتھ OpenJDK ایگزیکیوٹیبلز کا اجراء ہے۔ یہ لائسنس اس بات پر کوئی پابندی نہیں لگاتا کہ آپ جاوا رن ٹائم ماحول کو کیسے تعینات کر سکتے ہیں۔

تاہم، JDK کو تیار کرنے اور جاری کرنے کے طریقے میں تبدیلیاں جاوا کے نئے ورژن میں ایپلیکیشنز کو منتقل کرنے کے منصوبوں پر محتاط غور کرنے کی ضرورت ہے۔ اس نئے ریلیز شیڈول کے ساتھ، متعدد پچھلی ریلیز کے لیے اپ ڈیٹس کی دستیابی کو یقینی بنانے کی کوششیں ممکن نہیں ہو سکتیں۔ صارفین کے دو مختلف گروپوں کی ضروریات کو پورا کرنے کے لیے (وہ لوگ جو نئی خصوصیات کا فوری مطالبہ کرتے ہیں اور جو طویل مدتی استحکام کو اہمیت دیتے ہیں)، اوریکل نے طویل مدتی سپورٹ (LTS) ماڈل پر جانے کا فیصلہ کیا۔ JDK کے مخصوص ورژنز کو LTS ریلیز سمجھا جائے گا، یعنی وہ تین سال تک اپ ڈیٹس حاصل کریں گے۔ دیگر تمام انٹرمیڈیٹ ریلیز کو فیچر ریلیز کہا جاتا ہے اور صرف 6 ماہ کے لیے اپ ڈیٹس حاصل کرتے ہیں۔ اس نئے نظام کے ساتھ مطابقت رکھنے کے لیے، JDK 8 کو LTS ریلیز کے طور پر درجہ بندی کیا گیا تھا۔ اگلی ریلیز JDK 11 ہوگی، جو ستمبر 2018 کے لیے شیڈول ہے۔ اس نئے ماڈل میں جو سب سے بڑی تبدیلی لائی گئی ہے وہ یہ ہے کہ ریلیز کے درمیان اپ ڈیٹس وقت کے ساتھ اوورلیپ نہیں ہوں گے ۔ میں نے اسے خاص طور پر بولڈ ترچھے میں ڈالا کیونکہ یہ بالکل واضح تھا۔ یہ ایک گرافک ہے جو JDK 19 تک JDK ریلیز کے لیے اپ ڈیٹس کی دستیابی کو ظاہر کرتا ہے۔
JDK - 2 کے نئے ورژن کی بار بار ریلیز کیا جائے گی؟
تصویر میں: Java SE لائف سائیکل - 5+ سالہ ٹائم ٹیبل پبلک اپ ڈیٹس صفر اوورلیپ ("سپورٹ کلف") اوریکل کمرشل سپورٹ اوریکل ایکسٹینڈ کمرشل سپورٹ
Java SE لائف سائیکل - 5+ سالہ شیڈول پبلک اپڈیٹس زیرو ٹائم اوورلیپ پبلک ایگزیکیوٹیبلز اوریکل سے (کوئی سپورٹ نہیں) اوریکل کمرشل سپورٹ اوریکل ایکسٹینڈ کمرشل سپورٹ
ان تبدیلیوں کے براہ راست نتیجے کے طور پر، جاوا پلیٹ فارم اب بھی مستحکم، محفوظ اور مفت ہے، لیکن اب آپ کو ان تین خصوصیات میں سے دو کا انتخاب کرنا ہوگا۔ مستقبل میں جاوا کی تعیناتیوں میں، تینوں خصوصیات ایک ہی وقت میں دستیاب نہیں ہوں گی۔

مجھے تھوڑا اور سمجھانے دو

مان لیں کہ آپ سیکورٹی کے بارے میں فکر مند ہیں (جیسا کہ آپ کو ہونا چاہیے)، لیکن آپ پیسہ خرچ نہیں کرنا چاہتے۔ اس صورت میں، آپ کو JDK کے نئے ورژن جاری ہوتے ہی ان پر منتقل ہونے کی ضرورت ہے۔ ایسے معاملات میں جہاں وقت کے ساتھ سپورٹ اوورلیپ نہیں ہوتا ہے (فیچر اور ایل ٹی ایس ریلیزز)، آپ کو نئی سیکیورٹی اصلاحات حاصل کرنے کے لیے یہ کرنا پڑے گا۔ بدقسمتی سے، ٹائم اوورلیپ کے بغیر، آپ کو فوری طور پر JDK ریلیزز پر جانا پڑے گا جن کا ابھی تک پروڈکشن میں تجربہ نہیں کیا گیا ہے، لہذا آپ سابقہ ​​استحکام کھو دیں گے۔ دوسرا آپشن صفر قیمت پر استحکام کا انتخاب کرنا ہے۔ ایک بار پھر، یہ ممکن ہے: نئے کے جاری ہونے کے بعد آپ کو صرف پچھلے LTS ورژن کا استعمال جاری رکھنا ہے۔ آپ کو وہ استحکام ملتا ہے جس سے آپ واقف ہیں، آپ کو کچھ بھی ادا کرنے کی ضرورت نہیں ہے، لیکن آپ کو کوئی سیکیورٹی پیچ نہیں ملے گا کیونکہ وہ اس ریلیز کے لیے مزید دستیاب نہیں ہیں۔ آخر میں، اگر آپ استحکام اور سلامتی چاہتے ہیں، تو آپ کو ادائیگی کرنا ہوگی۔ آپ پچھلی LTS ریلیز کو استعمال کرنا جاری رکھ سکتے ہیں، لیکن سیکیورٹی اور بگ فکسس تک رسائی صرف تجارتی معاونت کے معاہدے کے ذریعے ہی دستیاب ہوگی۔

اور مصنف کی طرف سے ایک چھوٹا اشتہاری بلاک :)

Azul (میری کمپنی) نے Zulu انٹرپرائز برانڈ کے تحت OpenJDK executables کا ایک سیٹ بنایا ہے، جو ماخذ سے بنایا گیا ہے، TCK/JCK بینچ مارکس کے ساتھ تجربہ کیا گیا ہے، اور یہاں تک کہ ہم نے تیار کردہ یوٹیلیٹیز کے ساتھ تجزیہ کیا ہے تاکہ یہ یقینی بنایا جا سکے کہ خراب ہیڈر فائلوں کی وجہ سے اوپن سورس کوڈ میں کوئی بدعنوانی نہیں ہے۔ . ہم موجودہ ورژن کو مفت میں ڈاؤن لوڈ کرنے کا موقع فراہم کرتے ہیں، ساتھ ہی دلچسپی رکھنے والوں کے لیے تجارتی مدد بھی فراہم کرتے ہیں۔ ہم نے حال ہی میں زولو کے لیے سپورٹ کے اختیارات کا ایک نیا سیٹ پیش کرنا شروع کیا، جس کا مقصد صارفین کو زیادہ سے زیادہ لچک فراہم کرنا ہے۔ ہم صارفین کو JDK کے نئے ورژن میں منتقل ہونے کی اہلیت فراہم کرنا چاہتے ہیں جو ان کے کاروبار اور کسٹمر کی ضروریات کے مطابق ہو۔ اس کے لیے، ہم تین سپورٹ آپشنز فراہم کرتے ہیں:
  1. قلیل مدتی تعاون (STS)۔ STS صارفین کو جاوا کی نئی خصوصیات تک تیز ترین رسائی فراہم کرتا ہے، جس میں JDK کی نئی ریلیز میں آسانی سے منتقلی کے لیے کافی مدد ملتی ہے۔ زولو انٹرپرائز STS ریلیز کو بگ فکسز، سیکیورٹی اپ ڈیٹس، اور ضرورت کے مطابق دیگر اصلاحات ("پروڈکشن سپورٹ") تک 12 ماہ تک رسائی فراہم کرتا ہے، اس کے علاوہ 6 ماہ کی اضافی مدد فراہم کرتا ہے جو مشاورتی معاونت پر مرکوز ہے اور صارفین کو JDK کے نئے ورژن میں منتقل ہونے میں مدد کرتا ہے۔ ("توسیع شدہ تعاون")۔ یہ 18 ماہ کی زندگی کے چکر کے برابر ہے۔

  2. درمیانی مدت کی حمایت (MTS)۔ MTS ریلیزز آپ کو نئی LTS ریلیز کا انتظار کیے بغیر پروڈکشن میں فیچر ریلیز میں دستیاب نئی خصوصیات کو استعمال کرنے کی اجازت دیتی ہیں۔ Azul LTS ریلیز کے درمیان ہر سال ایک MTS ریلیز کا منصوبہ بناتا ہے اور اگلی عام دستیابی LTS ریلیز کی تاریخ کے بعد 18 ماہ کے لیے پروڈکشن سپورٹ فراہم کرتا ہے۔ یہ پیداوار کی تعیناتی کے دوران وقت کے اوورلیپ اور "ہموار" منتقلی کو یقینی بناتا ہے۔ پروڈکشن سپورٹ ختم ہونے کے بعد، اضافی 12 ماہ کی توسیعی مدد فراہم کی جاتی ہے۔

  3. طویل مدتی تعاون (LTS)۔ یہ OpenJDK کمیونٹی کی طرف سے LTS سمجھی جانے والی ریلیز کے لیے فراہم کی جاتی ہے اور اضافی دو سال کی توسیعی مدد کے ساتھ 8 سال کی پیداواری معاونت فراہم کرتی ہے۔
اسے واضح کرنے کے لیے یہاں ایک اور ڈرائنگ ہے۔
JDK - 3 کے نئے ورژن کی بار بار ریلیز کیا جائے گی؟
تصویر میں: Java SE لائف سائیکل – 5+ سالہ ٹائم ٹیبل اوریکل عوامی طور پر دستیاب بائنریز (غیر تعاون یافتہ) اوریکل کمرشل سپورٹ اوریکل ایکسٹینڈ کمرشل سپورٹ Azul Zulu پروڈکشن کمرشل سپورٹ Azul Zulu Extended (Passive) کمرشل سپورٹ
جاوا SE لائف سائیکل - اوریکل سے 5+ سالہ شیڈول پبلک ایگزیکیوٹیبلز (کوئی سپورٹ نہیں) اوریکل کمرشل سپورٹ اوریکل ایکسٹینڈ کمرشل سپورٹ Azul Zulu کی جانب سے کمرشل پروڈکشن سپورٹ توسیعی (غیر فعال) Azul Zulu سے کمرشل سپورٹ
اگر آپ فی الحال JDK 8 کو تجارتی معاونت کے معاہدے کے بغیر استعمال کر رہے ہیں اور عوامی اپ ڈیٹس کے ذریعے اپنے سسٹم کو مستحکم اور محفوظ بنا رہے ہیں، تو آپ شاید اس بارے میں سوچنا چاہیں گے کہ ستمبر میں آپ کیا کریں گے۔ Azul اس میں آپ کی مدد کرنے کے لیے پرعزم ہے، لہذا اگر آپ کو مدد کی ضرورت ہو تو ہم سے رابطہ کرنے میں ہچکچاہٹ محسوس نہ کریں۔

نتائج

اس سال جاوا پلیٹ فارم کے کئی پہلو بدل رہے ہیں، ان میں سے بیشتر بہتر کے لیے۔ نئی خصوصیات تک تیز تر رسائی، فلائٹ ریکارڈر اور مشن کنٹرول جیسی افادیت کی کھلی ریلیز، "کلاس پاتھ" کی رعایت کے ساتھ GPLv2 لائسنس کے تحت OpenJDK ایگزیکیوٹیبل کی رہائی۔ تاہم، افسوسناک حقیقت یہ ہے کہ جاوا پلیٹ فارم کے لیے ہمیشہ کی طرح فراخدلانہ تعاون ماضی کی بات بنتا جا رہا ہے۔ جاوا اب بھی مستحکم، محفوظ اور مفت ہے۔ آپ اور آپ کے صارفین کے لیے ان تین خصوصیات میں سے کون سی دو سب سے اہم ہیں؟
JDK - 4 کے نئے ورژن کی بار بار ریلیز کیا جائے گی؟

مصنف کے بارے میں

سائمن رائٹر ازول سسٹمز میں ڈپٹی ٹیکنیکل ڈائریکٹر ہیں۔ سائمن 1984 سے آئی ٹی کے کاروبار میں ہیں اور انہوں نے برطانیہ کی برونیل یونیورسٹی سے فزکس میں بی ایس سی کی ڈگری حاصل کی ہے۔

سائمن نے سن 1996 میں سن مائیکرو سسٹم جوائن کیا اور جاوا کی ترقی اور مشاورت دونوں میں وقت گزارا۔ 1999 سے، وہ بنیادی جاوا پلیٹ فارم اور کلائنٹ اور ایمبیڈڈ ایپلی کیشنز دونوں پر فوکس کرتے ہوئے، ڈویلپرز کو جاوا ٹیکنالوجیز کا مظاہرہ کر رہا ہے۔ اب Azul Systems میں، وہ Java اور Azul کی JVM مصنوعات کو بہتر طور پر سمجھنے میں لوگوں کی مدد کرتا رہتا ہے۔ آپ اسے ٹویٹر پر فالو کر سکتے ہیں: @speakjava ۔

تبصرے
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION