اپل؛ شرکت بزرگی که به جنبش بازمتن پیوسـت(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
|