ورود/ایجاد حساب کاربری
   منوی اصلی
· خانه
· لیست کاربران
· جستجو
· آمار مشاهدات
· آرشیو مقالات


- شرح
· راهنمای نویسندگان
· درباره ما

   همکاری با نشریه
در صورتی که مایل به همکاری با نشریه هستید، می‌توانید در لیست پستی نشریه عضو شده و در جریان امور قرار گیرید. برای اطلاعات بیشتر، اینجا کلیک کنید.

   کاربران
سردبیر
هیچ مدیر کمکی حاضر
همکاران
هیچ مدیر کمکی حاضر
اعضا:
جدیدترین:جدید امروز:0
جدیدترین:جدید دیروز:0
جدیدترین:مجموع:2471
جدیدترین:جدیدترین:
ufumenarayu
اعضا:حاضر
اعضا:اعضا:0
مهمان‌ها:مهمان‌ها:1
مجموع:مجموع:1
کاربران حاضر
هیچ کاربر حاضری وجود ندارد

   ورود کاربران




 


 برای ورود مشکل دارید؟
 ثبت نام کاربران جدید

اپل؛ شرکت بزرگی که به جنبش بازمتن پیوسـت

(2083 مجموع کلمات موجود در متن)
(7180 بار مطالعه شده است)  نسخه چاپی

اپل؛ شرکت بزرگی که به جنبش بازمتن پیوسـت


شایـد اولیــن چــیــزی کـه بـا شـنـیـدن نـــام شـرکـت Apple به ذهــن متبـادر شــــود مـحـصـولاتـی بـا کیـفــیـت بـالا امـا تـحـت شدیدترین محافظتها برای جلوگیری از کپی برداری رقیبان باشد.

امــا در این مــقــاله خواهید دید که اپل-که به ادعای خود اولین شرکت بزرگی است که به جنبش بازمتن ملحق شده- از سالها پیش پروژه‌های مهم و مفید بازمتن داشته است.


اولین پروژه بازمتن اپل

سایت اپــل و بسیاری سایتـهای دیگر اولین پروژه بازمتن اپل را Darwin که در سـال ۱۹۹۹ منتشـر شـد[۱] می‌دانـند. اما حقیقت مــاجــرا چیــز دیگری است، اولین پروژه بازمتن اپل MKLinux -توزیع لینوکس اپل که مقدمه‌ای بر انتقال توزیعها به پلتفورم مکینتاش شد[۲]- بود. ایــن پروژه در ادامه تلاشهای اپل برای ساخت سیستم عامل جدید و انقلابی برای رقابت بــا ویندوز مایکروسافت بــود. شکست پروژه‌های قبــلی باعــث شد تــا اپـل تصمیم به خرید شرکت NeXT و بهره بردن از سیستم عامل و API هایOpenSTEP بگــیـرد[۳]. کــم کم اپل بخشی از تجربیات این پروژه را هم برای ساخت سیستم عامل بعدی خود Rhapsody -که بر مبنای OpenSTEP قرار داشت- استفاده کرد[۴] و ادامه توسعه آن را به جامعه بازمتن سپرد. پس از توقف Rhapsody اپل در سال ۹۹ اعلام کرد که قصد کار بر روی [۵] Mac OS X دارد که بر مبنای Rhapsody قرار داشت، اما با یـــک تفاوت مــهــم، کــاربران و توسعه دهندگان کدهای بسیاری از بخشهای آن را ۲ سال قبل از ارایه رسمــی بـــرای هــردوی PowerPC و x86 در اختــیـار داشتند. هدف پروژه Darwin آشنایی علاقه‌مندان با نسخه بعدی و همچنین بهره بردن از ویژگی‌های پروژه‌های بازمتن بود، اما بـــرای انتشار این پروژه اپل باید یا از مجوزهای موجود یکی را بر می‌گزید یا خودش مجوز جدیدی می‌نوشت.


مجوز آزاد اپل

