بایگانی برچسب: s

مایکروسافت توسعه ویندوز رو به گیت منتقل کرد

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

این سوییچ به گیت توی مایکروسافت تقریبا ۳ ماه طول کشیده و در طولش دولوپرها کم کم به گیت اومدن تا مطمئن بشن که همه چیز درست پیش خواهد رفت. در حال حاضر ۳۵۰۰ نفر از ۴۰۰۰ دولوپر ویندوز، روی گیت کار می کنن و وندورهای گیت مثل اتلسین، تاور و گیت کراکن در حال هماهنگ کردن ابزارهاشون با ویرچوال فایل سیستم گیت مایکروسافت هستن.

لحظه ای جالب در دنیای امنیت: کنگره آمریکا به سیگنال سوییچ کرد

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

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

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

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

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

برای نجات اینترنت آزاد، جلوی این پیشنهاد محدود کننده بایستید #DialUp

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

یازده روی دیگه پیشنهاد فنی ای در دستور کار قرار می‌گیره که با اضافه کردن DRM به براوزرها، به توزیع کننده های ویدئو امکان ایجاد محدودیت های زیادی می ده. مشکل ما با DRM یا همون «جنبش محدود سازی»‌ که البته طرفدارهاش بهش می گن «مدیریت حقوق دیجیتال» در دو نکته است:

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

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

درسته که چیزی که ما بهش تو ایران می گیم «وب» بسیار محدودتر از این حرف ها است ولی تفاوت این ماجرا و شرایط ما در اینه که شرایط ما، ویژه ما است و کاملا منطقه ای و دوره ای ولی مسائلی مثل EME و PIPA و غیره، کلیت وب در طولانی مدت رو دچار نقصی جدی خواهند کرد که بعدا رفع کردنش بسیار سخت خواهد بود.

«(تقریبا) همه چیز را بازمتن کنید» مقاله‌ای خوب از تام پرستون-ورنر

اشاره: متن پیش رو برگردان پستی است که Tom Preston-Werner در وبلاگش با عنوان Open Source (Almost) Everything منتشر کرده و به جهت اهمیت مطلبی که در آن بیان کرده، نظیر ترس کسب‌وکارها از منبع باز کردن محصولات‌شان، مرور آن ضروری می‌نماید. او در این نوشته توضیح می‌دهد که چرا و چگونه بر ترس متن‌باز کردن نرم‌افزارهای‌شان غلبه کرده و به سمت ایجاد کسب‌وکاری بر مبنای نرم‌افزارهای متن‌باز حرکت کردند. این متن را امیرپوریا مهری ترجمه کرده و من در جادی.نت بازنشرش می‌کنم. شاید من در مورد جزییات یا حتی استفاده از عباراتی مثل «بازمتن» در مقابل «آزاد» نظرات متفاوتی داشته باشم ولی در کل خوندن این مطلب بسیار راهگشا است.


tom

در اواخر سال ۲۰۰۷، من و کریس (Chris Wanstrath) شروع به کار بر روی گیت‌هاب کردیم، کار به دو قسمت تقسیم شد: کریس بر روی توسعه‌ی برنامه‌های Rails متمرکز بود و من روی Grit کار می‌کردم که نخستین Git‌ نوشته شده بر پایه‌ی Ruby بود. پس از شش ماه توسعه، Grit به اندازه‌ی کافی آماده بود تا قدرت‌بخش گیت‌هاب شود و سایت را به انتشار عمومی دربیاوریم. در همین حال ما با سوال جالبی مواجه شدیم:

بهتر است Grit را متن‌باز کنیم و یا این که کدهای آن را به صورت اختصاصی نگه داریم؟

اختصاصی نگه داشتن کدهای Grit در رقابت با سایت‌های میزبان Git‌که برپایه‌های Ruby نوشته شده‌اند، پرش بزرگی بود و می‌توانست مزیت رقابتی ما باشد. اما متن‌باز کردن آن به این معنا بود که هزاران نفر در سراسر جهان می‌توانند از آن برای ساختن ابزارهای Git مورد نظرشان استفاده کنند. در واقع با این کار یک اکوسیستم چالاک پیرامون Git تشکیل می‌شد.

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

