در بخش اول این سری مقالات در مورد تحریم SDK اندروید برای ایران و همچنین فیلتر کردن وبسایت توسعهدهندگان اندروید به روی ایران توسط گوگل نوشته شد.
در این قسمت، به بُعد دیگری از قضیه نیز میپردازیم. اگر شما طرفدار آزادی نرمافزار باشید و برایتان ارزش محسوب شود، گذشته از موضوع تحریمها که مختص ایران بود، به احتمال زیاد همانند برخی افراد در سایر نقاط دوست ندارید زیر بار توافقنامههای غیرآزاد بروید.
اینجا صحبت از آزادی نرمافزار در میان است. این همان موضوعی است که چند سال پیش در مورد آزاد نبودن مجوز SDK اندروید، توسط برخی از افراد طرفدار آزادی نرمافزار به آن پرداخته شد.
البته ممکن است برخی در نگاه اول، این عقیده را داشته باشند که گوگل مختار است نرمافزار خود را با هر مجوزی که دوست دارد و حتی همانند شرکتهای بزرگ دیگر به صورت غیر آزاد منتشر کند؛ اما باید توجه شود که یکی از دلایل رشد سیستمعامل اندروید و کنار زدن رقبای خود، جنبهی آزاد و متنباز بودن آن بوده است و همچنین همانطور که ذکر شد، اندروید بر روی هستهی لینوکس بنا نهاده شده است و اجازه ندارد آزادیهای آن را طبق مجوزهای هر بخش از کار، محدود کند.
البته افرادی نیز برخلاف منتقدان نظر دادهاند، که از جملهی آنها را میتوانید در صفحهی زیر مشاهده کنید:
گرچه این مخالفت نیز در مورد انکار غیرآزاد بودن خود SDK اندروید نبود، بلکه صحبت از این بود که حالت سورسکد آن همچنان متنباز و تحت مجوز آزاد است.
در حقیقت این مجوز غیرآزاد تنها مربوط به شکل باینری SDK است. قسمتی از مجوز SDK اندروید که حامیان آزادی نرمافزار در مورد عدم آزاد بودن نرمافزار به آن استناد میکنند:
3.4 You may not use the SDK for any purpose not expressly permitted by the License Agreement. Except to the extent required by applicable third party licenses, you may not copy (except for backup purposes), modify, adapt, redistribute, decompile, reverse engineer, disassemble, or create derivative works of the SDK or any part of the SDK.
و قسمتی که طبق تحریمها، به نظر میرسد شامل برنامهنویسهای ایرانی میشود (نمایش صفحات عدم دسترسی برای IPهای ایرانی در بخش توسعهدهندگان اندروید نیز تصدیقکنندهی آن است) و آنها را از استفاده از SDK منع میکند که این هم به نوبهی خود مخالف مجوزهای آزاد نرمافزارها است:
2.3 You may not use the SDK and may not accept the License Agreement if you are a person barred from receiving the SDK under the laws of the United States or other countries, including the country in which you are resident or from which you use the SDK.
و در نهایت قسمتی از مجوز که خود به شرایط متفاوت استفاده از بخشهای آزاد و متنباز پروژه، اشاره کرده است و تصریح کرده است که در مورد آن بخشها، نباید به این اجازهنامه توجه شود:
3.5 Use, reproduction and distribution of components of the SDK licensed under an open source software license are governed solely by the terms of that open source software license and not the License Agreement.
این همان نکتهای است که راهگشای ما بوده و مسیر بعدی ما را روشن میسازد.
ما به جای دانلود SDK و بدون پذیرش مجوز غیرآزاد آن، میتوانیم سورسکد آزاد آن را با توجه متن باز بودن اندروید، دریافت کرده و خودمان آن را کامپایل کنیم.
حالا سوال اینجاست که آیا پس از کامپایل، همان SDK منتشر شده در وبسایت توسعهدهندگان رو خواهیم داشت یا خیر؛ پاسخ کلی این است که گوگل علاوه بر قسمتهای آزاد نرمافزار، اجزا و کتابخانههایی در مورد سرویسهای اختصاصی خود را نیز همراه با SDK ارائه کرده است؛ پس ما اجزای اصلی SDK و همچنین کتابخانههای متنباز دیگر را در نسخهی آزاد SDK خودمان خواهیم داشت ولی به برخی کتابخانههای سرویسهای گوگل دسترسی نخواهیم داشت. گرچه راهنماهایی در مورد جایگزینهای این سرویسهای اختصاصی غیرآزاد گوگل نیز در این سری آموزشی، ارائه خواهد شد.
در قسمت بعدی این سری به موضوع کامپایل SDK از سورسکد و همچنین معرفی کارهای افرادی که این فرآیند را برای ما آسان کردهاند، با جزئیات و به صورت عملی خواهیم پرداخت.