تا چه حدی اندروید به آزادی کاربرانش احترام میذاره؟ برای یک کاربر کامپیوتر که برای آزادی ارزش قائل هست، این مهمترین سوالی هست که درباره یک سیستم نرمافزاری داره.
در جنبش آزادی نرمافزار، ما نرمافزارهایی رو تولید میکنیم که به آزادی کاربرها احترام میگذاره، بنابراین ما و شما میتونیم از نرمافزاری که اینکار رو نمیکنه دوری کنیم. در مقابل، ایدهی «کد باز» بر روی چگونگی ساخت کد تمرکز داره؛ این یک جریان متفاوت فکری هست که ارزش اصلیش کیفیت کد هست تا آزادی. بنابراین، اهمیت این قضیه در این نیست که آیا اندروید «باز» هست یا خیر، بلکه این است که آیا اندروید به کاربرانش اجازه آزاد بودن میدهد یا نه.
اندروید یک سیستم عامل برای تلفنهای همراه هست که از لینوکس (هستهی توروالدز)، تعدادی کتابخانه، یک پلتفرم جاوا و تعدادی برنامه تشکیل شده. غیر از لینوکس، نرمافزار اندروید در نسخههای ۱ و ۲ اکثرا توسط گوگل توسعه یافته؛ گوگل اونها رو تحت گواهینامه آپاچی ۲.۰ منتشر کرد، که یک گواهینامه سست از نرمافزار آزاد بدون کپیلفت است.
نسخه لینوکسی که در اندروید اضافه شده، بخاطر استفاده از باینریهای غیرآزاد (درست مثل نسخهی لینوکس توروالدز)، که برخی از آنها واقعا در دستگاههای اندروید استفاده میشود، بطور کامل آزاد نیست. همچنین پلتفرم اندروید از فرمویرهای غیرآزاد و کتابخانههای غیرآزاد دیگر هم استفاده میکنه. غیر از اینها، کد منبع نسخههای ۱ و ۲ اندروید، با توجه به اینکه توسط گوگل منتشر شده، آزاد است – اما این کد برای اجرا بر روی دستگاهها ناکافی است. تعدادی از برنامههایی که همراه با اندروید عرضه میشوند هم غیرآزاد هستند.
اندروید با سیستم عامل گنو/لینوکس بسیار متفاوت است، چرا که مقدار کمی از گنو در آن هست. درواقع، تنها جزء مشترک بین اندروید و گنو/لینوکس همان لینوکس، ینی هسته است. کسانی که به غلط فکر میکنند «لینوکس»، به کل ترکیب گنو/لینوکس اشاره داره و به این حقایق گره خوردهاند، جملههای متناقضی نظیر «اندروید شامل لینوکس است، اما لینوکس نیست» میسازند. اگر بخوایم از سردرگمی پرهیز کنیم، موقعیت سادهست: اندروید شامل لینوکس هست، اما گنو نه؛ بنابراین اندروید و گنو/لینوکس بسیار متفاوت هستند.
(درون اندروید، لینوکس، هسته، یک برنامه مستقل باقی میماند، با کد منبعش و گواهینامه نسخه ۲ GNU GPL. ترکیب لینوکس با کدهایی تحت گواهینامه آپاچی ۲.۰، از آنجایی که نسخه ۲ GPL با نسخه ۲.۰ آپاچی در تضاد هست، یک تخلف از کپیرایت خواهد بود. شایعاتی که گوگل به طریقی کدهای لینوکس رو به گواهینامه آپاچی برگردانده غلط هستند؛ گوگل هیچ قدرتی برای تغییر گواهینامه لینوکس ندارد، و تلاشی هم نکرده است. اگر نویسندگان لینوکس اجازه استفاده از آن را با GPL نسخه ۳ داده باشند، آن وقت کدها میتونست با گواهینامه آپاچی ترکیب بشه، و این ترکیب میتونست تحت GPL نسخه ۳ منتشر بشه. اما لینوکس به این شکل منتشر نشده)
گوگل با نیازمندیهایی از گواهینامه عمومی گنو کامپایل شده، اما باقی کدهای اندروید با گواهینامه آپاچی الزام به انتشار کدها را ندارد. گوگل گفته است که هیچوقت قصد انتشار کدهای اندروید ۳.۰ را ندارد (به غیر از لینوکس)، هر چند که کدهای اجرایی برای عموم منتشر شده. اندروید ۳.۱ هم همینطور هست. بنابراین، اندروید ۳، جدا از لینوکس، نرمافزار غیرآزاد هست، ساده و شفاف.
گوگل گفته منتشر نشدن کدهای ۳.۰ بدلیل باگ داشتن اونها بوده، و مردم باید تا انتشار نسخه بعدی منتظر بمانند. شاید این پشنهاد خوبی برای کسانی که تنها میخواهند اندروید را اجرا کنند باشه، اما کاربرها باید کسانی باشند که این تصمیم رو میگیرن. به هر حال، توسعهدهندگان و سر هم کنندگانی که میخواهند تعدادی از تغییرات رو در نسخه خودشون اضافه کنند هم میتونستند از کدها استفاده کنند.
عدم انتشار دو نسخه کد منبع نگرانی اینکه شاید گوگل بخواهد اندروید رو برای همیشه اختصاصی کنه رو افزایش میده؛ اینکه انتشار تعدادی نسخههای اندروید به عنوان نرمافزار آزاد حقهای موقت برای دستیبانی به کمکهای community و گسترش یک محصول اختصاصی بوده. بزارید امیدوار باشیم که اینطور نیست.
در هر صورت، بیشتر کد منبعهای تعدادی از نسخههای اندروید به صورت نرمافزار آزاد منتشر شده. آیا این به معنی این است که محصولاتی که از این نسخههای اندروید استفاده میکنند به آزادی کاربرانشان احترام میگذارند؟ نه، به دلایل متعددی. اول از همه، بسیاری از آنها از برنامههای غیرآزاد گوگل برای ارتباط برقرار کردن با سرویسهایی نظیر YouTube و Google Maps استفاده میکنند. اینها بطور رسمی جزئی از اندروید نیستند، اما این باعث بدون اشکال بودن محصول نمیشه. همچنین کتابخانههای غیرآزاد هم هستند؛ اینکه آنها جزئی از اندروید هستند یا خیر یک مسئله است. چیزی که مهم است این است که تعدادی از ویژگیها به آنها وابستهاند.
حتی پروندههای راهاندازی (executables) که بطور رسمی بخشی از اندروید هستند ممکن است مرتبط با کدهایی که گوگل منتشر میکند نباشند. تولیدکنندگان ممکن است کدها رو تغییر بدهند، و اکثرا کدهای مربوط به نسخه خودشون رو منتشر نمیکنند. در گواهینامه GNU GPL لازم است که آنها کد رو، اگر منطبق باشند، برای نسخه لینوکس خودشون توزیع کنند. بقیه کدهای تحت گواهینامهی سست آپاچی، آنها رو ملزم به انتشار کدهایی که واقعا استفاده میکنند نمیکند. Replicant یک نسخه آزاد از اندروید که تنها تعداد کمی از مدلهای گوشی رو پشتیبانی میکنه، تعداد زیادی از این کتابخانهها رو جایگزین کرده، و شما هم بدون نرمافزارهای غیرآزاد میتونید ادامه بدید. اما مشکلات دیگری هم هستند.
تعدادی از دستگاهها بگونهای طراحی شدهاند که جلوی کاربران را برای نصب و استفاده از برنامههای تغییر داده شده بگیرند. در این موقعیت، پروندههای راهانداز دیگر آزاد نیستند، حتی با اینکه از کدهایی ساخته شده باشند که برای استفاده شما موجود و آزاد باشند. هرچند که تعدادی از دستگاههای اندروید میتوانند «روت» شوند تا کاربران بتوانند نرمافزارهای مختلف رو استفاده کنند.
فریمویرها و راهاندازهای (drivers) مهم هم عموما اختصاصی هستند. اینها کاربری شبکه رادیو تلفن، وایفای، بلوتوث، موقعیتیاب جغرافیایی، گرافیک سه بُعدی، دوربین، بلندگو و در بعضی موارد میکروفون رو دست میگیرن. در بعضی مدلها، تعدادی از این راهاندازها آزاد هستند، و تعدادی هم هستند که شما بدون اونها هم میتونید ادامه بدید – اما شما بدون میکروفن یا شبکه رادیو تلفن امکان ادامه دادن ندارید.
فریمویر شبکه گوشی بصورت «پیشنصب شده» میاد. اگر تنها کاری که میکرد نشستن و اجرا شدن بود، ما میتونستیم اون رو معادل یک مدار در نظر بگیریم. وقتی ما اصرار داریم که یک نرمافزار در یک دستگاه محاسبه (computing device) باید آزاد باشد، ما میتونیم از فریمویری که بصورت پیشنصب شده است و هیچ زمانی بروزرسانی نمیشود چشمپوشی کنیم، به این دلیل که برای یک کاربر تفاوتی نمیکند که این یک برنامه است یا یک مدار.
متاسفانه، در این مسئله این یک مدار مضر است. امکانات مضر غیر قابل پذیریش هستند، اهمیتی ندارد که چطور اجرا میشوند.
در بیشتر گوشیهای اندروید، این فریمویر آنقدر دسترسی دارد که میتواند تبدیل به یک محصول شنود بشود. در تعدادی، این هدایت میکروفن رو بر عهده میگیره. در تعدادی، میتونه کنترل کامپیوتر مرکزی رو از طریق حافظه مشترک برعهده بگیره، و بنابراین هر برنامه آزادی که نصب کردهاید رو جایگزین یا بازنویسی کنه. در بعضی از مدلها امکان در دست گرفتن کنترل دوردست این فریمویر امکانپذیر است، و بنابراین کامپیوتر گوشی، از طریق شبکه رادیو گوشی.
نکته نرمافزار آزاد اینه که ما کنترل محاسبات خودمون رو داریم، و این توصیف نیست. در حالی که تمام سیستمهای محاسباتی میتونند اشکال (bug) داشته باشند، این دستگاهها خودشون میتونند اشکال باشند. (Craig Murray در Murder in Samarkand، درباره درگیریاش در یک عملیات جاسوسی که از راه دور گوشیهای همراه غیراندرویدی اهداف غیرمشکوک رو به دستگاه شنود تبدیل میکرد.)
در هر صورت، فریمویر شبکه گوشی در یک دستگاه اندرویدی معادل یک مدار نیست، به این دلیل که سختافزار اجازه نصب یک نسخه جدید رو میده و این در واقع الان هم انجام شده. از آنجایی که این یک فریمویر اختصاصی است، در عمل تنها تولید کننده میتونه نسخه جدیدتر رو بسازه – کاربر نمیتونه.
با قرار دادن این نقاط در کنار هم، ما میتونیم فریمویر غیرآزاد شبکه گوشیای رو تحمل کنیم که لود نشود، هدایت کامپیوتر مرکزی رو دست نگیرد، و تنها زمانی بتواند ارتباط برقرار کند که سیستم عامل آزاد اجازه اینکار رو بهش بدهد. به عبارت دیگر، باید معادل یک مدار باشد، و این مدار هم مضر نباشد. هیچ مانعی وجود ندارد که نتوان گوشی اندرویدی ساخت که این ویژگیها رو داشته باشه، ولی ما هیچ موردی رو نمیشناسیم.
پوشش خبری مطبوعات از اندروید بر روی جنگ پتنتها (patent) بوده است. در طول ۲۰ سال مبارزه برای لغو پتنتها، ما هشدار وقوع این جنگها رو دادیم. پتنتهای نرمافزاری میتوانند اندروید رو مجبور به حذف امکاناتش، یا حتی غیرقابل دسترس کردنشون کنند. (پایگاه endsoftpatents.org رو برای اطلاع بیشتر از اینکه چرا باید پتنتها منسوخ بشن مشاهده کنید.)
به هر حال، حملات پتنتی، و پاسخهای گوگل، بطور مستقیم مرتبط به موضوع این مقاله نیستند: چگونه محصولات اندرویدی به یک سیستم اخلاقی در توزیع نزدیک میشوند و چگونه در مدت کوتاهی محو میشوند. این مسئله هم لیاقت توجه مطبوعات رو دارد.
اندروید یک گام بزرگ به سمت یک گوشی قابل حملِ اخلاقی، در کنترل کاربر، و نرمافزار آزاد است، اما راه درازی برای رفتن هست. هکرها بر روی Replicant کار میکنند، اما پشتیبانی از مدلهای تلفن جدید کار بسیار بزرگی است، و هنوز مشکل فریمویر باقی میماند. هرچند گوشیهای اندرویدی از گوشیهای هوشمند اپل و ویندوز کمتر بد هستند، اما نمیتوان گفت که به آزادی شما احترام میگذارند.
(این مقاله در the gurdians در تاریخ ۱۳۹۰/۰۶/۲۸ تحت گواهینامه Creative Commons Attribution Noderivs 3.0 licence منتشر شده است. حقرونشت ریچارد استالمن ۲۰۱۱)
پ.ن: لطفا اگر در ترجمه/متن مشکلی دیدید اعلام کنید.