چرا متن‌باز کردن (تقریبا) همه‌چیز این‌قدر هیجان‌انگیز است؟

اگر آن را به شیوه‌ی درست انجام دهید، کدهای متن‌باز تبلیغ بزرگی برای خود و شرکت‌تان خواهد بود. در گیت‌هاب دوست داریم درباره‌ی کتابخانه‌ها و سیستم‌هایی که کدهای آن را زده‌ایم و هنوز متن‌بسته‌اند، ولی تصمیم داریم آنها را متن‌باز کرده، به‌طور عمومی بحث کنیم. این شگرد چندین مزیت در خود دارد. از جمله کمک می‌کند تا تععین کنیم چه چیزی را باید متن‌باز کرده و اهمیت آن برای ما چقدر است تا در اولویت کاری انتشار قرار دهیم. ما اخیرا Hubot، چت‌بات‌مان را منبع باز کردیم؛ تا شمار زیادی را خوشحال کنیم. در عرض دو روز ۵۰۰ نفر در گیت‌هاب به بررسی آن پرداختند و ۴۰۹ رای مثبت در وب‌سایت Hacker News نصیب این برنامه شد. این کار نزد مردم به حسن‌نیت گیت‌هاب ترجمه می‌شود و موجب افزایش شمار طرافداران دو‌آتشته برای ما شد.

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

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

اگر به دنبال استخدام هستید، بهترین مصاحبه‌ی فنی ممکن، این است که اصلا صورت نگیرد؛ چرا که داوطلب پیش از این در یکی از پرو‌ژه‌های منبع باز شما دست برده است. هنگامی که برتری فنی در چنین مسیری تثبیت شود؛ تمام آنچه باقی می‌ماند، بررسی این است که آیا فرد به فرهنگ شرکت‌تان می‌خورد یا نه و سپس مرحله‌ی متقاعد کردن او تا برای‌تان کار کند. اگر آنها درباره‌ی کدهای متن‌باز-ای که نوشته‌اند مشتاق باشند؛ و شما از شمار شرکت‌هایی باشید که به کدهای تمیز اهمیت می‌دهد (که باید باشید) این فرایند (استخدام) باید ساده باشد. ما Vicent Martí را پس از این‌که کارهای درخشان او را روی کتابخانه ی libgit2 دیدیم، استخدام کردیم. پروژه‌ای که در گیت‌هاب رهبری‌اش می‌کنیم تا قابلیت‌های اصلی Git‌ را بر روی کتابخانه‌ی مستقل C ببریم. مصاحبه ی فنی نیاز نبود. Vicent مهارت‌های اش را از طریق کدهای متن‌باز-اش به اثبات رسانیده بود.

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

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

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

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

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

خب، پس چه موقع نباید نرم‌افزارم را متن‌باز کنم؟

ساده است، هر چیزی را که نشان‌دهنده‌ی ارزش اصلی کسب‌وکار شماست، نباید متن‌باز کنید. این‌جا تعدادی نمونه می‌آورم از چیزهایی که متن‌باز نکردیم و دلیل‌اش را هم می‌گویم.

  • هسته‌ی برنامه‌ی اصلی مبتنی بر Rails گیت‌هاب (وقتی متن‌بسته است راحت می‌توانید آن‌را بفروشید)
  • برنامه‌ی Jobs Sinatra (ساخته شد تا در گیت‌هاب دات کام ادغام شود)

