به بهانه ده سالگی لاگ تهران
تهلاگ و سوسیالیسم نرم‌افزاری

گاهی اوقات بعضی مفاهیم را سخت می‌توان برای دیگران توضیح داد. برای کسانی که سال‌هاست از نرم‌افزارهای انحصاری مانند ویندوز و مک و غیره استفاده می‌کنند و هربار که برنامه‌ای را دانلود می‌کنند به دنبال کرک آن و دور زدن حقوق مولف‌اش هستند، دشوار است واژه‌ای به نام «لاگ» را توضیح دهی یا از جمع‌های متن‌باز سخن بگویی. به بسیاری از افراد حتی متخصص در حوزه نرم‌افزار سخت می‌توان فهماند که در تهران عده‌ای از ده سال پیش کنار هم جمع می‌شدند و مثل اینکه مدت‌ها بوده همدیگر را گم‌کرده باشند با هم قرار می‌گذاشتند تا با عطش وصف‌ناپذیری از علاقه‌شان به دسته‌ای از نرم‌افزارها صحبت کنند. سخت‌تر آن است که بگوییم این گروه ده سال یک نفس دوام آورد، آدم‌ها می‌رفتند و می‌آمدند و این عطش سر جایش بود عده‌ای که نوجوان بودند جوان می‌شدند و به دنبال این عطش به این گروه می‌پیوستند. علت این عطش و این دوام را می‌توان از ابعاد مختلفی بررسی کرد.

نخست آنکه نرم‌افزار آزاد شما را وادار می‌کند یک مصرف کننده صرف نباشید. وقتی که در اولین روزهای آشنایی با جهان متن‌باز به دنبال حل مشکلاتتان می‌گردید و مشاهده می‌کنید عده زیادی تجربیات خود را با شما در میان گذاشته‌اند و عده‌ای روزانه ساعت‌ها وقت می‌گذارند تا مشکلات تازه‌کارها را حل کنند. ناخواسته بعد از مدتی که در دنیای متن‌باز خبره شدید شما هم به یکی از این کاربرانی تبدیل می‌شوید که دوست دارید دست دیگران را بگیرد و این چرخه بی‌انتها ادامه پیدا می‌کند و علت این است که این تفکر از بنا داوطلبانه پایه‌ریزی شد.

دوم احترام متقابل است. نرم‌افزار آزاد به چشم یک مشتری به شما نمی‌نگرد. بنابراین شما هم به چشم یک فروشنده به آن نگاه نمی‌کنید. در حالی که مایکروسافت و اپل و آدوبی و دیگران همواره به چشم مشتری به شما نگاه کردند. شما گاهی خوشحال بودید که با زیرکی و تلاش توانستید آخرین نسخه فوتوشاپ را دانلود کنید و این اواخر از اینکه مایکروسافت برای ویندوز غیر اصلتان به روزرسانی فرستاد لذت بردید. در حالی که در جهان متن‌باز شما همیشه کاربر قابل احترام این اکوسیستم باقی می‌مانید هیچ‌کس از روز اول حق نداشته سرویسی را بر شما محدود کند. شما از خدمات استفاده می‌کنید چون خدمات برای کسی نیست و هرکس بر روی شانه‌های نفر قبل ایستاده است. در حقیقت هیچ‌کس مالک نرم‌افزارهای آزاد نیست و همه مالک نرم‌افزارهای آزاد هستند.

سوم آنکه شما در این اکوسیستم یک کالا نیستید. پس رفتاری کالاگونه هم ندارید. بنابراین عجیب نیست اگر در ده سالگی تهلاگ بدون اینکه سودی در میان باشد با مراسمی مواجه شوید که در آن حدود ده نفر رایگان دانش خود را در اختیار دیگران می‌گذارند و جدی‌ترین و با کیفیت‌ترین کارگاه‌ها را برگزار می‌کنند. در این مسلک، آزادی دانش یک اصل است فریاد نخست بنیان‌گذار آن این بود که نباید با بستن کد جلوی پیشروی دانش نرم‌افزار را بگیریم.

