از زمانی که OS X برای اولین بار منتشر شد، اپل به طور منظم سورس کد هسته را برای سیستم عامل مک منتشر کرده و در اختیار کاربران قرار داده است. به لحاظ تئوری، شما میتوانید با استفاده از این سورس کدها چیزهای بسیاری فرا بگیرید یا حتی پروژههای خود را ایجاد نمایید. در رابطه با iOS چطور؟ روند به این سادگی نیست. حتی اگر شما سورس کد مربوطه را داشته باشید، چندان قابل استفاده نخواهد بود، مگر آنکه آن سورس کد برای تراشههای مبتنی بر ARM که در اغلب گوشیها و تبلتها دیده میشود، بهینه شده باشد. با این حال، اپل در این زمینه حرکتهای رو به جلویی انجام داده است. شرکت اپل، سورس کد مرتبط با تراشههای ARM را برای هستههای XNU که در iOS و macOS یافت میشود، منتشر کرده است. اگر شما به iOS علاقهمند هستید، این موضوع برای شما بسیار حائز اهمیت خواهد بود؛ زیرا به لحاظ تئوری اکنون شما سورس کدی دارید که روی آیفون یا آیپد اجرا میشود. با این حال نمیتوان گفت که در حال حاضر این حرکت کاملاً موفقیتآمیز بوده است و به نظر میرسد ابتدای راه است.
برای شروع، این کدهای منتشر شده، تنها سورس کدهای هسته هستند، کدهای سطح پایینی که وظایف بسیار حساس را مدیریت میکنند. این کدها، به هیچ عنوان رابطها، فریم ورکهای توسعهدهنده و اپلیکیشنها را پوشش نمیدهد. در واقع تنها شامل بخشهایی میشود که دقیقاً iOS یا macOS را تعریف میکند. کد عناصر ذکر شده (رابطها و غیره) همچنان در دسترس نیست و به همین علت شما میبایست اغلب بخشهای پلتفرم را خودتان از ابتدا طراحی نمایید. شما به زودی iOS را روی گلکسی اس 8 و گوشیهایی نظیر آن نخواهید دید. اپل همچنین یک مجوز سورس کد نسبتاً محدود ارائه میدهد که مانند مجوز GPL که برای لینکوس استفاده میشود، چندان انعطافپذیر نیست.
علاوه بر این، با وجود اینکه انتشار کدهای مبتنی بر ARM برای مک در حال افزایش است، این بدان معنی نیست که شما مکبوکی با تراشه A11 Bionic داخل آن مشاهده خواهید کرد. اپل سابقه طولانی در نوشتن سورس کد برای معماریهای دیگر دارد، به همین علت ممکن است هیچگاه این روند را تغییر ندهد. (به گونهای که انتقال از PowerPC به اینتل به سرعت انجام شد، زیرا اپل کد مربوطه را پیش از آن نوشته بود). مطمئناً شما در حال حاضر نمیخواهید macOS را روی کرومبوک مبتنی بر ARM خود نصب کنید. و علاوه بر این شایعاتی وجود دارد مبنی بر اینکه اپل در حال توسعه تراشههای مبتنی بر ARM برای مک است. حتی اگر تمایلی به استفاده از تراشههای اینتل برای پردازندهها ندارید، ممکن است نیاز به کدهای ARM داشته باشید.
تمامی اینها یک حرکت خوشآیند و رو به پیشرفت است و به توسعهدهندگان برنامهها و سیستمعامل کمک میکند تا بهتر درک کنند که اپل چگونه با وظایف پایهای سیستمی به خصوص روی iOS برخورد میکند. و البته هر کسی که به اندازه کافی بلند پرواز باشد که یک سیستمعامل کامل و جامع بنویسد، میتواند از XNU به عنوان نقطه شروع استفاده کند. انتشار این سورس کدها، فقط منجر به تغییر وضعیت جاری اپل نمیشود.