این هم تعدادی نمونه از چیزهایی است که متن‌باز کردیم به همراه دلیل آن:

  • Grit (Git bindings همه منظوره، مفید برای ساختن ابزارها)
  • Ernie (BERT-RPC سرور همه‌منظوره)
  • Resque (job processing همه‌منظوره)
  • Jekyll (صفحه استاتیک‌ساز همه‌منظوره)
  • Gollum (ویکی اپ همه‌منظوره)
  • Hubot (چت‌بات همه‌منظوره)
  • Charlock_Holmes (character encoding detection همه منظوره)
  • Albino (syntax highlighting همه‌منظوره)
  • Linguist (filetype detection همه‌منظوره)

توجه کنید که هر چیزی را که متن‌بسته نگه داشتیم، ارزش کسب‌وکار (business value) خاص ما بود که می‌تواند با در دست رقبای‌مان قرار گرفتن، کسب‌وکارمان را به خطر بیاندازد. هر چیزی را که متن‌باز کردیم، ابزاری همه‌منظوره است که می‌تواند توسط عموم مردم و شرکت‌ها برای ساختن همه نوع چیزی استفاده شود.

مجوز درست حسابی کدام است؟

من مجوز MIT را ترجیح می‌دهم و تقریبا تمام چیزهایی که در گیت‌هاب متن‌باز کردیم با این مجوز منتشر شدند. من این مجوز را به چندین دلیل دوست دارم:

  • کوتاه است. هر کسی می‌تواند متن این مجوز را مطالعه کرده و بفهمد دقیقا چه می‌گوید بدون این‌که نیاز باشد با پرداخت حق مشاوره، وکلا را پول‌دارتر کند.
  • به اندازه‌ی کافی از کدنویس حمایت می‌کند تا مطمئن باشم اگر کد به درستی کار نکرد، از من شکایت نمی‌شود.
  • هر کسی پیامدهای قانونی مجوز MIT را می‌فهمد. مجوزهای عجیب-و-غریب مثل WTFPL و Beer تظاهر می‌کنند که در میان مجوزهای آزاد بهترین هستند، اما کاملا در این هدف شکست خورده‌اند. این مجوزهای حاشیه‌ای بیش از حد مبهم و غیرقابل اجرا هستند تا برای استفاده در شرکت‌ها قابل قبول باشند. در سوی دیگر، مجوز GPL‌ بیش از اندازه محدود شده و متعصبانه است تا قابل استفاده برای عموم کارها باشد. من می‌خواهم همه بتوانند از کدهایم بهره‌مند شوند، «همه». این چیزی است که از واژه‌ی «باز» و «آزاد» تداعی می‌شود.

خب، حالا می‌پرسید چگونه آغاز کنم؟

ساده است. به جای مخازن بسته، شروع به استفاده از مخازن متن‌باز عمومی گیت‌هاب کنید و درباره‌ی نرم‌افزارهایی که نوشته‌اید، از طریق وبلاگ، توییتر، سایت Hacker News و سایر رسانه‌های تاثیرگذار محلی‌تان تبلیغ کنید. سپس می‌توانید عقب نشسته، استراحت کرده و از سهیم بودن در جنبشی بزرگ لذت ببرید.

امیدی برای معلولین: پای مصنوعی اوپن سورس و قابل پرینت سه بعدی

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

3ddrako_foot1

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

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

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

انتخاب توزیع گنو/لینوکس مناسب سرور

create_distro

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

لینوکس تنوع داره دقیقا به این خاطر که آدم ها و نیازهاشون تنوع دارن. هر کس ممکنه از چیزی خوشش بیاد و چیزی براش بهتر باشه. جواب نهایی در این مورد وجود نداره!

خب قبول! ولی اکثریت نیازهای ما با چه چیزی جواب داده خواهد شد؟

اولین سوال: دب یا آر پی ام