شاید بتوان برای این رفتار نام سوسیالیسم نرم‌افزاری را برگزید. با این تفاوت که بر آمده از دل جامعه است نه از دل حکومت و همه چیز داوطلبانه انجام می‌شود نه با زور. یک جامعه سوسیالیتی پایدار با تمام سودهایش و به دور از تمام زیان‌هایش. شرایطی که فرد در خدمت جامعه است چون از خدمت دیگران استفاده می‌کند و خدمتش در چرخش روزگار و سوار بر امواج خروشان جامعه دوباره به سمت خودش بر می‌گردد.

نوشته شده برای شماره ۲۷ ماهنامه پیوست (فیدیبوجار)

 

تنها یک دلیل برای استفاده از نرم‌افزار آزاد: احترام متقابل

حدودا دو ماهی می‌شود که بعد از سال‌ها از اپن‌سوزه به مینت مهاجرت کردم. یعنی مدت‌ها بود توزیعی که بتواند من را قانع کند که عادت‌هایم را در اپن‌سوزه کنار بگذارم پیدا نمی‌کردم تا اینکه آن گمگشته را یافتم. خواستم نوشته‌ای درباره مینت و تجربه کاربری که این مدت از آن به دست آوردم بنویسم دیدم شاید کسی باشد که اصلا نداند لینوکس چیست و به چه دردی می‌خورد. یاد دوران نوجوانی خودم افتادم که چطور با ولع نوشته سایت‌ها را زیر و رو می‌کردم تا مطلبی درباره لینوکس می‌دیدم با اشتها آن را می‌خواندم و هربار دوست داشتم کسی آن را جامع‌تر و کامل‌تر به من تفهیم کند. برای همین فکر کردم اگر دوست نوجوانی احیانا اینجا را می‌خواند یا از طریق جستجو به اینجا رسیده حقش است که یک مطلب جامع را ببیند. برای همین در ۳ نوشته به تشریح این موضوع می‌پردازم. در این نوشته از نرم‌افزار آزاد صحبت می‌کنیم و در نوشته بعدی از گنو/لینوکس.

نرم‌افزار آزاد
نرم‌افزار آزاد

 

نرم‌افزار آزاد چیست؟

هر نرم‌افزار رایانه‌ای از ده‌ها، هزاران یا میلیون‌ها خط کد (متناسب به ابعاد برنامه) تشکیل شده است. بعضی‌ها تصمیم می‌گیرند این کدهایی که نوشته‌اند را بفروشند بعضی‌ها ترجیح می‌دهند از راه‌های دیگری پول کسب کنند. آن‌هایی که می‌خواهند کدها را بفروشند طبیعتا باید جلوی دسترسی و آگاهی از کدها را بگیرند و به نوعی متن برنامه را ببندد. یعنی نگذارند کسی به کدها نگاه کند که احیانا شبیه‌اش را نسازد. این همان کاری است که اپل و ماکروسافت در زمینه سیستم‌عامل‌هایشان انجام می‌دهند یعنی شما هیچ وقت متوجه نمی‌شوید وقتی ویندوز مشکلی پیدا می‌کند اشکال از کدام کدها است و چه اتفاقی زیر آن پوسته در حال رخ دادن است. آن‌ها به شما اجازه نمی‌دهند از درون سیستم‌عامل و نرم‌افزارهایی که از آن‌ها خریده‌اید باخبر شوید یا آن‌ها را مطابق نیاز خود تغییر بدهید.

در مقابل گروه دیگر معتقد هستند که نباید دسترسی کاربران را بر روی کدهای برنامه بست زیرا وقتی شما محصولی را به کسی فروختید باید به او اجازه بدهید هر طور که می‌خواهد از آن استفاده کند و به هر گوشه‌ای از آن که می‌خواهد سرک بکشد و دسترسی داشته باشد. به عقیده این گروه شرکت‌هایی مانند اپل، ماکروسافت، آدوبی، اوراکل، سیمانتک و… که دسترسی به کدهای برنامه‌های خود را می‌بندند در حقیقت همچون سدی در مقابل پیشرفت علم نرم‌افزار ایستاده‌اند و اجازه نمی‌دهند دیگران با محصولات آن‌ها نرم‌افزارهای بهتری به دنیا عرضه کنند. برای همین مفهوم نرم‌افزار آزاد را به وجود آوردند و چهار حق را برای کاربر در نظر گرفتند که طبق آن:

کاربران باید اجازه داشته باشند که نرم‌افزار مورد نظر را برای هر قصد و منظوری اجرا کنند.

کاربران باید اجازه داشته باشند نرم‌افزار را مطابق با نیازهای خود تغییر دهند. برای رسیدن به این هدف، کدهای منبع نرم‌افزار باید در اختیار کاربر قرار گیرد.

کاربران باید اجازه داشته باشند نرم‌افزار را مجدداً منتشر کرده و در اختیار دیگران قرار دهند. این کار می‌تواند به صورت رایگان و یا در ازای دریافت مبلغی پول صورت گیرد.

اگر کاربری نرم‌افزار را تغییر داد، باید اجازه داشته باشد آن را مجدداً اما تحت همان لایسنس آزاد منتشر کرده و در اختیار دیگران قرار دهد. (در مورد نرم‌افزارهای کپی‌لفت، لازم است تا کدهای منبع نرم‌افزار تغییریافته نیز در اختیار کاربران دیگر قرار گیرد)

اصلی‌ترین علت استفاده از نرم‌افزار آزاد

مهم‌ترین دلیل برای استفاده از گنو/لینوکس و در کل نرم‌افزارهای آزاد این است که فرهنگ و فلسفه آزادی نرم‌افزار به شما احترام می‌گذارد یعنی شما برده‌اش نیستید. شما می‌توانید یک نرم‌افزار آزاد را ویرایش کنید و آن را به هرکسی که می‌خواهید بدهید. شما از نظر قانونی مجرم به حساب نمی‌آیید و شرکت تولید کننده به شما به چشم یک کاربر نگاه می‌کند نه یک دزد. هنگامی که از نرم‌افزار آزاد استفاده می‌کنید لازم نیست دست به عمل خبیث کرک کردن بزنید و سعی کنید قفل برنامه را بشکنید. لازم نیست بگویید از چه کشوری هستید. بهترین و باکیفیت‌ترین نسخه برنامه در اختیار شماست و شما به راحتی از آن استفاده می‌کنید. این احترام اصلی‌ترین دلیلی است که باعث می‌شود من از نرم‌افزارهای آزاد استفاده کنم. در کنار اینکه معتقدم فلسفه نرم‌افزارهای آزاد در حقیقت جنبشی است برای حرکت به سمت یک آرمان شهر نرم‌افزاری. آرمان شهری که شما کنترل نرم‌افزار را به دست می‌گیرید نه پادآرمان شهری که نرم‌افزارها کنترل شما را در دست گرفته‌اند. حتی اگر کار کردن با این نرم‌افزارها سخت و وقت‌گیرتر هم باشد (که در بسیاری موارد برعکس است) این فلسفه‌های دوست داشتنی و این اهداف محکم باعث می‌شود تا اگر یک سمت نرم‌افزار آزاد بود و در سمتی دیگر نرم‌افزار انحصاری به سمت نرم‌افزار آزاد بروم.

جشنواره لینوکس امیرکبیر: دو روز تزریق پنگوئن

هجدهم و نوزدهم اردیبهشت ماه امسال نیز مانند سال‌های گذشته دانشگاه امیرکبیر میزبان یکی از جدی‌ترین گردهمایی‌های لینوکسی بود. جشنواره لینوکس امیرکبیر که نمی‌دانم چرا، اما مثل خیلی از ادا و اطوارهای دیگر این ممکلت، پیش وند «ملی» را با خود یدک می‌کشید در حالی که راه خیلی درازی برای رسیدن به چنین جایگاهی دارد. در این دو روز قرار بود که در دو سطح مبتدی و پیشرفته افراد با لینوکس و ابزارهای گنو/لینوکس آشنا شوند.

خود خود لینوکس

جشنواره لینوکس امیرکبیر
جشنواره لینوکس امیرکبیر

