داستان سخت افزار آزاد - از کجا شروع کنیم؟

در مطلب پیشین، داستانی رو پیرامون نرم افزار آزاد تعریف کردم و اون رو به سخت افزار آزاد رسوندم. در انتهای مطلب پیشین، قول داده بودم که یک پروژه آموزشی شروع کنم و به شما در مورد طراحی سخت افزار آزاد انتقال تجربه کنم. پیش از این که ادامه این مطلب رو بخونید، اگر مطلب پیشین رو نخوندید توصیه می‌کنم که اون رو بخونید : https://virgool.io/@haghiri75/wtf-is-open-hardware-ddfmknbvhx1m و حالا، وقت این رسیده که به سراغ سخت افزار آزاد بریم و ببینیم که اصلا چی نیاز داریم؟ چی باید براش یاد بگیریم؟ چی باید بخونیم و ... . این روزها اگر در اینترنت به دنبال مطالب آموزشی کامپیوتر باشید، احتمالا چند تاپیک رو بیش از دیگر تاپیک‌ها در نتایج خودتون می‌بینید. توسعه نرم افزار برای گوشی های همراه (اندروید و iOS)، توسعه فرانتند، توسعه بکند (معمولا جنگو) و در نهایت یادگیری ماشین و یا یادگیری عمیق. اما برای موضوعی مانند سخت افزار، حتی در منابع انگلیسی‌زبان هم نمی‌شه آموزشهای درست و حسابی پیدا کرد. بهرحال، یه جاهایی یه چیزایی از آموزشش صرف نظر میشه تا به عبارتی بازار کار بهتر راهبری بشه. اما بهرحال دنیای کامپیوتر، بسیار پیچیده و گسترده‌تر از چیزیه که فکر می‌کنیم. این سری مطالب که من خواهم نوشت، یک گوشه کوچک از این دنیا رو پوشش خواهد داد. قبل از مطالعه مطلب، چه بخونیم؟قبل از این که ادامه این مطلب رو بخونید، به نظرم بهتره که کمی با تاریخچه کامپیوتر آشنا بشیم. قبل‌تر در یکی از پست‌های وبلاگ شخصی خودم در موردش نوشته بودم. ضمن این که این مطلب میتونه به کسایی که به زودی وارد دانشگاه میشن هم کمک کنه : http://haghiri75.com/?p=1485 بعد از مطالعه مطلب فوق، شما احتمالا کمی ایده از این که در سری مطالب «داستان سخت افزار آزاد» چه چیزی یاد خواهید گرفت؛ خواهید داشت. اما این همه چیز نیست. بهتره که کمی در مورد معماری کامپیوتر هم تحقیق کنید. پیش‌تر هم این مطلب رو در مورد معماری کامپیوتر نوشته بودم : https://virgool.io/@haghiri75/%D8%AA%D9%81%D8%A7%D9%88%D8%AA-%D9%85%D8%B9%D9%85%D8%A7%D8%B1%DB%8C-%D9%88-%D8%B3%D8%A7%D8%B2%D9%85%D8%A7%D9%86-%DA%A9%D8%A7%D9%85%D9%BE%DB%8C%D9%88%D8%AA%D8%B1-bxbnb7u2czei بسیار خوب، بعد از خوندن دو مطلب بالا، شما براحتی میتونید به خوندن این مطلب و سری «داستان سخت افزار آزاد» بپردازید. این سری مطالب، برای چه کسانی است؟خب در نگاه اول شاید این سری مطالب، برای کسایی باشه که میدونن کامپیوتر چیه یا حتی در هنرستان و دانشگاه کامپیوتر خوندند. اما اینطور نیست. در این سری، سعی دارم که صرفا آموزش بدم که سخت‌افزار در کل چیه؟ سخت‌افزار آزاد چیه و یک نمونه هم پیاده‌سازی کنم. در واقع، مهم نیست که تحصیلاتتون چیه، چه مقطعی هستید یا اصلا تحصیلاتتون مرتبط بوده یا نه. همین که علاقه داشته باشید و بتونید چهار عمل اصلی رو انجام بدید، کافیه که بتونید این سری رو بی‌مشکل بخونید. چه چیزی در این سری پوشش داده خواهد شد؟به طور کلی این موارد رو در ذهن دارم که در این سری مطالب پوشش بدم : ریاضیات گسسته و مدار منطقی (با کمک ریاضیات پایه‌ای که همه بلدند) پیاده سازی مفاهیم منطقی به کمک گیت های منطقی پیاده سازی اجزای کامپیوتر به کمک گیت های منطقی پیاده سازی یک کامپیوتر ساده به کمک گیت های منطقی معرفی و توضیح الکترونیک دیجیتال معرفی و توضیح اجزایی که به کمک الکترونیک دیجیتال میسازیم پیاده سازی پروژه‌های ساده به کمک سخت افزارهای آزاد موجود و در آخر، پیوستن به تیم های توسعه سخت افزار آزاد و چگونگی کمک به اونها. هنوز پیش‌نویسی برای این سرفصلها تهیه نکردم که در هر بخش دقیقا چه چیزی رو توضیح بدم، اما خب اینا توی ذهنم بود. شاید بعضی‌هاش در حد یک ویرگول تمام شه، بعضی هاش چندین قسمت طول بکشه. ضمن این که من قبل تر در این کتاب : http://haghiri75.com/?p=1296 پروژه مشابهی رو انجام داده بودم، اما دو مشکل داره : به زبان انگلیسی نوشته شده زمانی که به فصل الکترونیک دیجیتال رسیدم دیگه خسته شده بودم و نمی‌تونستم چند فصل هم برای اون وقت صرف کنم. پس در این سری، این دو مشکل هم سعی می‌کنم حل کنم. در پایان هم، از همه خوانندگان میخوام که در بخش نظرات، نظرات و ایده‌های خودشون در مورد این سری مطالب رو باهام به اشتراک بذارن تا پیش‌نویس های بهتری تهیه کنم :)