گنو کلاس پث

از ویکی‌پدیا، دانشنامهٔ آزاد
پرش به: ناوبری، جستجو
گنو کلاس‌پث
GNU Classpath badge.png
GC SwingDemo.jpg
نمایشِ کلاس سوینگ گنو کلاس‌پث
نویسنده(های) اصلی پروژه گنو
توسعه‌دهنده(ها) پروژه گنو (به صورت رسمی بنیاد نرم‌افزار آزاد)
انتشار پایدار ۰.۹۸ / ۰۵ فوریه ۲۰۰۹؛ ۲٬۰۳۱ روز پیش
وضعیت توسعه فعال
نوشته شده به زبان برنامه‌نویسی سی و جاوا
سیستم‌عامل چند سکویی
سکو(ها) سکوی جاوا
پروانه اجازه‌نامه عمومی همگانی گنو+
وب‌گاه http://www.classpath.org

گنو کلاس‌پث پروژه‌ای با هدف ایجاد پیاده‌سازی نرم‌افزار آزاد از کلاس کتابخانه‌ی جاوا برای جاوا است. فارغ از حجم عظیم کتابخانه‌ی که باید خلق می‌شد، تاکنون بیشتر کار صورت پذیرفته‌است، که شامل سوینگ، کوربا و سایر بخش‌های اصلی است. نوسعه‌دهندگان کلاس‌پث بیشتر کلاس‌ها را از جی۲ اس‌ایی ۱.۴ و ۵.۰ پیاده‌سازی نموده‌است. اکنون کلاس‌پث قادر به اجرای برنامه‌های مشهور جاوا مانند ووز و اکلیپس می‌باشد.

گنو کلاس‌پث از برنامه‌های با اولیت بالای پروژه گنو است. اگرچه کد منبع پیاده‌سازی «رسمی» جاوا از سوی سان میکروسیستمز (خریداری شده توسط اوراکل) در دسترس است، اما اجازه‌نامه‌ی آن اجازه‌ی هیچگونه جایگزینی را نمی‌دهد. این موضوع، مانعی بزرگ برای پروژه‌های خلاقانه است که اجازه پیشرفت بدون این جایگزینی را نمی‌دهد. جامعه‌ی توسعه‌ی گنو کلاس‌پث، از انستیتوهایی تشکیل شده که بر روی ماشین مجازی جاوا تحقیق می‌نمایند. کلاس‌پث گنو بخشی از بنیاد نرم‌افزار آزاد است که در ابتدا به صورت موازی با جی‌سی‌جی توسعه‌داده می‌شد. این کار به خاطر عدم سازگاری اجازه‌نامه‌ها بود. بعدها این دو پروژه در هم ادغام شدند.

اجازه‌نامه[ویرایش]

«کلاس‌پث گنو» تحت اجازه‌نامه عمومی همگانی گنو به همراه استثناهایی منتشر شد که خود اجازه‌نامه نرم‌افزار آزاد. همه‌ی کدها به صورت رسمی، متعلق به بنیاد نرم‌افزار آزاد است.

استفاده‌ها[ویرایش]

کلاس‌پث گنو توسط بسیاری از پیاده‌سازی‌های آزاد جاوا مانند (کافی، سابل‌وی‌ام، جام‌وی‌ام، کاکائو، جیکس اروی‌ام، وی‌ام‌کیت) استفاده شده‌است. این بدان خاطر است که تمام ماشین‌های مجازی جاوا که تمام خصوصیات را داراست باید از کتابخانه‌ی استاندارد استفاده نماید. بعضی از سایر استفاده‌ها عبارتند از:

تاریخچه[ویرایش]

کلاس‌پث گنو از سال ۱۹۹۸ با ۵ توسعه‌گر شروع به کار نمود. در طول زمان با چندیدن پروژه با هدف مشابه ادغام شد(کافی، لایب جی‌سی). در گذشته کلاس‌پث گنو از سوی ماشین مجازی خودش( جافر) عرضه کرد. از زمانی که کلاس‌پث به عنوان کتابخانه‌ی پایه انتخاب شد بین بسیاری از پروژه‌های مختلف به اشتراک گذاشته‌شد، این ماشین مجازی کمتر و کمتر مورد پشتیبانی قرار گرفت.

بعد از پیاده‌سازی بخش عظیمی از رابط برنامه‌نویسی جاوا ۱.۴، برنامه بیشتر بر محور شناسایی خطاها بود تا تکیه بر پیاده‌سازی رابط برنامه‌نویسی. در ۲ آبان ۱۳۸۵، تعهد به پیاده‌سازی آخرین کلاس نگارش ۱.۴ داده‌شد.HTMLWriter. سرعت توسعه که بر مبنای تعداد خط کد منبع در روز به بالاترین حد خودش در سال ۲۰۰۶ رسید.

نام گنو کلاس پث از سوی برادلی ام کان به یکی از توسعه‌دهندگان اولیه، پاول فیشر، داده‌شد. در آن زمان مساله‌ی پیاده‌سازی آزاد جاوا مورد نگرانی بود. چراکه توسعه‌دهندگان از احتمال شکایت سان، مالک علامت تجاری جاوا هراس داشتند. کان نام $CLASSPATH را پیشنهاد داد. که متغیر محیطی بود که از سوی بسیاری از سیستم‌ها برای نشان دادن موقعیت کتابخانه‌ی جاوا استفاده می‌شد. در واقع راهی برای صدا زدن جاوا بدون استفاده از نامش بود. فیشر و باقی توسعه‌گران از علامت $ در ابتدا این نام و نیز حروف بزرگ بودن تمام کلمه، راضی نبودند که نهایتاً با تغییرانی منجر به نام معروف Classpath شد.

گروه توسعه[ویرایش]

گروه توسه‌ی بر پروژه، شامل ۷۰ توسعه‌دهنده بود که اکنون به ۲۰ نفر کاهش یافته‌است. یک نفر نیز مسئول نگاهداری بود. این مسئول از جنبه‌های حقوقی پروژه مواظبت می‌نمود و انتشارهای معمول برنامه را بر طبق مدیریت کیفیت، مدیریت می‌نمود. وی همچنین مسئول اعطای اجازه‌ی دسترسی به سی‌وی‌اس بود.

بر خلاف سایر پروژه‌ها، گنو کلاس پث دارای هیچگونه سلسله مراتبی نبود. این کار نیازمند توانایی‌های فنی بود و هیچ‌گونه تقسیم کاری وجود نداشت. همه‌ی تغییرات صورت گرفته بر روی کد به فهرست‌های بحث ارسال می‌شد. در آنجا بود که هر فردی می‌توانست مخالفت خود را ابرارز نمود. هر روز پنج تا هشت اصلاحیه بر روی کدها صورت می‌گرفت.

این پروژه دارای ابزار آزمایش مخصوی به خودش بود(مائو). این ابزار توسعه بیش از ۱۷۵٬۰۰۰ آزمایش انجام داد. این آزمایش‌ها به صورت روزانه برای ایجاد اطمینان بر سازگاری کلاس‌ها با رابط برنامه‌نویس کلاس‌های سان صورت می‌گرفت. پیشرفت کتابخانه گنو کلاس پث به دنبال پیاده‌سازی کامل جی۲اس‌ایی ۱.۴ . ۵.۰ است[۱] [۲].

پیوند[ویرایش]

منابع[ویرایش]