راس ساعت ۹:۲۰ مراسم با بیست دقیقه تاخیر شروع شد و بعد از تشریفات همیشگی، بهادر بخشی استادیار دانشگاه امیرکبیر ارائه خود درباره تاریخچه لینوکس را شروع کرد. ارائه کاملی که جزئیات کمتر شنیده‌ شده‌ای را درباره پیدایش این سیستم عامل دوست داشتنی برای ما بازگو کرد و باعث شد چیزهای جدیدی درباره تولد این سیستم عامل و سیستم‌عامل‌های دیگر یاد بگیریم. به عقیده ایشان :«اگر قصد ادامه تحصیل در مقطع دکترای کامپیوتر را دارید حتما باید لینوکس بلد باشید.» آن لحظه این را در ذهنم مقایسه کردم با اینکه مدتها پیش یکی از دانشجوهای دکترای هوش مصنوعی‌ دانشگاه شاهرود از نصب سیستم عامل ویندوز عاجز بود و با خودم گفتم: البته که ظاهرا تعریف دکتر در این کشور چیز دیگری است!

بعد از این معرفی کوتاه شرکت کنندگان دو دسته شدند، عده‌ای به کارگاه‌های تخصصی رفتند و عده‌ای به کارگاه مبتدی تا با توزیع اوبونتو و نحوه نصب آن آشنا شوند. در بخش تخصصی که کرنل نام داشت و من هم در آن بودم باز هم بهادر بخشی مجلس را در دست داشت.  در این کارگاه اول مفاهیم ابتدایی سیستم‌عامل و فایل سیستم‌ها توضیح داده شد سپس نحوه کار با فرآیندها، انواع آنها و مانیتور کردن‌شان بررسی شد. حرف‌های خوبی زده شد و ابزارهای جالبی معرفی شد که خیلی هم تخصصی نبودند و با سطح دانش متوسط من قابل فهم بودند. بعد از آن به بررسی این پرداختیم که واقعا هسته چگونه با سخت افزار ارتباط برقرار می‌کند و چگونه یک داده از سخت افزار را گرفته و پردازش می‌کند. لاگ‌های هسته را بررسی کردیم و اینکه با چه ابزاری می‌توانیم اتفاقات بین سخت‌افزار، درایور ها و هسته را زیر نظر بگیریم. سورس یک نسخه از هسته را برداشته، بازش کردیم و سعی کردیم با بررسی فایل‌های درون آن تا حدودی از ساز و کارش سر در بیاوریم. بررسی کردیم که ماژول‌ها چه ارتباطی با هسته دارند و چگونه وقتی ماژول‌ها روی هارد دیسک است و هنوز ماژول هارد دیسک اجرا نشده می‌توانیم سیستم را بالا بیاوریم و تقش initrd در این میان چیست.

در نهایت هم تصمیم گرفتیم کمی هم دست به خاک ببریم. وقت تنظیم و کامپایل هسته بود، بنابراین با استفاده از کانفیگی که روی دستگاه‌مان وجود داشت متن هسته را کامپایل کردیم و سپس ماژول‌ها را نصب کردیم. تمام این کارها با توضیحات و جزئيات دیگر تمام زمان روز اول را به خود اختصاص داد و از ساعت یازده صبح تا شش عصر سعی شد که با هسته لینوکس بیشتر آشنا شویم.
هرچند وقتی به خانه رسیدم و لپ تاپم را باز کردم هنوز در حال کامپایل هسته بود. این کار آنقدر طول کشید که در نهایت با یک کنترل سی عطایش را به لقایش بخشیدم.

خستگی

روز دوم یعنی جمعه، در حالی که هنوز خستگی پنج شنبه در بدنم باقی مانده بود به سختی از خانه بیرون آمدم و راهی دانشگاه شدم. امروز قرار بود در بخش تخصصی دو کارگاه شبکه و امنیت برگزار شود و در سطح مبتدی (که حالا به متوسط رسیده بود) آموزش‌های سیستم‌عامل و نحوه کار با خط فرمان ادامه پیدا کند.

در این بخش، اول مفاهیم شبکه توضیح داده شد و سپس چندین ابزار پایه مانند route, traceroute , … معرفی شد و بعد کمی از ابزار برنامه نویسی scapy گفته شد و من دائم حسرت می‌خوردم که چرا موقع درس دادن این چیزها را به ما نگفتند که ما بفهمیم پشت این همه تئوری چه خوابیده است. بعد هم سعی کردیم که یک سرور DNS راه اندازی کنیم.

نمی‌دانم از خستگی مفرط من بود یا کیفیت پایین کارگاه امنیت. اما هر چه بود کارگاه هک و امنیت قابل مقایسه با برنامه‌های پیش نبود. اول کمی از تنظیمات فایروال گفتند بعد سعی کردند بین دو کامپیوتر SSH برقرار کنند که نشد و آخر هم با هک همیشگی و بی‌نمک رمز وایرلس WEP همه چیز تمام شد. هرچند ابزارهای جالبی از توزیع کالی برای نفوذ به سیستم معرفی شد که کمی از بی خاصیتی این چند ساعت کم کرد.

آخر همه این‌ها هم باید از دانشکده و انجمن فعال کامپیوتر و فناوری اطلاعات امیرکبیر تشکر کرد که حداقل کمی به فکر چنین رویدادهایی است و تا کنون شش سال است که جشنواره لینوکس  برگزار کرده.

بین خودمان بماند اما آخرش آن‌قدر خسته بودم که تصمیم گرفتم دیگر نه در کارگاه ده ساعته‌ای شرکت کنم نه خودم چنین برنامه‌های فشرده‌ای را برگزار کنم. شاید به جای اینکه هر سال دو روز این چنین فشرده کارگاه‌هایی برگزار شود بهتر بود که در طول سال آهسته و پیوسته این پنگوئن دوست‌داشتنی را به دیگران معرفی کنیم.

نامربوط: بخش خنده دار قضیه هم اینجا بود که هیچ کدام از اساتید گرامی از لینوکس استفاده نمی‌کردند. همه بدون استثنا، اسلاید‌ها را روی ویندوز نشان می‌دادند و لینوکس را به صورت مجازی بالا آورده بودند!

وبگاه جشنواره

بخوانید:

روز آزادی نرم‌افزار ، در حسرت یک همایش واقعی

گنو لینوکس را دوست دارم چون آموخت از تغییر نترسم

 

گنو لینوکس را دوست دارم چون آموخت از تغییر نترسم

از بایگانیگنو لینوکس

این بار نمی‌خواهم از برتری‌های فنی و امکانات فوق‌العاده و در عین حال بی‌ارزش و سطحی گنو لینوکس نسبت به ویندوز بگویم. این بار می‌خواهم از چیزی به مراتب مهم‌تر صحبت کنم. از چیزی که در مقابل تمام ویژگی‌هایی که تا به امروز از این سیستم‌عامل برده شده با ارزش‌تر است.

ما انسان‌ها در دنیایی پر از ترس بزرگ می‌شویم. پدر و مادرمان ما را از کودکی با این ترس‌ها انس می‌دهند چون وقتی کودک بودند خودشان با این ترس‌ها انس گرفتند. دنیایی که در آن می‌ترسیم پا را از قوانین و پیش‌فرض‌ها فراتر بگذاریم. می‌ترسیم به چیزهایی غیر از همه چیز فکر کنیم (این خیلی مهم است اینکه بتوانی فراتر از همه‌ی چیزهایی که برایت وجود دارد فکر کنی) و در خیلی مواقع می‌ترسیم «فکر» کنیم. خیلی‌ها در این دنیا باقی می‌مانند و دهه‌ی سوم زندگیشان که می‌گذرد آن ترس‌ها را هم به کلی فراموش می‌کنند. با پیش‌فرض‌هایی که دیگران و گذشتگان برایشان به وجود آوردند خو می‌گیرند و بدون اینکه دلیل خیلی‌ از آنها را بدانند در آنها غرق می‌شوند.

در این دنیای ترسناک کمترین چیزی که بوی تغییر بدهد ارزشمند است. در این دنیا کوچکترین چیزی که به ما جرات تغییر بدهد مقدس است. من گنو لینوکس را دوست دارم چون یکی از اولین اتفاقاتی بود که در آن دوران توجوانی به من جرات تغییر داد. به من جرات داد به سمت چیزی بروم هیچ کدام از آدم‌های اطرافم به سمتش نرفته بودند و حتی تا به حال درباره‌ی آن صحبت نکرده بودند.  به من جرات داد تا پا به دنیای ناشناخته‌ها بگذارم و با مفاهیم پیچیده‌ی جدیدی آشنا شوم.
گنو لینوکس به من جرات داد تا مثل بقیه نباشم و من مثل بقیه نبودن را دوست دارم. حاضرم در راهی که می‌روم هزاران سختی و مصیبت بکشم اما مثل بقیه نباشم باشم. همین برایم بس است.