B O L O T
05-06-2007, 11:04
سال 2006 سال پرماجرا و سرنوشتسازي براي دنياي جاوا بود. تحولات بسيار مهمي رخ داد كه نه تنها روي سرنوشت جاوا تأثير گذاشت، بلكه صنعت نرمافزار را نيز كه تا حدود زيادي متكي به اين فناوري است، در سالهاي آينده متأثر خواهد ساخت. بنابراين چه برنامهنويس باشيد چه نباشيد، چه برنامهنويس جاوايي باشيد چه با زبانهاي مايكروسافتي و ديگر زبانها كار كنيد، در هر صورت، اين تحولات روي زندگي نرمافزاري و كامپيوتري شما تأثير خواهد گذاشت. حال بايد پرسيد كه اين تحولات چه بودند؟
چنانكه پيشتر هم در ماهنامه شبكه خواندهايد، طي دو سه سال اخير تغييرات زيادي در ساختار و كسبوكار شركت سانمايكروسيستمز به وقوع پيوسته است و مديران اين شركت دست به تجديد ساختار آن زدهاند. يكي از اين تغييرات، باز كردن سورسكد كامپايلر و موتور مجازي جاوا بود. اگر اخبار مربوط به جاوا را دنبال كرده باشيد، حتماً ميدانيد كه اپنسورس شدن كامل جاوا ماهها موضوع بحث رسانهها بود. محافل مختلف، بهويژه محافل اپن سورسي، به شركت سانمايكروسيستمز فشار زيادي وارد ميكردند تا سورس كد موتورجاوا را باز كند. خود شركت سان نيز به اجراي چنين كاري تمايل پيدا كرده بود؛ زيرا بحران اقتصادي عظيمي اين شركت را گرفتار كرده بود و آن را در آستانه سقوطي باورنكردي قرارداده بود. بنابراين سان با پيوستن به جنبش اپنسورس، هم به تحكيم موقعيت خود در صنعت آيتي، به عنوان يك پيشگام، ميپرداخت و هم به سرمايهگذاران شركت مهلت ميداد پيش از هر تصميمي براي خروج سرمايههاي خود از سان، يك بار ديگر به اين غول صنعتي فرصت دهند به دوران طلايي گذشته خويش بازگردد.
مجوز GPL براي موتور جاوا
كاري كه سرانجام سان به آن دست زد، انتشار سورسكد موتور مجازي جاوا و كامپايلر آن تحت مجوز عمومي GNU يا همان GPL (نسخه دوم) بود. مجوز GPL 2 براي اهالي لينوكس بسيار آشناست و در حقيقت يكي از محبوبترين انواع مجوز در وادي اپنسورس به شمار ميآيد. به زبان ساده، مجوز GPL ميگويد هر كدي كه از يك كد تحت GPL مشتق شود و هر كدي كه همراه آن عرضه شود، بايد به نوبه خود تحت ليسانس GPL باشد. با اين حال هماكنون صنعت عظيم و پولسازي حول و حوش فناوري جاوا پديد آمده است و اغلب شركتهاي فعال در اين زمينه، نرمافزارهاي مبتني بر جاواي خود را به فروش ميرسانند.
سانمايكروسيستمز براي جلوگيري از به وحشت افتادن اين شركتها و وادارنكردن آنان به بازكردن سورس كد نرمافزارهايشان، يك تبصره به مجوز جديد جاوا افزوده است كه به كتابخانه ClassPath در اين معماري مربوط ميشود. در واقع استفاده از اين كتابخانه مشمول مجوز GPL نميشود و اين امر به توليدكنندگان نرمافزارهاي مبتني بر جاوا امكان ميدهد در صورت تمايل، كدهاي خود را بدون نياز به افشا كردن سورس آنها همراه جاوا در اختيار مصرف كنندگان قراردهند.
برنامه سان مايكروسيستمز براي بازكردن كامل سورس موتور جاوا يك برنامه چند مرحلهاي است. نسخه Enterprise جاوا يا Java EE حدود يك سال قبل در قالب پروژه GlassFish اپنسورس شد، اما اقدام جديد سان تاكنون منجر به برپايي پروژههاي HotSpot VM، كامپايلر javac و انتشار Java ME تحت مجوز GPL شده است و برنامه اپن سورس كردن نسخه استاندارد جاوا، يعني Java SE همچنان در جريان است و البته هنوز كامل نشده است.
واكنش جامعه اپنسورس به اين رويداد در سراسر دنيا بسيار مثبت بوده است و اين را ميتوان از روي صحبتهاي ريچارد استالمن، نظريهپرداز معروف جنبش نرمافزار آزاد، برداشت كرد كه در واكنش به اين تصميم سان گفت: <بسيار خوب شد كه <دام جاوا> ديگر وجود ندارد.> اشاره استالمن به موضوعي است كه فعالان اپن سورس اصطلاحاً دام جاوا ميناميدند و مقصود آنها معضل توسعه و استفاده از نرمافزارهايي بود كه اپن سورس بودند، ولي بخشي از آنها مبتني بر جاوا و مدل مجوزدهي خاص سان در آن زمان بود.
واكنش آيبيام
با اين حال تصميم سان براي انتشار سورس موتور جاوا تحت مجوز GPL با واكنش آيبيام روبهرو شد. شركت آيبيام چند سالي است كه نقش پدرانهاي را در صنعت اپنسورس براي خود انتخاب كرده و يكي از پشتيبانان بزرگ اين جنبش محسوب ميشود. مدتي است اين دو شركت همكاريهاي گستردهاي در حوزه فناوري جاوا دارند. مهمترين فعاليت مشترك آنها نيز، پروژهاي به نام هارموني است كه با هدف پيادهسازي يك بستر نرمافزاري سازگار با جاوا از روي نسخه استاندارد اين فناوري، يعني Java SE، در بنياد نرمافزاري آپاچي دنبال ميشود. اين پروژه در واقع يك پيادهسازي اپنسورس از جاوا است كه خيلي پيش از آنكه سان بخواهد سورس موتور جاوا را باز كند، آغاز شده بود.
چون آيبيام خود را حامي بزرگ آپاچي ميداند، از اينكه سان سورس جاوا را تحت مجوز ديگري (غير از آنچه در پروژه هارموني در حال پيگيري است)، به صنعت اپنسورس عرضه كرده ناخشنود است؛ زيرا اين نگراني وجود دارد كه دو مجراي اپن سورسي موازي براي جاوا پديد آيد كه يكي تحت GPL، آن هم روايت خاص سان از GPL، و ديگري با رهيافت آيبيام در آپاچي، دنبال شود و مشكل عدم سازگاري ميان اين دو پيادهسازي مختلف پيش بيايد. ضمن اينكه آيبيام نگران است اقدام اخير سان، مدل اپن سورسي جاوا در پروژه هارموني را به كلي تحتالشعاع قراردهد.
كاپوچينوي رايگان و چالشهاي جديد
با اين همه، دوگانگي در مدلهاي مجوزدهي سان وآيبيام در حوزه جاوا تنها مانعي نيست كه بر سر راه توسعه اين فناوري قرارگرفته است. اگرچه اپن سورس كردن جاوا براي سان مزايايي به دنبال خواهد آورد، بدون مخاطره نيز نخواهد بود. نخستين نكته اين است كه دست كم به لحاظ تئوري، فناوري و زبان جاوا ديگر در انحصار سانمايكروسيستمز نيست.
بنابراين اين احتمال وجود دارد كه پيادهسازيهاي متعددي از جاوا پديد آيند كه برخي از آنها حتي از جاواي سانمايكروسيستمز نيز بهتر باشند. اگر چنين اتفاقي رخ دهد، آنگاه سان موقعيت نسبي خود در اين صنعت را از دست خواهد داد. در واقع كل ماجراي اپنسورس شدن موتور جاوا را ميتوان اينگونه تفسير كرد كه چون صنعت نرمافزار زبان و فناوري جاوا را خيلي دوست دارد و سخت به آن محتاج است و از سوي ديگر، نگرانيهايي درباره بقاي شركت سان پديد آمده بود، يك جنبش عظيم جهاني به راه افتاد تا جاوا را از چنگ سان بيرون بياورد تا اگر سان در گرداب مشكلات اقتصادي غرق شد، جاوا را نيز با خود به درون اين گرداب فرو نبرد. حالا ديگر صنعت چندان نيازي به سان ندارد و تنها راه ممكن براي پيشگام ماندن سان در عرصه جاوا اين است كه همچنان نوآورترين و خلاقترين توسعهدهنده جاوا باشد. بنابراين از اين نظر ميتوان گفت جاوا اينك انرژي مضاعفي براي فتح قلههاي صنعت جهاني نرمافزار يافته است و اين اتفاق را بايد به فال نيك گرفت.
از سوي ديگر، اين نگراني وجود دارد كه پيادهسازيهاي متعدد و گاه ناسازگار از جاوا، همان مشكلي را بازتوليد كند كه در صنعت لينوكس ديده ميشود و به اين صورت رقابت ميان توزيعهاي مختلف جاواي اپن سورس به جاي پيشرفت اين فناوري منجر به چند دستگي در اين عرصه شود.
با اين حال، شايد جالبترين پيامد اپن سورس شدن جاوا اين باشد كه روي موتور مجازي جاوا زبانهاي ديگري غير از جاوا پديد آيند و زبان جاوا جاي خود را به زبان بهتر ديگري بدهد. اگر چنين شود، به ضرر فناوري جاوا، اما در كل به نفع صنعت نرمافزار دنيا خواهد بود. از همين حالا نام يكي از كانديداهاي جايگزين جاوا به نام Ruby بر سر زبانها افتاده است. اگر يادداشت شماره 73 ماهنامه شبكه را به خاطر داشته باشيد، بسياري از برنامهنويسان دنيا فريمورك Ruby on Rails را به عنوان بهترين چارچوب نرمافزاري سال 2006 انتخاب كرده بودند. بنابراين اپنسورس شدن جاوا مثل يك تيغ دولبه است. اگر اوضاع به خوبي پيش برود، زبان و فناوري جاوا حتي محبوبتر از گذشته خواهد شد، اما اگر ورق برگردد، حتي ممكن است زندگي پرفراز و نشيب اين زبان قدرتمند، به پايان برسد! فعلاً كه همه اميدوارند. پس بايد به انتظار نشست و ديد
چنانكه پيشتر هم در ماهنامه شبكه خواندهايد، طي دو سه سال اخير تغييرات زيادي در ساختار و كسبوكار شركت سانمايكروسيستمز به وقوع پيوسته است و مديران اين شركت دست به تجديد ساختار آن زدهاند. يكي از اين تغييرات، باز كردن سورسكد كامپايلر و موتور مجازي جاوا بود. اگر اخبار مربوط به جاوا را دنبال كرده باشيد، حتماً ميدانيد كه اپنسورس شدن كامل جاوا ماهها موضوع بحث رسانهها بود. محافل مختلف، بهويژه محافل اپن سورسي، به شركت سانمايكروسيستمز فشار زيادي وارد ميكردند تا سورس كد موتورجاوا را باز كند. خود شركت سان نيز به اجراي چنين كاري تمايل پيدا كرده بود؛ زيرا بحران اقتصادي عظيمي اين شركت را گرفتار كرده بود و آن را در آستانه سقوطي باورنكردي قرارداده بود. بنابراين سان با پيوستن به جنبش اپنسورس، هم به تحكيم موقعيت خود در صنعت آيتي، به عنوان يك پيشگام، ميپرداخت و هم به سرمايهگذاران شركت مهلت ميداد پيش از هر تصميمي براي خروج سرمايههاي خود از سان، يك بار ديگر به اين غول صنعتي فرصت دهند به دوران طلايي گذشته خويش بازگردد.
مجوز GPL براي موتور جاوا
كاري كه سرانجام سان به آن دست زد، انتشار سورسكد موتور مجازي جاوا و كامپايلر آن تحت مجوز عمومي GNU يا همان GPL (نسخه دوم) بود. مجوز GPL 2 براي اهالي لينوكس بسيار آشناست و در حقيقت يكي از محبوبترين انواع مجوز در وادي اپنسورس به شمار ميآيد. به زبان ساده، مجوز GPL ميگويد هر كدي كه از يك كد تحت GPL مشتق شود و هر كدي كه همراه آن عرضه شود، بايد به نوبه خود تحت ليسانس GPL باشد. با اين حال هماكنون صنعت عظيم و پولسازي حول و حوش فناوري جاوا پديد آمده است و اغلب شركتهاي فعال در اين زمينه، نرمافزارهاي مبتني بر جاواي خود را به فروش ميرسانند.
سانمايكروسيستمز براي جلوگيري از به وحشت افتادن اين شركتها و وادارنكردن آنان به بازكردن سورس كد نرمافزارهايشان، يك تبصره به مجوز جديد جاوا افزوده است كه به كتابخانه ClassPath در اين معماري مربوط ميشود. در واقع استفاده از اين كتابخانه مشمول مجوز GPL نميشود و اين امر به توليدكنندگان نرمافزارهاي مبتني بر جاوا امكان ميدهد در صورت تمايل، كدهاي خود را بدون نياز به افشا كردن سورس آنها همراه جاوا در اختيار مصرف كنندگان قراردهند.
برنامه سان مايكروسيستمز براي بازكردن كامل سورس موتور جاوا يك برنامه چند مرحلهاي است. نسخه Enterprise جاوا يا Java EE حدود يك سال قبل در قالب پروژه GlassFish اپنسورس شد، اما اقدام جديد سان تاكنون منجر به برپايي پروژههاي HotSpot VM، كامپايلر javac و انتشار Java ME تحت مجوز GPL شده است و برنامه اپن سورس كردن نسخه استاندارد جاوا، يعني Java SE همچنان در جريان است و البته هنوز كامل نشده است.
واكنش جامعه اپنسورس به اين رويداد در سراسر دنيا بسيار مثبت بوده است و اين را ميتوان از روي صحبتهاي ريچارد استالمن، نظريهپرداز معروف جنبش نرمافزار آزاد، برداشت كرد كه در واكنش به اين تصميم سان گفت: <بسيار خوب شد كه <دام جاوا> ديگر وجود ندارد.> اشاره استالمن به موضوعي است كه فعالان اپن سورس اصطلاحاً دام جاوا ميناميدند و مقصود آنها معضل توسعه و استفاده از نرمافزارهايي بود كه اپن سورس بودند، ولي بخشي از آنها مبتني بر جاوا و مدل مجوزدهي خاص سان در آن زمان بود.
واكنش آيبيام
با اين حال تصميم سان براي انتشار سورس موتور جاوا تحت مجوز GPL با واكنش آيبيام روبهرو شد. شركت آيبيام چند سالي است كه نقش پدرانهاي را در صنعت اپنسورس براي خود انتخاب كرده و يكي از پشتيبانان بزرگ اين جنبش محسوب ميشود. مدتي است اين دو شركت همكاريهاي گستردهاي در حوزه فناوري جاوا دارند. مهمترين فعاليت مشترك آنها نيز، پروژهاي به نام هارموني است كه با هدف پيادهسازي يك بستر نرمافزاري سازگار با جاوا از روي نسخه استاندارد اين فناوري، يعني Java SE، در بنياد نرمافزاري آپاچي دنبال ميشود. اين پروژه در واقع يك پيادهسازي اپنسورس از جاوا است كه خيلي پيش از آنكه سان بخواهد سورس موتور جاوا را باز كند، آغاز شده بود.
چون آيبيام خود را حامي بزرگ آپاچي ميداند، از اينكه سان سورس جاوا را تحت مجوز ديگري (غير از آنچه در پروژه هارموني در حال پيگيري است)، به صنعت اپنسورس عرضه كرده ناخشنود است؛ زيرا اين نگراني وجود دارد كه دو مجراي اپن سورسي موازي براي جاوا پديد آيد كه يكي تحت GPL، آن هم روايت خاص سان از GPL، و ديگري با رهيافت آيبيام در آپاچي، دنبال شود و مشكل عدم سازگاري ميان اين دو پيادهسازي مختلف پيش بيايد. ضمن اينكه آيبيام نگران است اقدام اخير سان، مدل اپن سورسي جاوا در پروژه هارموني را به كلي تحتالشعاع قراردهد.
كاپوچينوي رايگان و چالشهاي جديد
با اين همه، دوگانگي در مدلهاي مجوزدهي سان وآيبيام در حوزه جاوا تنها مانعي نيست كه بر سر راه توسعه اين فناوري قرارگرفته است. اگرچه اپن سورس كردن جاوا براي سان مزايايي به دنبال خواهد آورد، بدون مخاطره نيز نخواهد بود. نخستين نكته اين است كه دست كم به لحاظ تئوري، فناوري و زبان جاوا ديگر در انحصار سانمايكروسيستمز نيست.
بنابراين اين احتمال وجود دارد كه پيادهسازيهاي متعددي از جاوا پديد آيند كه برخي از آنها حتي از جاواي سانمايكروسيستمز نيز بهتر باشند. اگر چنين اتفاقي رخ دهد، آنگاه سان موقعيت نسبي خود در اين صنعت را از دست خواهد داد. در واقع كل ماجراي اپنسورس شدن موتور جاوا را ميتوان اينگونه تفسير كرد كه چون صنعت نرمافزار زبان و فناوري جاوا را خيلي دوست دارد و سخت به آن محتاج است و از سوي ديگر، نگرانيهايي درباره بقاي شركت سان پديد آمده بود، يك جنبش عظيم جهاني به راه افتاد تا جاوا را از چنگ سان بيرون بياورد تا اگر سان در گرداب مشكلات اقتصادي غرق شد، جاوا را نيز با خود به درون اين گرداب فرو نبرد. حالا ديگر صنعت چندان نيازي به سان ندارد و تنها راه ممكن براي پيشگام ماندن سان در عرصه جاوا اين است كه همچنان نوآورترين و خلاقترين توسعهدهنده جاوا باشد. بنابراين از اين نظر ميتوان گفت جاوا اينك انرژي مضاعفي براي فتح قلههاي صنعت جهاني نرمافزار يافته است و اين اتفاق را بايد به فال نيك گرفت.
از سوي ديگر، اين نگراني وجود دارد كه پيادهسازيهاي متعدد و گاه ناسازگار از جاوا، همان مشكلي را بازتوليد كند كه در صنعت لينوكس ديده ميشود و به اين صورت رقابت ميان توزيعهاي مختلف جاواي اپن سورس به جاي پيشرفت اين فناوري منجر به چند دستگي در اين عرصه شود.
با اين حال، شايد جالبترين پيامد اپن سورس شدن جاوا اين باشد كه روي موتور مجازي جاوا زبانهاي ديگري غير از جاوا پديد آيند و زبان جاوا جاي خود را به زبان بهتر ديگري بدهد. اگر چنين شود، به ضرر فناوري جاوا، اما در كل به نفع صنعت نرمافزار دنيا خواهد بود. از همين حالا نام يكي از كانديداهاي جايگزين جاوا به نام Ruby بر سر زبانها افتاده است. اگر يادداشت شماره 73 ماهنامه شبكه را به خاطر داشته باشيد، بسياري از برنامهنويسان دنيا فريمورك Ruby on Rails را به عنوان بهترين چارچوب نرمافزاري سال 2006 انتخاب كرده بودند. بنابراين اپنسورس شدن جاوا مثل يك تيغ دولبه است. اگر اوضاع به خوبي پيش برود، زبان و فناوري جاوا حتي محبوبتر از گذشته خواهد شد، اما اگر ورق برگردد، حتي ممكن است زندگي پرفراز و نشيب اين زبان قدرتمند، به پايان برسد! فعلاً كه همه اميدوارند. پس بايد به انتظار نشست و ديد