لوگوی کای‌او‌اس

اول از همه خدمت دوستانی که تا به الآن از کلمه «هک» در عنوان مطلب اشتباه برداشت کردند عرض کنم که معنی این کلمه در اینجا با معنی رایجش در عصر ما فرق میکنه.اینجا منظور از هک کردن پیدا کردن نقاط پنهان و فضولی و کنجکاوی و بهبود نرم‌افزار هست و نه نفوذ بهش و بعدش هم نابود کردنش!

داستان از کجا شروع شد؟

فاروق کلاس ۱۲ام دبیرستان هست و البته پشت کنکور و گوشیش یک عدد نوکیا ۱۱۲(از اون دکمه‌ای های جاوا) بود و باید یک تلفن همراه جدید تهیه می‌کرد. از اونجا که زیاد اهل شبکه‌های اجتماعی نبودم و نیستم و حتی مخالفشون هم هستم کمابیش و احساس نیاز به گوشی‌های «هوشمند» لمسی اندرویدی نمیکردم زیاد، اینطور نقشه‌ام رو ریختم: یک عدد کتاب‌خوان اندرویدی که باهاش بتونم مطالعه کنم و البته یکسری کار های دیگه و یک عدد گوشی که نیاز های پیامک و تماس و البته تامین اینترنت برای کتاب‌خوان رو برطرف کنه.

کتاب‌خوانی که نهایتا گرفتم Onyx Boox Poke Pro بود با مشخصات زیر:

  • ۱۶ گیگابایت حافظه داخلی
  • ۲ گیگابایت رم داره
  • پردازنده اون ۴ هسته‌ای با فرکانس ۱.۶ گیگاهرتز
  • سیستم‌عاملش اندروید ۶
  • وای‌فای
  • بلوتوث
  • چراغ مطالعه گرم و سرد قابل تنظیم که البته میتونه خاموش هم باشه کلا
  • صفحه لمسی خازنی ۶ اینچ

و علاوه بر این سخت‌افزار بسیار خوب(مخصوصا برای کتاب‌خوان) نرم‌افزار خوبی هم داره:

جدای از اینکه اندرویدش «خام» نیست و برای صفحه نمایش جوهر الکترونیکی،طراحی و بهینه‌سازی شده،نرم‌افزارش هم برای مطالعه بسیار بسیار خوب هست.ساده‌ترین امکانی که داره حذف خودکار حاشیه‌ها هست!

بگذریم چون دارم از موضوع اصلی خارج میشم.اون زمان بعد از یک مقدار جستجو،گوشی موزی(Nokia 8110 4G) رو پیدا کردم که با سیستم‌عامل کای‌او‌اس اون امکاناتی که من نیاز داشتم رو داشت.اگر بخوام دقیق‌تر از امکاناتش صحبت کنم،میتونم اینطور لیست کنم:

  • ۵۱۲ مگابایت رم
  • ۴ گیگابایت حافظه داخلی که البته میتونید با حافظه جانبی(microSD) افزایشش هم بدید
  • پردازنده ۲ هسته‌ای اسنپ‌دراگون
  • سیستم‌عامل کای‌او‌اس(KaiOS)
  • یک عدد صفحه ۲.۴ اینچی خیلی معمولی
  • بدنه‌انحنادار
  • اینترنت 4G
  • اشتراک اینترنت از طریق وای‌فای(هات‌اسپات) و کابل USB
  • دوربین ۲ مگاپیکسلی خیلی معمولی به همراه فلش
  • یک عدد کی‌پد بسیار مزخرف. شنیدم کی‌پد نوکیا فلیپ ۲۷۲۰ این مشکل رو نداره.
  • A-GPS
  • یک کشو که باز و بسته میشه و باهاش میتونید یکسری کار‌ها رو انجام بدید مثلا جواب دادن یا پایان تماس

از اونجا که گوشی موزی بود پس باید رنگش هم زرد می‌بود!در نتیجه گشتم تا رنگ زردش رو پیدا کردم!و البته دو سیم‌کارته هم میخواستم که کار رو برام یک مقدار سختتر می‌کرد اما بلاخره گیرش اوردم!