اپل راه دوم را انتخاب کرد و مجوز APSL را منتشر کرد.[۶] (APSL(Apple Public Source License اولین بـار در سال ۱۹۹۹ بــرای انتشار کـــدهای Darwin کـــه پـایه و بنیان Mac OS X است منتشر شد. اولین نسخه این مجوز با موافقت (Open Source Initiative(OSI مواجه شد اما در همان زمان ریچارد استالمن –بنیانگزار بنیاد نرم افزار آزاد (FSF) - به بررسی این مجوز پرداخت و اعــلام کــرد ایــن مـــجوز یک مجوز نرم افزاری «آزاد» نیست. مدتی بعد نسخه‌های دیگری از این مجوز با تغییراتی منتشر شدند، ولی سرانجام در ۳۰ جولای ۲۰۰۳ نسخه ۲ مجوز APSL منتشر شد که در معرفی آن از نظرات ریچارد استالمن تشکر شده بــود و مــوفق شده بود گواهی مبنی بر «مجوز نرم افزاری آزاد» بودن ازFSF دریافت کند.[۷] این مجوز حاصــل بــررســی و تحقیق اپل بر روی مجوزهای GPL,BSD,NPL,MPL,SCSL و مجوز Apache است که توانسته علاوه بر اصول OSI بر اصول FSF نیز پایبند باشد. گــرچــه بنــیاد نرم افزار آزاد هـنوز این مجوز را برای آغاز پروژه‌های جدید کــاملا مناسب نمی‌دانــد ولــی کــار بــر روی پــروژه‌های فعلی را مناسـب تشخیص داده است. به هر صورت APSL برای استفاده داخلی توسط اپل نگارش یافته و اگــر دقیقا مطــابق نظـرات بنیاد نرم افزار آزاد بود دیگر تفاوتی بین APSL و GPL وجود نداشت!


Darwin - معروفترین پروژه آزاد اپل

ایـن پروژه که از سال ۱۹۹۹ آغاز شد پایه و اساس نسخه بعدی سیستم عامل مکینتاش قرار گرفت. Darwin مجموعه‌ای از بسته‌های بازمتن و آزاد است کــه توسط اپــل یــا جامعه بازمتن منتشر شده‌اند. از XNU (که از FreeBSD و میکروکرنل Mach بهره می‌برد) که هسته این مجموعه است گــرفــته تـا راه اندازهای اپل، کامپایلر GCC و بسته‌های کوچک و بزرگ دیگر. اپل از Darwin به عنوان درون مایه Mac OS X نام برده است که این درون مایه از رابط گرافیکی و برخی از ویژگیهای غیر آزاد Mac OS X محروم است. اکثر بسته‌های Darwin تحت مجــوز APSL2 و بقیه تـحـت مجوزهایی مانند GPL و BSD منتشر شده‌اند. پس از ارائه هر بروزرسانی Mac OS X نسخه جدید Darwin هم مطابق با آن منتشـــر می‌شـــود. بـــه عنوان مثال Mac OS X 10.3.8 مطابـق با Darwin 7.8 و Mac OS X 10.4 مطابق با Darwin8 می‌باشد. نکته جالب توجــه درمورد Darwin ارائه همزمان آن بر روی PowerPC و x86 می‌باشد کــه این ویژگی هم به توسعه آن کمک کرده و هم راه مهاجرت اپل به x86 در آینده را هموارتر می‌کند.

در آوریل ۲۰۰۲ اپل با همکـــاری (ISC (Internet Systems Consortium ، بــه منظور سرپرستــی جامعه توسعه دهندگان OpenDarwin.Org ،Darwin را تاسیس کــرد. OpenDarwin.Org خـــود زیـــر مجموعه‌هایی ماننـــد توزیع OpenDarwin و DarwinPorts دارد. تـــوزیــع OpenDarwin هرچنـــد وقت یکبـار بر طبق نسخه‌ای از Darwin منتشر شده و DarwinPorts هدفش انتقال نرم افزارهای مهم بازمتن به Darwin و Mac OS X می‌باشد.

مهمترین مانعی که Darwin را از یک سیستم عـــامل قابل استفاده روزانــه جـــدا می‌کنــد نداشتن رابط کاربر و بسیاری بسته‌های کاربردی مهم مورد نیاز روزانه می‌باشد.امـــا هـدف Darwin تنها پایه و بنیانی برای سیستم عامل اصلی مانند Mac OS X است، پس برای استـــفـاده بهتر از آن نیاز به قرار دادن بسته‌های مهم و توزیع مجدد آن (همانطور که در مورد لینوکس صورت می‌گیرد) می‌باشد. پس بـا استفاده از Darwin هم می‌توان سیستم عاملی کاربردی و کاملا آزاد داشت. با همین هدف پـــروژه GNU-Darwin در نوامبـــر ۲۰۰۰ آغاز شد.[۸] ایـن پروژه از x11 تا Gnome، از Mozilla Firefox تا هر بسته مهم دیگری را با Darwin هماهنگ کـــرده و تـحت توزیعی با نام GNU-Darwin منتشر می‌کند که هم کاربردی تر و هم نصبش آسانتر است.

گفتنی است نشان غیر رسمــی Darwin یــک Platypus (پستــاندار آبــزی و منقاردار و صـــدفخـوار جنوب استرالیا) با نام Hexley است که ار بسیاری جهات با نشان FreeBSD شباهت دارد.[۹]


Darwin Streaming Server - متفاوتترین پروژه آزاد اپل

پـــس از معـــرفــی Darwin نوبت به معرفی یکـــی دیـگر از پروژه‌های مهم بازمتن اپل به نام Darwin Streaming Server می‌رسد.[۱۰]

این پروژه امکان Stream کردن صوت و تصویر از طــــریق پروتکلـــهای استاندارد RTP و RSTP را بـرای شما فراهم می‌کند. کـــدهـــای پایه (Darwin Streaming Server(DSS با (QuickTime Streaming Server(QTSS یکی است و در حقیقت این پروژه برای توسعه دهندگانی است کـــه قصد دارند با استـــفاده از ایـــن تکنـــولوژی با سفارشی سازی بیشتر و بر روی پلتفورمهایی غیـــر از Mac OS X Server مانند ویندوز، سولاریس و لینوکس رسانه‌های QuickTime و MPEG-4 را stream کنند.

DSS یک پروژه بازمتــن است و پشتیبانی از آن تنها توسط جامعه ی بازمتن و لیستهای پستی که اپل فراهم آورده است صورت می‌گیرید ، در صــــورتی که به نسخه تـــجـــــاری و دارای پشتیبانی اپل نیاز دارید QuickTime Streaming Server مناسب شما است.

QTSS که بخشی از Mac OS X Server اســت نسبـت به DSS از ابزارهای تنظیمات و مدیریت حرفه‌ای برخوردار است که بازمتن نیستند. اما DSS همانند QTSS کامل و قابل استفاده است و از قابلیتـهای جالب Skip protection و Instant-on و آخرین استانداردهای دیجیتالی مانند MPEG-4 و 3GPP پشتیبانی می‌کند.


Bonjour - محبوبترین پروژه آزاد اپل

Bonjour نام جدید Rendezvous است کـه همزمان با ارائه Mac OS X 10.2 معرفی شد.[۱۱] این تکنولوژی شبکه سازی انقلابی امکان ساخت شبکه‌ای فوری از کـــامپیوتــرها و دستگاه‌ها بـــدون نیاز به هیچگونه پیکربندی را برای شما ممکن می‌سازد.

این تکنولوژی امکان ثبت سرویسها و قابلیتهای هر دستگاهی در شبــکه را می‌دهد تا این سرویسها توسط دستگاه‌های دیگر موجود در شبکه به صورت پویا قابل دستیابی باشند. به عبارت دیــگر Bonjour امکان دستیابی دستگاه‌ها به یکدیگر را بدون نیاز به وارد کردن آدرس IP و پیکربــنـدی سرویس دهنده‌های DNS ، از طریق پروتکل استاندارد IP فراهم می‌کند.

برای میسر شدن عدم نیاز به پیکبربندی، Bonjour نیازمند انجام 3 مورد ضروری توسط دستگاه‌هاست.

این دستگاه‌ها باید بتوانند:

- آدرسهای IP را بدون یک سرویس دهنده DHCP معین کنند.

- آدرسهای IP و نامها را بدون یک سرویس دهنده DNS تفسیر کنند.

- سرویسها را بدون استفاده از یک سرویس دهنده directory مستقر سازند.


این تکنولوژی که همچنین بسیار مورد توجه سازندگان مشهـــور چاپــــگر و دوربیــن قـرار گرفت دردسرهای شبکه سازی استاندارد را برای کاربران مکینتاش از بــیــن بـــرد و به امتیازی مهم برای برتری مکینتاش نسبت به سایر پلتفورمها تبدیل شد. اما اینبار اپـــل بر خلاف انتظار عمـــوم ایــــن تکنولوژی را انحصاری نکرد، بلکه آن را با مجوز آزاد APSL برای لینوکس، ویندوز، VxWorks و... منتشر کرد. گفتنـــی اســــت در نســخه‌های جدید KDE و Gnome نسخه‌ای از این تکنولوژی مورد استفاده قرار گرفته است.


Webkit - چارچوب آزاد وب

مایکروسافت و اپــل قراردادی بـــرای همکاری بستند که یکی از بندهای آن قرار دادن Internet Explorer همراه سیستم عامل مکینتاش بود. مدتی گذشت و مایکروسافت به قـولهایش وفا نکرد، مدت قرارداد به پایان رسید و حال اپل مصمم به جبران کم‌کاری‌های مایکروسافت بود. مـــرورگر Safari و مجموعه iWork را می‌توان در همین راستا حساب کرد. اپل برای ساختن مرورگری سریع و در عین حال سبک نیازمند مــوتــورهای HTML و JavaScript بود ولی نه زمان کافی برای اینکار داشت و نه عـــاقلانه بـود که در حقیقت چرخ را دوباره اختراع کند. تصمیم نهایی گرفته شد و موتورهای KHTML و KJS از پروژه KDE پایه کار مرورگر Safari قرار گرفتند. اپـل موتور HTML راWebCore و موتور Javascript را JavaScriptCore نامید.[۱۲]

اپل بر طبق شرایط مجوز قبلی هردو را تحت پـروانه LGPL منتشر کرد و با توضیحات مختصری در بخش بازمتن سایت خود قـــرار داد. این انتخاب اپل بـــرای تیــم KDE هم مفید بود چـــون به نتیجه تلاششان اعتــبار بسیاری داده بود. اپل و KDE همکاری نزدیکی داشتند، KDE 3.2 بــــا patch های Safari 1.x منتشر شد و مسئــولان پروژه از رابطه خوبشان با اپل در مصاحبه‌ها با خشنودی صحبت می‌کردند. کـم کـم اپـل باـ تغییرات بسیــاری در WebCore آن را با استانداردهای بیشتری سازگار کرد و در حقیقت روش توسعه آن را دگـرگون ساخت. اما تیم KDE به خاطر شیوه‌های متفاوت توسعه در استفاده از patch ها دچار مشکـل می‌شد و این در حالی بود که افکار عمومی انتظار سازگاری صفحات و استانداردهای Safari را در Konqueror داشتند. وضع کم کم از این هم خـرابتر شد. اپل بر طبق شیوه معمول توسعه نرم افزارهایش تغییرات را با Radar و سپس شماره مربوطه مشخص می‌کرد و کسی نمی دانست Radar فلان شماره چه ایرادی را برطرف می‌کند. وضعیت به همین شکل ادامه داشت که WebStandards یک آزمـــون جـــدیــد بـــرای بررســـی ســـازگــاری مرورگر‌ها با استانداردها آماده کرد.[۱۳] David Hyatt از توســـعه دهندگان Safari کـــار بــر روی این آزمون را آغاز و نتیجه تلاشهایش برای پاس کردن آن توسـط Safari را در وبلاگش[۱۴] منتشر می‌کرد. سرانجام Safari اولین مرورگری شد که این آزمون را پاس کرد و Hyatt نتیجه تلاشـــش را بــه صورت متن patch منتشر کرد. پس از اعلام این خبر تمام نگاهها به سوی پروژه KDE چرخید که با نسخه جدید KHTML مرورگر Konqueror را هــــم از این آزمون سربلند بیرون آورد. ظاهرا کاربران علاقه مند توسعه دهنده‌های KDE را با ایمیلهایشان کـه خواستار رخ دادن هرچه سریعتر این اتفاق بودند حسابی کلافه کردند! ناگهان تعدادی از توسعه دهنده‌های KDE در وبلاگشان از مشکلات فعلی گله کردند و برخی حتی تا حد این ادعا که اپل از ما سوءاستفاده کرده است پیش رفتند. Hyatt که از وضعیت مـــوجود ناراحت بود در وبلاگ خود با توضیح بیشتر درمورد patch هایش دلیل عدم سازگـــاری آنـــها بـا KHTML را توضیح داد و در ادامه گفت «به نظر شما اپل چه کار بهتری برای وضع موجود می‌تواند انجام دهد؟ من تمام نظرات را می‌خوانم.»

در چنین وضعیتی انتظار هرچیزی می‌رفت غیر از مطلب CNet کــه در آن با بزرگنمایی اظهارات شخصی توسعه دهندگان KDE و تعبیر جملات Hyatt به اینکه «شما از WebCore استفاده کنید» جنجـــالی حسابـی درست کرد.[۱۵] درگیری بالا گرفت و نوچــــه‌های KDE و اپل در بخش نظــــرات وبلاگها بــــه جــان هم افتاده بودند! اوضاع از این هم خرابتر شد، Ben Goodger در وبلاگ خود[۱۶] موتور WebCore را از KHTML بهتر دانست و بــه تیم KDE توصیه کرد کار خود را بر مبنای آن قرار دهند. حال نوبت ZDNet Australia بود کـه بنویســــد:« Lead engineer مرورگر Firefox جانب اپل را گرفت!».[۱۷] از این پس نوچه‌های KDE وبلاگ Goodger را هم مورد لطف قرار می‌دادند.

این وضعیت مدتـــی ادامه داشت تــــا اینکه کنفرانس WWDC آغاز شد. در حاشیه خبرهای جنجالی، خبر متفاوتی قابل مشاهده بود. Hyatt در وبلاگ خود نوشت:«به WebKit سلام کنید!». اپـــل Webkit کــــه چـارچوب(Framework) مرورگر Safari ، برنـــامه Mail و Dashboard و در حقیقت چارچوب وب برای برنامه‌های Mac OS X است و با Objective-C نوشته شده است را آزاد کرد و این درحالی بود که کسی نـــه انتظار آن را داشت نه مجوزی مجبورش می‌کرد. در کنار پروژه آزاد WebKit سایت و خدمات جدیدی هم فراهــم شد که WebCore و JavaScriptCore را هم پوشش می‌دهد. در این سایت جدید بر جامعه بازمتن تاکیـــد بسیــاری شده است و برای تشویق افراد CVS, Mailing List,IRC,wiki و هرچیزی که برای توسعه بهتر و فراگیرتر WebKit لازم باشد در دسترس قرار گذاشته شده است.[۱۸]

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

دیگر جای گله و شکایتی بــرای توسعه دهندگان KDE باقــــی نــمانده اســــت. این اقدام اپل علاوه بر تسریع توسعه به پروژه‌هایی مانند GTK+WebCore که نسخه انتقال یافته WebCore با +GTK است[۱۹] نیز کمک بسیاری می‌کند.


سایر پروژه‌های آزاد اپل

اینها قطعا تنها پروژه‌های آزاد اپل نیستند. از برنامه‌های دارای رابـــط کـــاربـــر ماننـــد نسـخه انتقال یافته XFree86 با نام X11.app و بازی شطرنج 3بعدی Chess.app گرفتــه تــــا OpenPlay و (BLAST(Basic Local Alignment Search Tool و بسیاری پروژه‌های آزاد دیگر در سایت اپل قابل مشاهده هستند.[۲۰]

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


PDF Version

علی رستگار rastegar@gmail.com

[۱] http://developer.apple.com/documentation/Darwin/index.html

[۲] http://mklinux.org/

[۳] http://en.wikipedia.org/wiki/NeXT

[۴] http://en.wikipedia.org/wiki/Rhapsody_(OS)

[۵] http://en.wikipedia.org/wiki/Mac_OS_X

[۶] http://www.opensource.apple.com/apsl/

[۷] http://www.gnu.org/philosophy/apsl.html

[۸] http://www.gnu-darwin.org/

[۹] http://www.hexley.com/

[۱۰] http://developer.apple.com/darwin/projects/streaming/

[۱۱] http://developer.apple.com/networking/bonjour/

[۱۲] http://developer.apple.com/darwin/projects/webcore/index.html

[۱۳] http://webstandards.org/act/acid2/

[۱۴] http://weblogs.mozillazine.org/hyatt/

[۱۵] http://news.com.com/Open-source+divorce+for+Apples+Safari/2100-1032_3-5703819.html?tag=nefd.lede

[۱۶] http://weblogs.mozillazine.org/ben/

[۱۷] http://www.zdnet.com.au/news/software/0,2000061733,39191656,00.htm

[۱۸] http://webkit.opendarwin.org/index.html

[۱۹] http://gtk-webcore.sourceforge.net/

[۲۰] http://developer.apple.com/darwin/projects/

تمامی مطالب و مقالات این سایت تحت مجوز GNU FDL قرار دارند. بنابراین کپی و ایجاد تغییر در آنها مطابق شرایط این مجوز آزاد می‌باشد.