ارسالی مروه
جنبش سختافزار آزاد، علیرغم سابقه طولانی خود، نسبتاً مهجور مانده است. صرفنظر از دلایل این موضوع، آگاهی از تحولات به وجودآمده در حوزه سختافزار از این منظر، میتواند فصل جدیدی را در مباحث فرهنگی، اجتماعی و فنی IT رقم بزند.
پس از گذشت چند دهه از جنبشهای آزادی طلبانه نرمافزاری، تأثیرات شگرف این فرهنگ، یكی از مهمترین دگرگونیهای تاریخ كامپیوتر را رقم زده است. فعالشدن انجمنها و اجتماعاتی بزرگ متشكل از هزاران برنامهنویس و متخصص در سراسر دنیا، روی آوردن شركتهای معظم IT به توسعه یا حمایت نرمافزارهای منبعباز، استقبال دولتها از این حركت، و موارد بیشمار دیگر، متحولشدن آینده نرمافزار را به واقعیتی انكارناپذیر تبدیل كردهاست. گرچه هیاهوی شیفتگان، مخالفان، و منتقدان منبعباز و منبع بسته همچنان ادامه دارد، اما همین تقابلات و نقطه نظرات منجر به رسیدن به سطحی از تعامل شده كه اكنون با قاطعیت میتوان این فرهنگ را جزء جدایی ناپذیر این صنعت دانست. در عین حال، پی بردن به اهمیت جایگاه آزادی در حوزه نرمافزار، تأثیرات پیرامونی دیگری را نیز به همراه داشته است. یكی از مهمترین این اثرات، درك و پذیرش واقع بینانهتر فرهنگهای مشابهی است كه در حوزههای دیگر IT پدیدار شده و یا خواهند شد. این است كه وقتی سخن از جنبش آزادی خواهانه دیگری، اینبار در حوزه سختافزار به میان میآید، پرسشها و ابهامات اولیه بیش از آنكه حول انكار یا عدم انكار اصل وجود آن باشد، به اینگونه مضامین نزدیك است كه: چه تشابهات و تضادهایی میان نرمافزار آزاد و سختافزار آزاد وجود خواهد داشت؟ مجوزهای نرمافزاری و سختافزاری چه تفاوتهایی با یكدیگر خواهند داشت؟ و … . اما جنبش سختافزار آزاد، علیرغم سابقه طولانی خود، نسبتاً مهجور مانده است. صرفنظر از دلایل این موضوع، آگاهی از تحولات به وجودآمده در حوزه سختافزار از این منظر، میتواند فصل جدیدی را در مباحث فرهنگی، اجتماعی و فنی IT رقم بزند. نوشتار حاضر به بررسی علل تاریخی شكلگیری این جنبش، و وضعیت آن تا به امروز میپردازد.
● تاریخچه
در دهه ۱۹۶۰ میلادی، جنبشهای دانشجویی با هدف ایجاد جوامع آزاد، در تكاپو و فعالیت بودند و تقریباً در اوایل دهه هفتاد میلادی، مسجل شده بود كه شبكههای كامپیوتری میتوانند اساس گونه جدیدی از ارتباطات باشند كه باعث تقویت و گسترش جوامع شوند و میتوانند جایگزینی برای انتشار رسانهای متمركز (حتی مطبوعات زیرزمینی) باشند؛ رسانهای برای شركتكنندگان فعال.
با این حال، فناوریهای كامپیوتری موجود نمیتوانست به سادگی برای چنین هدفی مورد استفاده قرار گیرد. نخستین بولتنهای خبری چنین جنبشهایی به مین فرایمهای اهدایی وابسته بودند. منبع كمیاب و پیچیدهای كه از خارج انجمن به آنجا آورده شده بود. جایی كه تقریباً هیچ مهارتی برای اجرا، نگهداری، تعمیر، و توسعه آن وجود نداشت.
در چنین زمانی كمكم ادوات یكپارچه ۱TTL در مقیاسهای كوچك، متوسط، و بزرگ در حال رایجشدن بودند. قطعات ساده و ارزانی كه به آسانی و با استفاده از ابزارهایی نظیر سیمپیچ، كیتهای آماده و تخته مدارهای چاپی دستساز سرهم میشدند. این ادوات كاملاً مناسب افرادی بودند كه با این گونه چیزها سرگرم میشدند. به این ترتیب، سمجها به جان سیمها افتادند و در نهایت، گروه بزرگی از طراحان خودساخته پدیدار شدند. یكی از كسانی كه در آن روزگار با هر دو گروه مرتبط بود، <لی فلسناشتاین> نام داشت. یك طراح الكترونیك و یكی از اعضای جنبش آزادی بیان بركلی، مسئول اولین سیستم بولتن خبری این جنبش بود.
او در آن زمان تحتتأثیر كتابی به نام <ابزارهای یك جامعه> ۲Convivial قرار گرفته بود: <هر شخص از طریق ابزارهایی كه خود، آنها را هدایت میكند و یا ابزارهایی كه ناخواسته او را هدایت میكنند، خود را به جامعه خویش مربوطمیكند. زمانی كه این ابزارها تحت تسلط وی هستند، این خود اوست كه میتواند افكارش را به دنیا القا كند. اما زمانی كه او تحت تسلط این ابزارها قرارگیرد، آنها شكلدهنده انگارههای ذهنی او خواهند شد. ابزارهایConvivial ابزارهایی هستند كه برای كاربران آنها بزرگترین فرصت غنی ساختن محیط را با استفاده از ثمرات ذهن خود فراهم میكنند.>
حركت نبوغآمیز فلسناشتاین این بود كه دریابد چگونه این ایدههای محض میتوانند حلال مشكلات سیستمهای بولتن خبری انجمن باشند؛ كامپیوترهای جدید (در اصل همان ترمینالها) میبایست به صورت گروهی و با استفاده از تواناییهای مشتاقان سمج و خوشذوقی كه در سراسر كشور پراكنده شده بودند، طراحی و ساخته شوند و در هر انجمنی عدهای، از همه جزئیات سیستمهای مورد استفاده آگاهی داشته باشند.
بدینگونه مسئله نگهداری و تعمیر نیز حل میشد. به عبارت دیگر، استفاده از <ابزارهای> Convivial مستلزم این بود كه پروسه طراحی رایانهها بهطور كلی وارونه گردد تا از درون به یك پروسه Convivial تبدیل شود. نخستین تلاش فلسناشتاین برای تحقق این هدف، طراحی ترمینال Tom Swift بود. وی برای این منظور، تا جایی كه میتوانست به توزیع طرحها و الگوهای نموداری این ترمینال پرداخت.
او میگوید: <قابلیت اعتماد سختافزاری یك مسئله بدیهی بود… روش من صرفنظر از این مسئله طراحی یك <وسیله سایبرنتیك> Convivial چندمنظوره به عنوان یك ترمینال /متمركز كننده/ پردازنده بود. به نحوی كه آماتورها به كاركردن با آن تشویق شوند. از نظر تئوری، هرجا كه یكی از ترمینالهای Tom Swift استقرار مییافت، اسباب تأسیس یك باشگاه كامپیوتری را فراهم میكرد. سپس هرگاه یك ترمینال از كار میافتاد، ترمیم یك مسئله محلی محسوب میشد و افراد مجبور نبودند عقاید خود را بر روی یك سیستم مینفریم راهدور قرار دهند.>
دومین تلاش فلسناشتاین نه یك طراحی، كه تأسیس یك سازمان بود؛ باشگاه كامپیوتری Homebrew . این باشگاه كار خود را با پنج نفر آغاز كرد. در اولین گردهمایی، این تعداد به ۳۰ نفر و ظرف یكسال به ۶۰۰ نفر افزایش یافت. هدف باشگاه، ترویج طراحی مشاركتی رایانه Homebrew بود.
طرحها، حتی آنهایی كه به محصولاتی تجاری، مانند اولین رایانه اپل، تبدیل میشدند، با یكدیگر به اشتراك گذاشته شده و تلفیق میشدند و در مورد آنها بحث و تبادلنظر میشد. تأثیرات مستقیم و غیرمستقیم این باشگاه، به خارج از مرزهای ایالات متحده نیز سرایت كرد.
در واقع، صنعت نوپای رایانههای خانگی متشكل از مجموعهای نامنسجم از شركتهای تولیدی كوچك و گروههای مشتاقی (غالباً یك عده خاص) بود كه خالق فرهنگ آزادی در این حوزه بودند.
در این شرایط، شركتهای معظم و قدیمی كامپیوتری زمانی دریافتند كه میتوانند از بازار بالقوه موجود در این حوزه استفاده كنند كه رای تحمیل سیستم موردنظر آنها بسیار دیر شده بود. علیرغم این موضوع، IBM از تلاش برای حضور در این عرصه صرفنظر نكرد. یكی از مدیران وقت IBM در این مورد گفته بود: <بهتر است معماری IBM به یك معماری باز تبدیل شود؛ فراهمكردن اطلاعات و مشخصاتی كه باعث تشویق دیگران به توسعه ویژگیها و برنامههای قابلاجرا بر روی سیستمهای ما گردد.
این رویكرد، صدها فرد و شركت را قادر به توسعه صدها وسیله جانبی سختافزاری میسازد و مردم میتوانند آنها را برای كامپیوتر شخصی IBM خود انتخاب كنند.>
با این حال، كاملاً بدیهی بود كه اعضای باشگاه Homebrew درصدد تحمیل خط مشی خود هستند. فلسناشتاین میگوید: < در سال ۱۹۷۸، IBM پا را از گلیم خود درازتر كرد و با معرفی ۵۱۰۰، محصول عجیب و ناسازگاری كه بیانگر رویكرد IBM بود، ادعا كرد این به من تعلق دارد>. البته آنها مایل نیستند در مورد آنچه كه اتفاق افتاد، توضیح دهند. ولی در سال ۱۹۸۱ آنها با ۵۱۵۰ (یك PC ) بازگشتند و از قوانین ما تبعیت كردند. طبق این قوانین، همه میتوانند به ایفای نقش بپردازند. اما شما باید معماری و كد اجرایی خود را تا آنجا كه ممكن است، همگانی كنید. در عین حال باید افرادی را به نوشتن برنامه و ساختن الحاقات آن تشویق كنید. شما میتوانید بازی كنید. اما باید دیگران را هم در انجامدادن بازی یاری كنید.>
▪ موج دوم
موج اول جنبش سختافزارآزاد در خارج از دانشگاهها به وقوع پیوسته بود. اما موج دوم این جنبش را دانشگاهها برپاكردند كه شامل عدهای از افراد مستقل نیز میشد. در موج اول، موضوع به اشتراك گذاشتن طراحی برمبنای IC های موجود مطرح بود. مستندات اجزای داخلی این ICها، موجود بود. بنابراین مشكلی وجود نداشت. طراحیها همانند طرحهای موجود، عمدتاً دستی بودند. طراحی چیپها از لحاظ منطقی چندان پیچیده نبود، اما تولید آنها به دانش بالا از فیزیك نیمه هادیها نیازداشت كه محدود به مهندسان شركتهای معدود تولیدكننده آنها بود. زیرا آنها دارای تجهیزات تولید اختصاصی خود بودند.
در اواخر دهه هفتاد، این شفافیت به تدریج از میان رفت. ابعاد و پیچیدگی چیپها به شدت افزایش یافت. تولید چیپهای سفارشی از سوی طراحان، نیاز به دانش در تمام سطوح این قطعات داشت كه این امر به طور فزایندهای وضعیت را مشكلتر میكرد.
▪ اكنون به دو چیز نیاز بود: اول متمایز ساختن طراحی فیزیكی چیپ از طراحی منطقی و معماری آن و دوم، استنتاج یكی از دیگری. این صرفاً نه یك مسئله فنی، بلكه یك مشكل اجتماعی بود. این موضوع مستلزم تربیت مهندسانی بود كه بتوانند با شیوه جدید كاركنند. در همین اثنا، انگیزه چارهجویی میان دو نفر كه این مشكل را به وضوح مشاهده میكردند، به وجود آمد.
Carver Mead و Lynne Conway روشی را اختراع كرده بودند كه از دو بخش تشكیل میشد. یك بخش فنی كه شامل كاهش طراحیهای منطقی به منظور سادهسازی نمودارهای ارائه شده همراه با پیادهسازی مستقیم و قابل ارتقای نیمه هادیها بود و یك بخش اجتماعی این بخش بخش اجتماعی. شامل اختراع همان چیزی بود كه اریك ریموند سالها بعد آن را <بازار> نامید. لین كانوی در رسالهای به نام <سرگذشت> MPC در باب چگونگی ایجاد جامعهای بازارگونه، شرایط را مطرح میكرد:
▪ شمول عده زیادی از مردم
▪ اشكال زدایی همزمان
▪ طراحان سیستم باید كاربران آن نیز باشند
▪ پاسخ سریع به نظرات كاربر و عرضه مستمر برطرفكننده اشكالات و بهبودها
▪ اجازه گسترش استانداردها، فراتر از كاربرد معمول
اما این شباهتها در این برداشتهای اشتباه خلاصه نمیشود. در حقیقت باید گفت كه بحث و استدلالهای مربوطبه تفسیر <آزادی> حامیان مجوزهای بنیاد نرمافزار آزاد و طرفداران مجوزهای BSD گونه، به حوزه سختافزار نیز قابل تعمیم هستند و از این حیث پیچیدگیهای خاص این موضوع به این حوزه نیز سرایت كردهاست.
علیرغم این موضوع جریان اصلی این جنبش مسیر خود را طی میكند. در حقیقت گمان میرود كه ایده سختافزار آزاد و مدل توسعه مشاركتی آن بتواند بسیاری از مشكلات صنعت نیمههادیها را حل كند. بسیاری از متخصصان مستقل و شركتها خواهند توانست در رفع اشكال، بهبود، ارتقا و البته تغییر طراحی سختافزار ایفای نقش كنند.
در مدل بسته و رایج فعلی، یك طرح سختافزاری متعلق به شركت سازنده آن است و برای هیچ شخص یا شركت دیگری در خارج از آن مجموعه شناخته شده نخواهد بود. (البته باید <صنعت> مهندسی معكوس را كه خود نمونه بارزی از اتلاف انرژی برای كشف چگونگی كاركرد یك قطعه در مدلهای بسته اختصاصی است، از این قضیه مستثنی كنیم).
بنابراین بهبود یك طرح سختافزاری صرفاً توسط تولیدكننده میسر میشود و تبع آن تمام هزینههای تحقیق و توسعه برای بهبود و پیشرفت محصولات نیز برعهده آن تولیدكننده خواهد بود.
اما بررسی دنیای نرمافزار نشان میدهد كه نرمافزارهای آزاد میتوانند از طریق اشكالزدایی، اصلاحات و بهبودها و پیشرفتهای به دست آمده توسط خیل عظیمی از مشاركتكنندگان پروژه، به روند توسعه یك پروژه نرمافزاری سرعت ببخشند. با این اوصاف و با وجود تفاوتهای ماهوی دو حوزه نرمافزار و سختافزار، ملزومات متفاوت این دو حوزه هیچ دلیل محكمی (حداقل تاكنون) برای اینكه نتوان از این مدل توسعه در طراحی سختافزار استفاده كرد بهشمار نمیآید.
شاید در عمل و در مقایسه با توسعهدهندگان نرمافزار عده كمتری با دانش طراحی سختافزار آشنایی داشته باشند، اما این امر به معنای غیرعملی بودن پیادهسازی این مدل نخواهد بود. (البته هزینههای موردنیاز برای طراحی، آزمایش و توسعه سختافزار نیز میتواند باعث كاهش مشاركتكنندگان در این حوزه گردد كه این موضوع نیازمند بحثی جداگانه است).
قطعات الكترونیكی به دلایل متعددی چون یكپارچه شدن ابزارها، به طور روزافزون پیچیدهتر میشوند و رقابت میان سازندگان هر روز افزایش مییابد. همین موضوع باعث شدهاست سازندگان سختافزار به گسترش داراییهای فكری خود علاقمند شوند و به توسعه محصولات مبتنی بر این داراییها وابستگی بیشتری پیدا كنند. به این ترتیب به نظر میرسد كه فناوریهای انقلابی همچون سیستم بر روی تراشه (system on chip یا اختصارا SOC) به واسطه عدم دسترسی بسیاری از سازندگان به این فناوریها، بهخاطر انحصاری بودن آنها، كاربردی محدود داشتهباشند.
به عنوان مثالی دیگر، مسئله مالكیت معنوی شركتها در مورد اینترفیسهای بین تراشهای و فقدان یك استاندارد جامع در این حوزه باعث شدهاست شركتهای نرمافزاری به صورت مستقل بر روی این اینترفیسها فعالیت كنند. این موضوع باعث بروز مشكلات ناسازگاری فراوانی در میان قطعات مختلف میشود. در حال حاضر برخی از شركتها به تبادل داراییهای فكری میپردازند و حتی شركتها و موسسات تخصصی ویژهای برای تسهیل این مبادلات مشغول فعالیت هستند. این حركتها به طور حتم ضروری، اما ناكافی هستند. به علاوه، كمك چندانی به گسترش این فناوریها از منظری كه جنبش سختافزار آزاد به آن نیازمند است، نمیكند.
بدون شك نگرانی شركتهای صاحب داراییهای معنوی به كاهش سودآوری آنها به واسطه دسترسی شركتهای دیگر به این داراییها مربوط میشود و به نظر میرسد تبیین مدلهای تجاری عملی در شیوه جدید توسعه میتواند تا حدودی از این نگرانیها بكاهد. در واقع جلوگیری از متعارف شدن فناوریها با استفاده از مالكیتهای معنوی انحصاری، تنها راه حفظ سودآوری نیست. كاهش هزینهها و افزایش تولید به عنوان دو عامل مهم برای رونق بخشیدن به كسبوكار، شیوهای تثبیت شده است و طراحی و توسعه آزاد فناوریها به طور اشتراكی میتوانند در تحقق دو عامل فوق نقش شایانی داشته باشند.
پس در وهله اول توسعه یك سیستم به اشتراكگذاری داراییهای فكری نه تنها میتواند انگیزه مشاركت سازندگان سختافزار به طراحی آزاد را تقویت كند، بلكه از تلاشهای مضاعف شركتهای فاقد حق استفاده از یك فناوری خاص برای اختراع دوباره چرخ جلوگیری میكند و برای نوآوریهای فنی وضعیتی بهینه را فراهم خواهد كرد.
▪ مجوزها
پیادهسازی عملی سختافزار آزاد مستلزم یك سیستم مجوزدهی كارآمد است. در حقیقت مهمترین بخش رسیدن به یك مدل اجرایی قابل پذیرش از سوی شركتهای سازنده، ایجاد یك شیوه مجوزدهی جدید و متناسب با حوزه سختافزار است. یكی از ملزومات اصلی ایجاد این شیوه، بررسی وضعیت فعلی طراحی و تولید سختافزار است.
امروزه روش طراحی نیمه هادیها به فرایند توسعه یك سیستم نرمافزاری مهم بیشباهت نیست. به منظور توسعه یك مدار مجتمع با كاربرد خاص یا ASIC، ابتدا با توجه مجموعه مفصلی از مشخصات پیادهسازی (كه خود تابع كاركردهای موردنیاز تعیین شده توسط گروه بازاریابی است،) از یك زبان تشریح سختافزاری (HDL) نظیر VHDLیا Verilog استفاده میشود.
كدهای منبع HDL پس از نوشته شدن و بررسی با نت لیستی (netlist) كه اتصالات گیتهای منطقی را (كه بر روی سیلیكون قرار خواهند گرفت) تشریح میكند، تطبیق داده میشود. هر گیت منطقی در نت لیست مستقیماً به تركیب خاصی از ترانزیستورها منتسب میشود. نت لیست توسط ابزار دیگری كه موقعیت قرارگیری هر ترانزیستور و سیم بر روی تراشه را انتخاب میكنند، مورد استفاده قرار میگیرد. طراحی فیزیكی به دست آمده مستقیماً توسط ماسكهای نوری كه در مرحله تولید از این طراحی الگوبرداری میكند مورد استفاده قرار میگیرد. در بسیاری از مراحل مذكور نرمافزارهای ویژهای كه برای انجام این كارها طراحی شدهاند مورد استفاده قرار میگیرند.
بنابراین میتوان اینگونه پنداشت كه طراحی سختافزار آزاد یا منبع باز در ابتدا به حوزه نرمافزاری آن مربوط میشود. از این منظر و با چنین دیدگاهی برخی طراحی سختافزاری را باز یا آزاد مینامند كه كدهای منبع زبان تشریح سختافزاری و نرمافزارهای به كار رفته در طراحی آن با استفاده از یك مجوز نرمافزاری توزیع شده باشند. بنابراین این مجوز اولاً باید حق توزیع آزادانه كدهای منبع آن را تضمین نماید و ثانیاً حق ایجاد فعالیتهای اشتقاقی مبتنی براین كدهای منبع و توزیع مجدد آنها را نیز برمبنای <یك مجوز مشابه> تضمینكند. حتی مثلاً میتوان با الهام از مجوز GPL بنیاد نرمافزار آزاد، شرط اینكه فعالیتهای اشتقاقی هم باید با استفاده از <همان مجوز> اولیه توزیع شوند را نیز به عنوان یكی از شروط اضافه كرد.
ریچارد استالمن پایهگذار بنیاد نرمافزار آزاد در سال ۱۹۹۹ میلادی استفاده از مجوزهایی چون GPL را برای زبانهای برنامهنویسی طراحی سختافزار به واسطه ماهیت نرمافزاری آنها كاملاً عملی میدانست. با این حال استفاده از چنین مجوزهایی فقط بخشی از ماجرای مجوزدهی سختافزاری را حل میكنند و بحث اصلی پیرامون شیوه توسعه و به كارگیری گونه جدیدی از مجوزها همچنان باقی میماند.
استالمن در اینباره میگوید: <مدارها نمیتوانند مشمول copyleft گردند. چرا كه مشمول قانون كپیرایت نمیگردند. با این حال شرح ساختار مدارات كه در HDL نوشته میشوند، میتوانند توسط copyleft مورد حمایت قرار گیرند. البته این موضوع صرفاً شامل نقشهها و الگوهاست نه خود مدار. این بدان معناست كه هر كسی قانوناً میتواند توپولوژی مدار مشابهی را با ظاهری متفاوت ترسیم كند و یا شرح ساختار متفاوتی را در HDL بنویسد كه به تولید همان مدار منجر شود. از اینرو توانایی copyleft، هنگام به كارگیری آن در حوزه مدارات محدود میشود. بنابراین قراردادن شرح ساختار مدارات در HDL و طرحبندیهای مدار چاپی تحت حمایت copyleft مزایایی نیز خواهد داشت.>
همانطور كه استالمن اشاره میكند مهمترین مشكل توسعه مجوز برای طراحی سختافزار آن است كه سختافزار فینفسه یك كار اشتقاقی محسوب نمیشود. در عمل، این طراحی یك كار نیست كه بتواند مورد حمایت كپیرایت قرار گیرد. به عبارت دیگر به تولید یك پیادهسازی فیزیكی از یك طراحی، كپی كردن اطلاق نمیشود.
شاید بتوان آن را پیادهسازی عمومی نامید. به هر حال این امر به معنای آن است كه یك مجوز ساده و صریح برای یك طراح سختافزاری نمیتواند از <كپی>های غیرشفاف آن كه در قالب پیادهسازی فیزیكی حاصل میشوند جلوگیری كند. به عنوان راهحل این مشكل پیشنهاداتی چون جایگزینی سیستم مجوزدهی با قراردادهای قانونی ارائه میشود كه البته این روشها نیز بدون ضعف و نارسایی نخواهند بود.
هم اكنون سازمانهای مختلفی در مورد توسعه مجوزهای جدید سختافزاری فعالیت میكنند و بنابراین پیش از آنكه بتوان در مورد كارآمدی سیستم مجوزدهی در این حوزه اظهارنظر كرد، باید در انتظار ظهور مجوزهای تخصصی آن بود. اما آنچه در مجموع میتوان دریافت آن است كه مضامین به كار رفته در تعاریف سختافزار آزاد كپی، بهبود و … میتوانند اساساً با آنچه كه به واسطه پیشزمینه نرمافزاری موجود به نظر میرسند، تفاوت داشته باشند و همین موضوع دلیل تفاوت بنیادین مجوزهای نرمافزاری و سختافزاری خواهد بود.
پیش نیاز تحقیق این امر، وجود یك شبكه (در آن زمان ARPANET) و همچنین شفافیت كامل بود. به واسطه همكاری مشترك عده زیادی از طراحان و با تلفیق چند طرح روی یك ویفر، امكان تولید چیپهایی ارزان میسر شد. این شیوه به سرعت از یك مبنای اولیه در زیراكس پارك، Caltech و MIT در سراسر ایالات متحده و سپس در اروپا گسترش یافت. در آغاز، مهمترین كاربرد نرمافزار، در طراحی بود. اما برای تقویت گسترش این روش، لازم بود این نرمافزار آزاد باشد.
این موضوع پیش از به وجود آمدن بنیاد نرمافزار آزاد و GPL بود. اما بعدها نرمافزار Chipmunk به عنوان الگوی قبلی نرمافزار اصلی مید و كانوی، كه هنوز هم برای تدریس و پژوهش از آن استفاده میشود، تحت مجوز GPL ارائه شد.
با گسترش این شیوه، خیل كسانی كه قادر به طراحی ICها بودند، به شدت رو به فزونی نهاد و مجموعهای از نرمافزارهای اتوماسیون طراحیِ توسعهیافته در محیط دانشگاهی، غالباً بركلی و استانفورد و البته برخی دانشگاههای اروپایی مانند Delft، ارائه شد. Magic برای طرحبندی، SIS و Espresso برای حداقلسازی طراحی منطقی، Ocean برای طراحی چیپهای Sea – Of – Gate (نوع خاصی از چیپها) و Olympus برای پیوندها.
همه این نرمافزارها تحت مجوز آزاد ارائه میشدند. به این ترتیب ،در یك دوره زمانی، نرمافزارهای دارای طراحی بسیار پیشرفته، نرمافزارهای آزاد بودند تا جایی كه اكنون نیز ابزارهای طراحی منبع بسته امروزی، شامل برخی از اجزای برنامههای مذكور هستند.
▪ موج سوم
وضعیت مطلوبی كه برای طراحی آزاد سختافزار به وجود آمده بود، چندان دوام نیاورد. در واقع در اوایل دهه نود میلادی موج دوم این جنبش دچار توقف شد. دانشگاهها به جای تولید نرمافزارآزاد كه میتوانست كاربرد تجاری نیز داشته باشد، یا به سمت توسعه نرمافزارها با بستن قرارداد با شركتهای طراح قطعات الكترونیكی گرویدند و یا برای تجاری كردن محصولات خود به تأسیس شركتهای خصوصی روی آوردند. (نرمافزارهای EDA منبع بسته، خارج از دسترس عموم و یا بخشی از یك محصول خاص شركتها بودند.)
گذشته از این امر، بازماندگان موج اول شاهد دگرگونی فناوری بودند؛ افزایش كوچكسازی، سرعتهای كلاك بالا، تخته مدارهای چاپی چند لایه، مدارهای مبتنی بر ICهای سفارشی و … همه باعث شد تا مصائب طراحیهای آزادی كه در مقابل نمونههای غیرآزاد منسوخ و كهنه جلوه نكنند، فزونی یابد. این عوامل سبب شد تا نیمه نخست دهه نود عصر تاریك جنبش سختافزار آزاد لقب بگیرد.
با تمام این احوال، بسیاری از طراحان راه خود را به صورت مستقل ادامه دادند و گروهی نیز سرگرم كار بر روی نرمافزار ۳EDA شدند. اما از اواسط دههنود و پس از وقوع تحولات فنی و اجتماعی آن زمان، جنبش سختافزار آزاد دوباره پا گرفت.
بهعنوان برخی از مهمترین دلایل این موضوع، میتوان بهموارد زیر اشاره كرد:
۱ – تغییر مقیاس IC ها
مقیاس ICها بهنحوی تغییر كرد كه Socها (System – On – chips) رواج گستردهای یافتند و تقاضا برای آنها بالا گرفت.
لی فلسن اشتاین
۲ – گسترش استفاده از FPGAها
استفاده از FPGAها امكان ساخت و تكمیل طرحهای پیچیده حتی بدون دسترسی به كارخانهها را فراهم میكند.FPGAها تقریباً تمام مشكلات طراحان دهه هشتاد را حلمیكنند. در حقیقت، همه گروههای طراح سختافزار آزاد، از برخی مزایای FPGA ها استفاده میكنند.
۳ – گسترش بازار سیستمهای embed
سیستمهایی در مقیاسی كه طراحان شخصی قادر به ساختن آن هستند. رایانه دیگر صرفاً یك جعبه بزرگ و داغ نیست، بلكه میتواند یك سیستم كوچك و ارزان با كاربرد خاص باشد.
۴ – گسترش اینترنت:
پوشش جهانی شبكه اینترنت و گسترش بیحد و حصر آن باعث شد تا طراحی سختافزار آزاد به ایالات متحده، اروپا و یا انگلیسی زبانها محدود نباشد.
۵ – پررنگ شدن نقش جنبش نرمافزارآزاد در صنعت رایانه و حضور تأثیرگذار، ثابت و پایدار جامعه نرمافزارآزاد به عنوان الگویی عملی برای طراحی سختافزار آزاد.
در حال حاضر یكی از فعالترین گروههای حامی سختافزارآزاد، Opencores نام دارد. از سال ۱۹۹۸ پایگاهOpencores.org به عنوان پورتالی برای پروژه سختافزار آزاد با كاركرد تقریباً مشابه پایگاه sourceforg برای پروژه نرمافزار منبعباز مشغول فعالیت میباشد. Opencores بر روی پروژه توسعه مداراهای یكپارچه با كاربرد خاص یا ASICها متمركز كردهاست. هدف Opencores كمك به جامعه سختافزار برای تولید و انتشار طراحی هسته تحت یك مجوز خاص مشابه GPL است.
بهطور قطع، هر یك از عوامل مذكور در كنار حركتهایی چون Opencores، تأثیری مثبت و به سزا بر روند پیشرفت طراحی آزاد سختافزار داشته و دارند. اما شاید بتوان نقطه عطف این جنبش را حركت یكی از غولهای رایانه در این مسیر قلمداد كرد. IBM در سال ۲۰۰۴ میلادی اعلام كرد كه معماری پردازندههای خود موسوم به Power را به یك معماری باز تبدیلخواهدكرد.
IBM در ماه مارس سال ۲۰۰۴ میلادی كنسرسیومی به نام Power.org متشكل از ۱۵ شركت را معرفی كرد كه هدف آن، توسعه استانداردهای باز برای تراشهها و سیستمهای مبتنی بر معماریPower میباشد. ناول، ردهت و سونی از صاحب نامترین شركتهای عضو این كنسرسیوم هستند.
IBM با استراتژی به عنوان یكی از مهمترین پروژههای این ائتلاف، توسعه یك معماری مشترك مبتنی بر پردازندههای Power را برای سیستمهای گوناگون، از سیستمهای embedded تا main frame، هدف قرار داده است.
با باز شدن معماری پردازندهها، IBM این امكان را در اختیار دیگر توسعهدهندگان قرارمیدهد تا به طراحی وتولید تراشههایی دقیقاً منطبق با نیازهای خود بپردازند.
پرازندههای Power كه مبتنی بر معماری RISC میباشند، هماكنون كارایی بالای خود را در حوزههای مختلفی چون صنعت سرگرمی، تجهیزات embedded و سرورها نشان دادهاند. اما هیچ یك از اینها به معنای موفقیت قطعیIBM نخواهند بود.
زیرا فوجیستو و سان از مدتها قبل بخشی از معماری پردازندههای sparc را به صورت باز ارائه كردهاند. اما همچنان در جذب مشتریان بیشتر و تبدیل شدن به یكی از بازیگران اصلی این حوزه ناكام ماندهاند.
در مورد IBM نیز باید تا به ثمررسیدن تلاشهای توسعهدهندگان منتظر بود. IBM اعلام كرده است كه قصد دارد معماری پردازنده نسل جدید كنسول بازی سونی، Playstation۳، را كه محصول مشترك تلاشهای این دو شركت و توشیبا میباشد را به صورت باز ارائهكند.
علاوهبر نمونههای مطرحشده در موج نوین جنبش سختافزار آزاد، موارد متعدد دیگری نیز موجود و قابلذكر میباشد كه البته از حوصله این نوشتار خارج است. اما آنچه بیش از همه در این جا مورد تاكید قرار گرفته توجه به ماهیت اجتماعی این حركت و پیوند آن با دیگر تحولات فرهنگی است. استنتاج این واقعیت بر اساس ریشه ها وعلل تاریخی این جنبش میتواند به روشنی برخی از كاركردهای آن را نمایان سازد و سمت وسوی بخش پیموده نشده این راه را به تصویر بكشد. البته مسلم ایناستكه پیشبرد و تحقق اهداف این جنبش، مستلزم درك صحیح شرایط و نیازها، ارائه تعاریفی دقیق و شناخت چالشهای پیش روی آن است.
شاید برای بیان تعریفی دقیق و جامع از سختافزار آزاد نیاز باشد كه این جنبش به شكلی گستردهتر و از زوایای مختلف مورد بحث و بررسی قرار گیرد. با این حال نگاهی به چرایی شكلگیری این جنبش و همچنین پیشزمینه ذهنیای كه در مورد نرمافزارهای آزاد و منبع باز وجود دارد، به ارائه دو تعریف كلی در این مورد منجر شده است. كه در ادامه آورده میشود.
۱ – سختافزار با طراحی آزاد (Free Hardware Design)
طراحی آزاد سختافزار بر طراحیای دلالت دارد كه به طور آزادانه قابل نسخهبرداری، توزیع، تغییر و تولید است. مسلماً این تعریف به معنای غیرقابل فروش یا بدون هزینه بودن پیادهسازی سختافزاری كه دارای چنین طراحی است نخواهد بود.
۲- سختافزار اپنسورس (Open Source Hardware)
سختافزار اپنسورس یا منبع باز به سختافزارهایی اطلاق میشود كه همه اطلاعات طراحی آن در اختیار عموم قرارمیگیرد. سختافزار منبعباز میتواند بر مبنای یك طراحی آزاد سختافزار و یا یك طراحی دارای برخی محدودیت باشد.
پیش از ادامه این موضوع ضروری است به عبارت سختافزار باز (Open Hardware) نیز اشاره كنیم. <سختافزار باز> یك عبارت تجاری ثبت شده متعلق به شركت debian است و مدلی خاص و محدود از سختافزار منبعباز شمرده میشود. لازمه اطلاق <سختافزار باز> به یك سختافزار این است كه اولاً باید مستندات كافی یك وسیله در اختیار برنامهنویسی كه قصد نوشتن درایور برای آن را دارد قرار گیرد. ثانیاً این مستندات باید كلیه ویژگیهای اینترفیس درایور وسیله كه ممكن است هر كاربری مایل به استفاده از آنها باشد را دربربگیرد.
بنابراین تعریف، غیر از مواردی كه فراهم كردن امكان نوشتن یك درایور برای وسیله ضرورت دارد، نیازی به اعلام جزئیات on-board firmware و پیادهسازی سختافزار نیست. بنابراین در این تعریف اطلاعات محدودی از یك سختافزار باز در دسترس قرار خواهد گرفت كه میتواند در مواردی (مثلاً زمان تعمیر یك قطعه) ناكافی باشد.
برگردیم به تعاریف اصلی. همانطور كه اشارهشد، در مورد سختافزار با طراحی آزاد، موضوع بدون هزینه بودن استفاده و پیادهسازی آن مطرح نیست. به همین دلیل گروهی به جای استفاده از واژه Free از لغت Libre استفاده میكنند تا به روشنی نشان دهند كه در اینجا موضوع آزادی مطرح است، نه رایگان بودن.
در این میان عبارت سختافزار آزاد یا Free hardware كه گاهی به عنوان مترادف سختافزار منبعباز به كار برده میشود نیز به واسطه همان موضوع تعدد معانی واژه Free در زبان انگلیسی و شباهت لغوی آن با <نرمافزار رایگان> میتواند به این اشتباه دامن بزند. مشابه این موضوع در دنیای نرمافزار نیز مطرح است.
۱- واژه معمولاً به معنای شادكننده و مسرتبخش بهكار میرود كه شاید در اینجا منظور نویسنده كتاب ابزارهایی است كه میتوانند سودمندی خود را از طریق تاثیر عمومی و فراگیر خود در اجتماع نمایان سازند. بهعنوان مثال یك رسانه آزاد میتواند چنین ابزاری تلقی شود.
۲- TTLهاگروه خاصی از مدارهای دیجیتال هستند كه بهطور گسترده در ابزارهای الكترونیكی متنوع مورد استفاده قرار میگیرند.
۳- نرمافزارهای EDA نرمافزارهای خاصی هستند كه برای طراحی قطعات الكترونیكی، مورداستفاده قرارمیگیرند.