اولین نکته در انتخاب یک توزیع برای سرور اینه که شما می خواین از مدیر بسته های دبیانی (فایل های deb و دستورات apt) استفاده کنین یا ردهتی (فایل های rpm و مدیر بسته های yum یا dnf). این تا حد زیادی یک سلیقه و تجربه شخصی است. اکثر ما روی دسکتاپ با توزیع‌های مبتنی بر دبیان (مثلا اوبونتو یا مینت) شروع می کنیم و در نتیجه روی سرور هم اونها برامون راحتتر هستن. در مقابل شرکت های بزرگی مثل اوراکل و ردهت و سوزه توزیع سرور خودشون رو مبتنی بر rpm عرضه می کنن و اگر وارد دنیای حرفه ای بشین، بیشترین چیزی که می بینین اینها هستن. این انتخاب بین rpm و deb قدم اول شما برای رسیدن به توزیع مورد نظر است و تفاوت عجیبی هم با هم ندارن. البته من شخصا در کارهای شخصی (مثلا وب سرور خودم) سیستم های مبتنی بر دبیان رو ترجیح می دم و در سیستم های تجاری اداری (مثلا بانک یا مخابرات) سیستم های rpm رو.

دبیانی‌ها

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

آر پی امی‌ها

مطمئنا رقیب بلامنازع دنیای rpm برای سرورها، ردهت و لینوکس rhel است ولی ردهت یک شرکت تجاری و آمریکاییه که نصب کردن و ساپورت و آپدیت صحیحش نیاز به اشتراک و غیره داره. من اگر بخوام روی یک سرور کار کنم که بعدا قراره تحویل کس دیگه ای بشه – بخصوص در حوزه صنایع و تجارت های بزرگ مثل بانک و مخابرات – حتما انتخابم نمونه آزادتر ردهت یعنی سنت او اس است. در حال حاضر سنت او اس ۷ آخرین و مرسوم‌ترین نسخه است.

بقیه لینوکس‌ها

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

آرچ؟!

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

یکی از بهترین نقاط قوت آرچ در دسکتاپ، یکی از اصلی ترین نقطه ضعف های اون روی سرور است: غلطان بودن. غلطان بودن؛

  1. غلطان بودن باعث می شه سیستم خطرناک‌تر آپدیت بشه. نمی گم آرچ غیرپایدار است ولی اصولا از یک سیستم غلطان نمی شه انتظار پایداری صد در صد داشت چون به هرحال بسته ها با سرعت به آخرین نسخه ها آپدیت می شن و خطر همیشه در کمینه!
  2. غلطان بودن باعث می شه شما مطمئن نباشین که سیستم روی چه نسخه ای از هر لایبری یا نرم افزار ایستاده. اگر من دبیان پایدار نصب می کنم می دونم که پی اچ پی من روی فلان نسخه است و تغییر هم نمی کنه ولی در یک سیستم غلطان در هر مورد باید با دست مشخص بشه که می خوایم فلان بسته در فلان نسخه باشه. این روی سرور خطرناکه چون ممکنه سازگاری نرم افزارها یا نیازهای زیرساختی اونها به نسخه های خاص رو به هم بزنه.

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

بی اس دی چی؟

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

نکته جایزه!

حالا که تا اینجا اومدین و نتیجه رو دیدین که به شکل عمومی دبیان استیبل، اوبونتو سرور LTS و سنت او اس گزینه های مرسوم برای نصب روی سرورها هستن، این رو هم اضافه کنم که بسیار از نرم افزارها و شرکت های تجاری مهم، لینوکس خودشون با تنظیمات ریز و دقیق خودشون رو به شما تحمیل می کنن. مثلا اگر برنامه انتقال اسمس رو از فلان شرکت لهستانی بخرین حتما به شما می گه که این برنامه باید روی سنت او اس ۶ و مای اسکوئل ۴ اجرا بشه چون اونجا تست و بررسی شده. معمولا در کارهای حرفه ای اینطوری نیست که شما یک سیستم عامل رو کاملا مستقل از برنامه های روش انتخاب و نگهداری کنین. من توی آفریقا با زیمنس کار می کردم و تقریبا همه سرورها، گنو/لینوکس سوزه بودن؛ چرا؟ چون آلمانی است و شریک استراتژیک شرکت زیمنس (: