Tuesday, November 14, 2006

جاوا اپن سورس می شود

بالاخره شرکت سان ماکرو سیستمز تحت فشار شرکت ها ،گروه ها و حتی برخی از کشورها امروز اعلام کرد که پلت فرم جاوا را بصورت اپن سورس ارائه دهد. این تصمیم شامل Java ME(Micro Edition) ، Java SE(Standard Edition) و پیاده سازی شرکت سان از Java EE(Enterprise Edition) با نام GlassFish می شود. بسیاری از کارشناسان این اتفاق را به رنسانسی در صنعت جاوا تعبیر کرده اند.

چند سالی بود که برخی از شرکت ها (علی الخصوص IBM)، برخی از کشورها(علی الخصوص چین و برزیل) و بسیاری از گروه های طرفدار اپن سورس از شرکت سان درخواست می کردند که این کار را انجام دهد، و این فشار ها تا همین امروز که سان اعلام کرد JDK 1.7 (و احتمالا JDK 1.6) را تحت مجوز GPL منتشر می کند ادامه داشت. انتشار JDK تحت مجوز GPL این اجازه را می دهد که دیگران بتوانند سورس آن را تغییر دهند ولی سورس تغییر یافته باید تحت مجوز GPL منتشر شود. به همین دلیل می توان گفت که GPL تا حد زیادی از سوء استفاده های تجاری جلوگیری می کند.

انتشار پیاده سازی مرجع جاوا بوسیله شرکت سان تغییرات و پیامدهای بزرگی را در پی خواهد داشت. اول اینکه تغییراتی که در کامپایلر، ماشین مجازی و کتابخانه جاوا داده می شود می تواند نوید ارتقای کیفیت این پلت فرم را در آینده بدهد. دوم اینکه زبان جاوا در آینده طرفداران بیشتری پیدا خواهد کرد. می توان گفت جاوا تحت سیستم عامل لینوکس ( که آن هم تحت مجوز GPL منتشر می شود) می تواند به حاکمیت C++ خاتمه دهد و توسعه دهندگان لینوکس روی خوش(تری) به جاوا نشان دهند. همچنین جاوا می تواند تحت سیستم عامل هایی که پیاده سازی از جاوا در آن وجود ندارد پیاده سازی شود. سومین تغییری (که برای ما ایرانی ها مهمترین تغییر نیز هست) این است که جاوا از انحصار شرکت های امریکایی خارج می شود. در حال حاظر(تا آنجایی که من خبر دارم) شرکت های Sun Microsystems، IBM، Bea و Oracle پیاده سازی خود را از JDK را ارائه می دهند که بر اساس قوانین امریکا صادرات این شرکت ها به ایران غیر قانونی است. البته پیاده سازی های اپن سورسی هم از JDK وجود دارد که عمدتا (هنوز) نصفه و نیمه هستند. از جمله مطرح ترین آن ها پروژه Harmony (تحت مجوز Apache) و پروژه Gnu Classpath (تحت GPL) هست. البته احتمالا هارمونی حتی پس از انتشار اپن سورس JDK هم به کار خود ادامه می دهد چرا که همان طور که گفتم هارمونی تحت مجوز آپاچی منتشر می شود(که یک مجوز اپن سورس ولی Commercial Friendly هست) که تفاوت های فلسفی عمیقی با GPL دارد، ولی پروژه های دیگر اپن سورس (که تحت GPL هستند) ممکن است خود را با پیاده سازی سان تطبیق دهند یا با آن ترکیب شوند!

کلام آخر اینکه تغییرات در JDK به معنی عدم سازگاری بین پیاده سازی های مختلف JDK نیست. تمام تغییرات ایجاد شده در JDK برای اینکه به اسم جاوا منتشر شود باید تمام تست های TCK(Tool Compatibility Kit) را پاس کند.

Related Links:
https://openjdk.dev.java.net/
http://www.infoq.com/news/2006/11/open-source-java

1 comment:

Anonymous said...

http://www.dailytech.com/article.aspx?newsid=4922