اکثر افراد فعال در حوزههای مختلف کامپیوتری، کم و بیش با مفاهیم مربوط به آزادی نرمافزار یا نرمافزارهای متنباز آشنا هستند. درجات متفاوت آزادی در نرمافزار، مجوزهای استفاده و انتشاری که به همراه برنامهها منتشر میشوند و مباحثی از این قبیل مدتها مورد بحث قرار گرفتهاند. اما آیا میتوانیم «سختافزار آزاد» یا «سختافزار متنباز» نیز داشته باشیم؟
به عنوان یک پیشزمینهی کوتاه، بهتر است با همان بحثهای متداولتر نرمافزاری شروع کنیم. آغاز رسمی بحث نرمافزار آزاد را میتوان با معرفی پروژهی گنو و اندکی پس از آن، راهاندازی بنیاد نرمافزار آزاد توسط ریچارد استالمن همزمان دانست. در حال حاضر هم اگر استالمن را پدر آزادی در دنیای کامپیوتر بنامیم، اغراق نکردهایم. حتی بسیاری از مباحثی که در همین مقاله در مورد سختافزار آزاد نیز میآید، برگرفته از مقالات و عقاید ریچارد استالمن در این زمینه است.
یک سوء تفاهم بزرگ در زمینهی آزادی در دنیای کامپیوتر، از استفاده از لغت «Free» برای این مفهوم ناشی میشود. وقتی از Free Software صحبت میکنیم، منظورمان «نرمافزار رایگان» نیست. بسیاری از نرمافزارها را به صورت رایگان عرضه میشوند اما به هیچ عنوان نمیتوان آنها را «نرمافزار آزاد» به حساب آورد. عکس این قضیه نیز صادق است و نرمافزارهای آزاد بسیاری را میتوان نام برد که برای استفاده از آن باید هزینه پرداخت کنید. پس به همین ترتیب، وقتی از Free Hardware نیز صحبت میکنیم، مسلماً منظور ما سختافزار رایگان نیست و آزادی را در این زمینه هدف گرفتهایم. استالمن چهار آزادی را به عنوان اصول نرمافزار آزاد نام میبرد:
- آزادی اجرای برنامه برای هر قصد و هدفی که خودتان داشته باشید.
- آزادی مطالعهی کد منبع برنامه و تغییر دادن آن برای هدف مورد نظر
- آزادی تهیهی رونوشت از برنامهی اصلی و اعطا یا حتی فروش آن به دیگران
- آزادی تهیهی رونوشت از نسخههای تغییردادهشده و اعطا یا فروش آن به دیگران
همین آزادیها را میتوان به نوعی برای سختافزار نیز در نظر گرفت. یعنی ما به دنبال سختافزارهایی هستیم که بتوانیم برای هدف موردنظر خودمان استفاده کنیم و با/بدون تغییر، آن را تکثیر کنیم یا به فروش برسانیم. اما موضوع متفاوتی که در مورد سختافزارها وجود دارد، این است که ما اساساً – حداقل در حال حاضر – نمیتوانیم بسیاری از سختافزارها را تکثیر کنیم. بنابراین دربارهی سختافزار، باید به دنبال «طراحی سختافزار آزاد» باشیم که افراد بتوانند این طراحی را مطالعه کرده، در صورت نیاز آن را تغییر داده و – در صورت امکان – نسخهی تغییریافته را تولید کنند.
یک مفهوم دیگر را هم باید در این مطلب روشن کنیم و آن کلمهی «متنباز» است. نرمافزار متنباز عملاً همان نرمافزار آزاد است. اما ریچارد استالمن به علت تأکید بیشتر بر آزادی – در مقابل در دسترس بودن کد برنامه – استفاده از همان کلمهی آزاد را توصیه میکند. در سختافزار هم این روزها کلمهی سختافزار باز یا سختافزار متنباز بیشتر از سختافزار آزاد به گوش میخورد اما این دو مفهوم یک تعریف مشترک دارند و غیر از تفکرات اصولگرایانهی استالمن و یارانش، تفاوت خاصی بین آنها وجود ندارد.
در دسترس بودن طراحی یک قطعهی فیزیکی موضوع چندان جدیدی نیست. از سالهای دور در بعضی از محصولات مثل مبلمان یا ملزومات داخلی منازل، کاتالوگهایی در اختیار مشتری قرار میگرفت که طرح کلی و قطعات به کار رفته در آن محصول را مشخص میکرد. شروع جنبش سختافزاری متنباز را نیز میتوان در 1975 در گاراژ گوردون فرنچ تحت عنوان باشگاه کامپیوتر هومبرو دانست. انتشار طراحی ریزپردازندهی UltraSPARC T1 در سال 2006 توسط شرکت سان با مجوز GPL را نیز میتوان به عنوان نقطهی عطف دیگری در زمینهی سختافزار آزاد نام برد.
چرا به سختافزار آزاد احتیاج داریم؟
داشتن طراحیهای آزاد برای سختافزار مزایای زیادی به دنبال خواهد داشت. دسترسی افراد زیاد به طراحیهای سختافزاری باعث رشد علاقمندی به فعالیت در این زمینه میشود و مشارکت جمعی در پروژههای سختافزاری، شانس رسیدن به ایدههای جدید و نوآوری در طراحیهای سختافزاری را افزایش میدهد. ضمن اینکه وقتی کاربران متعدد – به خصوص کاربران حرفهایتر – یک طراحی سختافزاری را مطالعه میکنند، ایرادات طراحی سریعتر مشخص شده و این منجر به رفع نقص و بهبود پروژهی سختافزاری میشود. استفاده از این طراحیها و قابلیت فروش طرح اصلاحشده یا حتی سختافزار ساختهشده با طرح جدید نیز میتواند باعث به وجود آمدن بازارهای جدید و در نتیجه مشاغل جدید در این زمینه شود.
از دیدگاه استالمن، موارد دیگری نیز وجود دارند که ما را به اجبار به سمت طراحی و استفاده از سختافزارهای آزاد هدایت میکنند. برای مثال، سختافزارهای غیرآزاد به سمت تحت سلطه در آوردن کاربر در زمینههای نرمافزاری حرکت میکنند. مشخصات دقیق بعضی از سختافزارهای جدید به عنوان یک راز تلقی شده و اعلام عمومی نمیشود. بعضی از آنها اجازهی استفاده از نرمافزارهای آزاد را به طور کامل نمیدهند و مثلاً به عنوان Firmware فقط برنامههایی که تحت امضای شرکت سازنده باشند را قبول میکنند.
هر برنامهای که برای استفاده، نیاز به امضای شخصی غیر از استفادهکننده داشته باشد، از نظر استالمن ناقض آزادی کاربر است. علاوه بر این، استفاده از کدهای اختصاصی و تغییرناپذیر شرکتها در یک سختافزار، میتواند پتانسیل آلوده بودن قطعه یا استفاده از آن برای مقاصد جاسوسی را نیز تقویت کند. بارها در مورد اینکه NSA (آژانس امنیت ملی امریکا) ضعفها و راههای نفوذ خاصی را در سختافزارها قرار میدهد صحبت شده است.
به دلیل این مزایا و الزامات ذکر شده، ما نیاز به حرکت به سمت طراحیهای آزاد در دنیای سختافزار داریم. هرچند حتی ریچارد استالمن که استفاده از نرمافزارهای غیرآزاد را کاملاً رد میکند و در زمینهی به حساب آمدن یک برنامه به عنوان نرمافزار آزاد هم سختگیریهای خاصی دارد (استالمن حتی به پروژهی لینوکس هم به عنوان یک پروژهی آزاد انتقادهایی دارد)، در مورد سختافزار عقاید متفاوتی دارد. استالمن معتقد است با توجه به شرایط موجود و تفاوتهای بارز سختافزار و نرمافزار، نمیتوانیم استفاده از سختافزارهای غیرآزاد را کاملاً رد کنیم.
در نرمافزار، با آزاد کردن کد منبع یک برنامه، کاربر تنها با استفاده از یک کامپیوتر، میتواند آن کد را تغییر داده و برنامهی تغییریافتهی خود را تولید کرده و انتشار دهد. اما در دنیای سختافزار به این شکل نیست و تولید بسیاری از این قطعات تنها در کارخانههای بزرگ و با استفاده از ابزارهای تولید خاص امکانپذیر است. ضمن اینکه درست مانند نرمافزار آزاد، وقتی واقعاً میتوانیم یک سختافزار را، «سختافزار آزاد» بدانیم که در تولید آن، از هیچ قطعه و بخش غیرآزادی استفاده نشده باشد. این مسائل در دنیای امروز تقریباً غیرممکن است و شاید در آینده بتوانیم به این شرایط برسیم. اما در حال حاضر همین که تولیدکنندگان را به انتشار طرحهای سختافزاری خود با مجوزهایی مثل GPLv3 و سایر مجوزهای آزاد ترغیب کنیم و خود نیز از چنین محصولاتی استفاده کنیم، قابل قبول به نظر میرسد و میتواند ما را گام به گام، به رسیدن به آزادی کامل در دنیای سختافزار نزدیکتر کند.
مثالهایی از سختافزارهای متنباز
تا اینجا شاید مطالب ما بیش از حد آرمانی به نظر برسد و فکر کنید هیچ گاه نخواهیم نتوانست به چنین سطحی از آزادی در دنیای کامپیوتر برسیم. اما ذکر چند مثال از سختافزارهایی که به این هدف نزدیک شدهاند، میتواند مفهوم را به ذهن نزدیکتر کند. توجه کنید که در تیتر این بخش، عمداً از لغت متنباز به جای آزاد استفاده شده است، زیرا بعضی از این مثالها، معیارهای آزادی کامل و دقیق از نظر ریچارد استالمن را در خود ندارند، اما طراحی آنها به طور عمومی منتشر شده و حداقل در دستهی سختافزارهای متنباز قرار میگیرند.
پروژهی رِپرَپ
این پروژه در سال 2004 توسط آدریان بویر و همکارانش در دانشگاه باث انگلستان با هدف ساخت یک پرینتر سهبعدی با قابلیت خودجایگزینی آغاز شد که میتواند بیشتر قطعات و اجزای خود را تولید کند.
این وسیله تحت لیسانس GNU GPL ساخته شده به این معنی که همه میتوانند آن را کپی کنند، طراحی آن را بهبود دهند و آن را مجدداً منتشر کنند. به کمک همین مجوز، امروزه چندین و چند مدل رِپرَپ در جوامع متنباز توسعه داده شدهاند. هرکس میتواند پرینتر سهبعدی خود را بر اساس دستورالعملهای موجود بسازد. بعضی شرکتهای مثل BQ در اسپانیا هم کیتهای پرینتر خود را بر اساس همین پروژه تولید کرده و محصولی شامل قطعات مورد نیاز برای ساخت پرینتر سهبعدی را به فروش میرسانند.
آردوینو
آردوینو یک مادربرد است که از یک ریزکنترلر ساده استفاده میکند. محیط توسعهی این ابزار اجازهی ساخت اپلیکیشنهای مختلف روی بُرد را به کاربر میدهد. این آردوینو در هزاران پروژهی مختلف با درجات پیچیدگی متفاوت مثل رباتها یا سیستمهای آبیاری زمینهای کشاورزی استفاده شده است.
آردوینو از یک نوع مجوز خاص از نوع Creative Commons استفاده میکند که آزادیهایی را در اختیار کاربر قرار میدهد اما بعضی موارد مثل استفاده از برند آردوینو را در ابزارها اجباری میکند که باعث نوعی کنترل روی بحث ثبت برند تجاری آن میشود.
رزبری پای
مدتها پیش در همین وبسایت مقالهای در مورد این بُردهای کوچک که شامل یک ریزپردازنده، پردازندهی گرافیکی و حافظهی رم میشود منتشر کردیم.
این وسیله در سال 2009 توسط بنیاد رزبری پای به منظور کمک در زمینهی یادگیری علوم رایانه در مدارس معرفی شده است. جامعهی استفادهکنندگان و توسعهدهندگان این ابزار بسیار وسیع و بخشنده است و در بسیار از موارد، میتوان از راهنماییهای آنها در زمینهی ساخت دستگاههای مختلف با استفاده از این بُرد متنباز، کمک گرفت.
e-puck
ای-پاک یک ربات متحرک متنباز است که در اصل برای اهداف آموزش ریزمهندسی طراحی شده است. کتابخانههای فراوان، پروندههای تولیدی و مثالها و آموزشهای فراوانی برای استفاده از این ربات جالب در وبسایت ای-پاک وجود دارد.
پروژههای جالب دیگری نیز وجود دارند که توسط شرکتهای بزرگ مورد استفاده قرار گرفتهاند. برای مثال پروژهی Elphel که سختافزارهای متنباز برای دوربینها تولید میکرد و حالا توسط ناسا و گوگل برای مواردی مثل قابلیت Streeview در Google Maps مورد استفاده قرار میگیرند. شاید نام پروژهی Ara که گوگل برای ساخت تلفنهای هوشمند ماژولار به پیش میبرد را نیز شنیده باشید که این پروژه نیز برگرفته از یک پروژهی متنباز به نام Phoneblocks است که در سال 2013 منتشر شده بود.
علاوه بر این پروژههای تولیدشده نیز، وبسایت OpenHardware به عنوان یک مرجع برای قرارگیری طراحیها و پروژههای سختافزاری متنباز وجود دارد که میتواند برای استفادهی تمامی علاقمندان مورد توجه قرار گیرد.
بنیاد نرمافزاری آزاد نیز یک گواهی با عنوان «احترام به آزادی شما» در نظر گرفته که آن را به محصولاتی که از اصول آزادی سختافزار مورد نظر این بنیاد پیروی میکنند، اعطا میکند. لیستی از محصولاتی که توانستهاند این گواهی را به عنوان جایزه دریافت کنند در وبسایت بنیاد نرمافزاری آزاد قرار داده شده است.
نظر خود را اضافه کنید.
برای ارسال نظر وارد شوید
ارسال نظر بدون عضویت در سایت