نرم‌افزارهای در دسترس برای سیستم‌عامل کای‌او‌اس

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

همون اول که گوشی به دستم رسید،سیستم‌عاملش چند اپ توئیتر و یوتیوب و دستیار گوگل روش داشت و همچنین قابلیت تبدیل متن به گفتار توی خود سیستم‌عامل بدون نیاز به اینترنت وجود داشت.بعد‌ها(البته مدت زمان زیادی نگذشت) واتس‌اپ هم براش بصورت رسمی اومد(قبل از اون با هک و اینا می‌شد بصورت غیر رسمی ریخت و استفاده کرد) و توی کای‌استور قرار گرفت. اوایل واتس‌اپش ابتدایی بود و البته هنوز هم یکسری امکانات واتس‌اپ اندروید مثل مکالمه اینترنتی(VoIP) رو نداره اما به تدریج بهبودش دادند.

تلگرام هم بصورت غیررسمی وجود داره برای گوشی.

بروز‌رسانی نرم‌افزاری برای سیستم‌عامل

از زمانی که این گوشی به دستم رسید تا به الآن گمان میکنم ۳ یا ۴ بار براش آپدیت اومد و من هم نصب کردم و تا الآن KaiOS 2.5.1 روی گوشی بنده هست. البته گوشی‌های دیگه‌ای هم هستند که بعد از ۸۱۱۰ اومدند و نسخه بالاتری از این سیستم‌عامل رو روشون دارند. دو تا از اونهایی که در ایران در دسترس هستند،نوکیا ۲۷۲۰ فلیپ(گوشی تاشو) و نوکیا ۸۰۰ هستند.نوکیا فلیپ تقریبا مثل ۸۱۱۰ هست. ولی چیزهایی داره که ۸۱۱۰ نداره مثل یک کی‌پد خوب(یا دستکم بهتر از ۸۱۱۰)،کای‌او‌اس ۲.۵.۲ که مردم گویند کمی سریع‌تر هست و امکانات جزئی بیشتری داره و یک صفحه نمایش ثانویه مونوکروم(سیاه و سفید) علاوه بر صفحه نمایش اصلی. دیگه بقیه مشخصات مثل ۸۱۱۰ هست از جمله دوربین و پردازنده و رم و حافظه داخلی و قابلیت‌های اتصال.

سیستم‌عامل KaiOS و اصل و نسبش و معماریش

اصولا هر سیستم‌عاملی رو لایه لایه میسازن و کای‌او‌اس هم یک استثنا نیست.کای‌او‌اس تا یک جاهایی از زیرساختی که برای اندروید استفاده میشه،استفاده میکنه و نسخه‌های فعلی سیستم‌عامل که در زمان نوشتن این مطلب در دسترس هست پایه اندروید ۶ ساخته شدند.

اما از چه چیز اندروید استفاده میکنند؟یکی از کرنل یا هسته‌ای که برای گوشی‌های اندرویدی استفاده میشه که نسخه‌ای از لینوکس هست و معروف به kernel_msm و کد منبعش هم در دسترس هست چون به هر حال به خاطر پروانه استفاده شده برای لینوکس که GPL باشه،قانونا باید کد منبع کرنل به کاربران داده بشه حالا یا از طریق یک صفحه وب یا از طرق دیگه زمانی که کاربران درخواست بکنن.

دیگه اینکه از کتابخانه‌های استفاده شده در اندروید،در کای‌او‌اس هم استفاده میشه.مثل کتابخانه‌هایی که مستقیما با کرنل برای استفاده از سخت‌افزار در ارتباط هستند یا کتابخانه‌هایی هستند برای الگوریتم‌های رمزنگاری و تبدیل مدیا(عکس و صدا و فیلم) و امثالهم.یکسری کتابخانه هم هست مستقیما از طرف سازنده سخت‌افزار(در مورد گوشی من Qualcomm) که معمولا انحصاری هستند و برای کار با مثلا دوربین به کار میرن.

و اما اصل و نسب KaiOS!چند سال پیش رو یادتون هست که مد شده بود همه سیستم‌عامل خودشون رو بدن تا روی گوشی‌های هوشمند اندرویدی اجرا بشن؟همون زمان اوبونتو تاچ اومد از کانونیکال و فکر کنم تایزن از سامسونگ و البته چند سیستم‌عامل دیگه که الآن در ذهنم نیست. همون زمان موزیلا هم سیستم‌عامل خودش رو بیرون داد: فایرفاکس‌او‌اس که تحت وب بود و برنامه‌هاش «وب اپلیکیشن» بودند و با سه عنصر اصلی وب یعنی CSS و JS و HTML ساخته می‌شدند.

اما همه این سیستم‌عامل‌ها از جمله فایرفاکس‌او‌اس کنار رفتند و اندروید باقی موند و بخش اعظم بازار رو به دست گرفت و بعد از اندروید هم iOS شرکت اپل ملعون! به شخصه اگر قرار باشه بین این دوتا یکی رو انتخاب کنم، مطمئنا اندروید رو انتخاب می‌کنم چون دستم داخل کارهایی که میتونم با دستگاهم بکنم خیلی بازتره.حداقل میتونم اپ‌های گوگل ملعون رو روی گوشیم نداشته باشم... هیچ‌کدوم از اپ‌ها رو جز گوگل‌پلی لازم ندارم.دوباره دارم از موضوع اصلی خارج میشم...

به هر حال سیستم‌عامل فایرفاکس به خاطره‌ها پیوست و یک B2G که مخفف Boot2Gecko هست باقی موند که توسط جامعه محدودش اداره و توسعه داده می‌شد.زمان گذشت تا در سال ۲۰۱۷ یا ۲۰۱۸(فکر کنم یکی از همین سال‌ها بود) یک شرکت به اسم KaiOSTech سیستم‌عامل فایرفاکس رو برداشت و برای گوشی های دکمه‌ای و نه لمسی عرضه کرد و در سال ۲۰۱۸ هم گوشی موزی‌ای که من دارم بیرون اومد.

شرکت‌های مختلف هم روش سرمایه‌گزاری کردند از جمله گوگل و چند شرکت دیگه.

کای‌او‌اس از همون اول بازار گوشی‌های دکمه‌ای رو هدف قرار گرفته بود و نه لمسی.همونطور که پیشتر گفتم کای‌او‌اس اصلا از صفحه‌های لمسی پشتیبانی نمیکنه و بنظر هم نمیاد که در آینده اینکار رو بکنن.

معایب و مزایای سیستم‌عامل KaiOS

عیب زیاد داره و خوبی هم زیاد داره.از معایبش اینکه نسخه‌های فعلی یک مقدار کند هستند(البته برای من این کندی مشکلی ایجاد نکرده تا به الآن) و برنامه‌های کاربردی زیادی هم برای سیستم‌عامل وجود نداره در مقایسه با اندروید.البته اندروید هم ۱۰ سال پیش کمابیش وضعیت فعلی کای‌او‌اس رو داشت.

دیگه قابلیت دیگه‌ای که اتفاقا ایرانی‌ها خیلی استفاده می‌کنند و به دست اوردنش روی این سیستم‌عامل آسون نیست بحث وی‌پی‌N هست که فعلا به سادگی اندروید نیست.البته عده‌ای دارند روش کار میکنند و غیر‌ممکن هم نیست تا جایی که میدونم.

حالا بریم سراغ خوبی‌هاش: دنگ و فنگ اندروید رو نداره و سیستم‌عامل سبکی هست و در نتیجه دستگاه‌های زیاد قوی‌ای از لحاظ سخت‌افزاری لازم نداره و ۲۵۶ مگابایت رم هم براش کافی هست.نتیجه این نتیجه آخری که از سبکی سیستم‌عامل نتیجه شد(تا حالا اینقدر نتیجه توی فقط یک جمله دیده بودید؟!) این هست که گوشی‌های کای‌او‌اس مثل گوشی خودم خیلی ارزان‌تر از گوشی‌های اندرویدی هستند.شاید بتونید یک گوشی اندرویدی هم قیمت گوشی من پیدا کنید اما اون گوشی اندرویدی با اون سخت‌افزار ضعیف و اپ های سنگینی که قراره روش بریزید،چقدر قابل استفاده هست؟چند بار هنگ یا کرش میکنه؟

دیگه اینکه گوشی‌های کای‌او‌اس چون هم خود سیستم‌عامل سبک و هم سخت‌افزارش کم مصرف هست عمر باتری بالایی دارند.

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

توسعه نرم‌افزار برای این سیستم‌عامل

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

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

خودم چندتا اپ نسبتا ساده براش نوشتم که داخل استور غیر رسمی «هکر‌های موز» هر کدومشون حدود ۲۰ بار دانلود شدند.

آینده این سیستم‌عامل

الله أعلم اما اگر همینطور پیش بره و همینطور که رشد کرده استفاده ازش باز هم رشد کنه احتمالا بخش اعظم بازار گوشی‌های دکمه‌ای رو بگیره و علاوه بر اون قسمت کوچیکی از بازار فعلی اندروید رو هم اشغال کنه.برای این آخری دلیل دارم برای خودم: همه‌ی مردم به همه قابلیت های گوشی های اندرویدی نیاز ندارند.کای‌او‌اس این پتانسیل رو داره که اکثر کار های یک گوشی اندرویدی رو انجام بده اما با چند محدودیت: دوربین ضعیف و صفحه کوچیک و تایپ سختتر نسبت به گوشی های اندرویدی. به هر حال با یا یک کیبورد QWERTY خیلی راحت‌تر میشه تایپ کرد تا با یک کیبورد ABC.البته بعضی‌ها دنبال این هستند که به نوکیا فشار بیارن تا گوشی با کیبورد QWERTY فیزیکی با سیستم‌عامل کای‌او‌اس بده بیرون که من هم امیدوارم اینکار رو بکنه!

موضوع دیگه‌ای که هست،اینه که کای‌او‌اس‌تک اوایل تنها بود اما در اواسط سال ۲۰۲۰ خبردار شدیم که موزیلا به پروژه برگشته تا کای‌او‌اس۳ رو بر پایه آخرین نسخه فایرفاکس بسازن که امکانات بسیار بیشتری نسبت به فایرفاکس ۴۸ که کای‌او‌اس فعلی بر پایه اون بنا شده داره و در عین حال به مقدار قابل توجهی سریع‌تر هم هست.

نرم‌افزار آزاد و متن‌باز

کای‌او‌اس همونطور که پیش‌تر گفتم بر پایه اندروید هست و ما توسعه دهنده‌ها و پژوهشگر‌ها با ADB به گوشی وصل می‌شیم و جاهای مختفلش رو میگردیم.می‌دونید که اندروید قسمتیش نرم‌افزار آزاد هست مثل یکسری کتاب‌خانه‌هایی که استفاده شده و از همه مهم‌تر لینوکس و همه اینها به لطف GPL و کپی‌لفت هست.

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

حالا کای‌او‌اس علاوه بر لینوکس و اون کتاب‌خانه‌های کپی‌لفت،یه چیز دیگه هم داره که نرم‌افزار آزاد بوده و به خاطر پروانه‌ای که براش استفاده شده مجبور شدند نرم‌افزار آزاد باقی بزارنش.همونطور که پیشتر گفتم کای‌او‌اس بر پایه فایرفاکس ۴۸ ساخته شده و از موتور فایرفاکس که اسمش گکو(Gecko) باشه استفاده میکنه.گکو هم تحت پروانه MPL منتشر شده که مثل GPL کپی‌لفت هست و البته باهاش سازگار.

جامعه هکر‌های موز یا BananaHackers،ویکی و استور غیر رسمی

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