دوشنبه, ۱۰ اردیبهشت, ۱۴۰۳ / 29 April, 2024
مجله ویستا

جاوا، اپن سورس و ماجرا ادامه دارد...


شاید شما هم این خبر را شنیده‌اید که: تعداد زیادی از ابزارهای برنامه‌نویسی جاوا رایگان شدند و البته اپن سورس هم. از روزی که شرکت سان‌مایکروسیستمز اعلام کرد چندین نرم‌افزار خود را رایگان کرده و همه را در بسته جدیدی به نام Solaris Enterprise Suite قرارداده‌است، مدت زیادی نمی‌گذرد. اما همچنان بحث و گفت‌وگو درباره رابطه جاوا با اپن سورس و رایگان شدن این نرم‌افزارها، در محافل اینترنتی ادامه دارد. با این‌حال ظاهرا موضوع گرایش سان به جنبش اپن‌سورس پررنگ‌تر است و به‌نظر می‌رسد که هم پیشگامان جاوا و هم فعالان اپن‌سورس مایلند این فناوری و زبان برنامه‌نویسی پرطرفدار را به سوی دنیای لینوکس و نرم‌افزارهای آزاد بکشند. با این وجود هنوز بحث‌هایی درباره مبانی این فرآیند پیچیده در جریان است.چندی پیش، به بهانه همین رویداد سری به وبلاگ‌های موجود در سایت java.net زدم تا ببینم چه خبر است. به یادداشتی از یک برنامه‌نویس جاوا به نام فیلیپه گاچو با عنوان <حرکت به سمت لینوکس> برخورد کردم.
۱یادداشت مربوط به دو هفته قبل از خبر مذکور بود. از عنوان یادداشت معلوم بود که نویسنده دغدغه اپن سورس و لینوکس را دارد. (لازم است یادآوری کنم که مطالب این یادداشت وبلاگی را به این خاطر در اینجا آورده‌ام که شمه‌ای از مباحث موجود درباره رابطه جاوا و اپن سورس در محافل آنلاین را نشان بدهم).
این برنامه نویس سعی کرده بود با تکیه بر چند دلیل، به برنامه‌نویسان جاوا توصیه کند پلتفرم برنامه نویسی خود را به لینوکس منتقل کنند. او ابتدا پرسیده بود: <چرا برنامه‌نویسان جاوا از لینوکس به عنوان پلتفرم برنامه نویسی خود استفاده ‌می‌کنند؟> و در ادامه اضافه کرده بود: <من دریافته‌ام که بیشتر برنامه‌نویسان جاوا از ویندوز استفاده می‌کنند تا لینوکس.> او از مشکلات سنتی برنامه‌نویسی جاوا روی لینوکس گفته و یادآوری کرده بود: از دیدگاه جامعه اپن‌سورس، یک نرم‌افزار آزاد نباید به یک نرم‌افزار تجاری متکی باشد.
فیلیپه در ادامه نوشته بود که به عقیده او یکی از موانع مهم در این زمینه، عدم آشنایی کافی برنامه‌نویسان جاوا با ابزارهای لینوکسی و اپن‌سورسی مناسب در این زمینه است. به همین دلیل فهرست سودمندی از ابزارهای مختلف آورده بود تا استدلالش را کامل کند. البته ناگفته نماند که استدلال‌های او در نگاه نخست کامل به‌نظر می‌رسیدند. اما کمی پایین‌تر، پیام‌ها و استدلال‌های خوانندگان این یادداشت هم جالب بودند. یک نفر در پاسخ به سوال آغازین این یادداشت نوشته بود: <پاسخ این‌است که مشکلی وجود ندارد.
بیشتر برنامه‌نویسان جاوا برخلاف برخی کاربران لینوکس چندان متعصب نیستند که نتوانند بپذیرند هرکسی نمی‌تواند دنباله‌رو احساسات آن‌ها باشد. بنابراین یک برنامه‌نویس جاوا از ابزارهایی استفاده می‌کند که برای کارش مناسب‌ترین باشد، و این موضوع روی دسکتاپ، معمولا به معنی همان ویندوز است. من این مسئله را براساس تجربه شخصی خود می‌گویم که هم از ویندوز استفاده می‌کنم و هم از لینوکس>.
این خواننده سپس اضافه کرده بود: <شخصا تا زمانی که اینترفیس لینوکس کمی بهتر و کاربر پسندتر نشود، از آن به عنوان دسکتاپ استفاده نخواهم کرد. در ضمن این‌که شما می‌گویید مردم "زندانی ویندوز" هستند و "سیستم‌عامل آخرین نرم‌افزار تجاری است که هنوز مردم از آن استفاده می‌کنند، درست نیست>. و بعد هم از شرکت خودش مثال آورده بود تا نشان دهد در آنجا هم از نرم‌افزارهای اپن‌سورس و هم غیر آن استفاده می‌شود.
به اینجا که رسیدم، از خودم پرسیدم مگر اصولا فلسفه حرکت سان مایکروسیستمز و جاوا به سمت اپن‌سورس چه بوده که اکنون چنین مباحثی مطرح می‌شود؟
اگر هدف از اپن‌سورس‌کردن ابزارهای برنامه‌نویسی جاوا دستیابی به ارزش‌هایی باشد که اصولا در بازکردن کد منبع یک نرم‌افزار وجوددارد، آیا با تکمیل این فرآیند، آن ارزش‌ها به دست‌می‌آیند، یا نه؟ چه دلیلی وجود دارد که اصرار داشته‌باشیم هرگونه "حرکت به سمت اپن‌سورس" لزوما با یک "حرکت به سمت لینوکس" کامل می‌شود؟
اگر منظور فیلیپه گاچو و افرادی مثل ا‌و این است که به برنامه‌نویسان جاوا یادآوری کنند: "شما گزینه‌های دیگری هم برای محیط کار خود دارید و دنیا فقط ویندوز نیست"، کار درستی انجام داده‌اند. اما با این ایده که چون جامعه اپن‌سورس معتقد است یک نرم‌افزار آزاد نباید بر یک پلتفرم تجاری متکی باشد و باید در فکر مهاجرت برنامه‌نویسان جاوا به لینوکس باشیم، موافق نیستم. البته به یک دلیل مشخص که خواهم گفت.
به نظر من همین حالا هم که خیلی از برنامه‌نویسان جاوا از ویندوز به عنوان دسکتاپ خود استفاده می‌کنند، بسیاری از نرم‌افزارهای نوشته شده به زبان جاوا روی سیستم عامل ویندوز از راندمان مطلوبی برخوردار نیستند(به عنوان نمونه مرورگر نت‌اسکیپ که مرحوم شد).
البته برنامه‌نویسان جاوا در این زمینه تقصیر چندانی ندارند. زیرا وقتی که نرم‌افزار آن‌ها به ماشین JVM متکی باشد، طبیعتا نمی‌توانند ازبرخی قابلیت‌هایی که در مکانیزم Messaging سیستم‌عامل و رابط بصری ویندوز وجود دارد، استفاده کنند. درنتیجه همانطور که خود کاربران جاوا به شوخی می‌گویند: شعار معروف Write Once ,Run Anywhere درعمل به Write Once ,Debug Anywhere تبدیل می‌شود.
حال تصور کنید که بخواهیم این ایده را رواج دهیم که "برنامه‌نویسان جاوا هرچه زودتر باید پلتفرم خود را به لینوکس منتقل کنند، چون باقی‌ماندن روی ویندوز جزء مرام جامعه اپن سورس نیست." در آن صورت تردیدی ندارم که به موازات کاهش تماس کاربران جاوا با ویندوز، کارایی و Performance برنامه‌های نوشته‌شده با جاوا روی ویندوز افت خواهد کرد و عملا JVM در ویندوز نقش تزئینی پیدا خواهد کرد. سوال من این است که مگر قرار نیست جاوا به‌عنوان یک پلتفرم فرابخشی باقی بماند و ما بتوانیم یک برنامه نوشته شده با آن را روی هر سیستم‌عاملی اجرا کنیم؟ اگر به اپن‌سورس ‌کردن جاوا بسنده نکنیم و بخواهیم آن را هرچه بیشتر به سمت لینوکس بکشانیم، در آن صورت چه تفاوتی از این لحاظ میان پلتفرم دات‌نت مایکروسافت (که مختص ویندوز طراحی شده) و جاوای متمایل به لینوکس وجود خواهد داشت؟
منبع : ماهنامه شبکه


همچنین مشاهده کنید