به قسمت اول آموزشها خوش اومدید؛ در این قسمت میخواهیم در مورد تکامل لینوکس و همچنین سیستم عامل ها یا توزیع های محبوب در دنیای کامپیتور ها صحبت کنیم. همچنین میخواهیم بیشتر جلو برویم و بفهمیم که لینوکس چیست؟ و ایدهی نرم افزارهای متن باز چه اهمیتی دارند؟ همچنین میخواهیم دلیل هایی بیاوریم که چرا باید با لینوکس برا همیشه دوست باشیم و از آن در همه جا استفاده کنیم؟ همچنین توضیح خواهیم داد که توزیعهای لینوکسی چه تفاوتی باهم دارند و دقیقاً چی هستن!
قبل از همه آنها باید بگوییم که فلسفه اپن سورس رو توضیح خواهیم داد!
فلسفه متن باز (opensource)
اگر شما به اندازه کافی با کامپیوتر سروکار داشته باشید و یا در مورد نرمافزار های تحقیق کنید حتماً به عنوان نرم افزارهای متن باز اسم فایرفاکس و آپاچی به گوشتان خورده و شنیدهاید که گنو/لینوکس نیز یک سیستم عامل متن باز است. همچنین اگر در این موارد تحقیق کنید به عبارت زیر برخورد خواهید کرد :
free as a beer , and free as in speech
در اینجا به دونوع free خواهیم رسید که میتوان آنها را در فارسی رایگان و آزاد معنی کرد ؛ شاید بتوان گفت زبان فرانسوی نیز در این زمینه بهتر از انگلیسی عمل میکند و free را به دو کلمه gratis به معنی اینکه من یک چیز را به شما ارائه میدهم و libre بدین معنی که دست شما باز است هرکار میخواهید انجام دهید. برای اینکه بهتر متوجه شویم مثالی در مورد شیرینی بیان میکنیم.
برای ساخت شیرینی شما نیاز به دستور ساخت آن دارید. ایده رایگان را میتوان به شیرینیهایی تشبیه کرد که به شما داده میشود و میتوانید بدون اینکه بدانید چه چیزی در آنها استفاده شده و یا مبلغی برای آن بپردازید میتوانید آنها را بخورید و یا به فردی دیگر هدیه دهید. اما در طرفی دیگر ما شیرینیهایی را داریم که همراه با آنها دستورالعمل ساختشان نیز ارائه میشود. بیشتر افراد این فکر را خواهند کرد که یک نرمافزار آزاد و اپن سورس نمیتواند درآمدی داشته باشد و یا نمیتوان آن را فروخت بدلیل اینکه همه به کد آن دسترسی دارند و به راحتی میتوانند موردی مشابه تولید کرده و تغییرات دلخواهشان را درآن ایجاد کنند. اما همانند شیرینیهایی که گفتیم همراه با دستورالعمل ساختن ارائه میشوند میتوان نرم افزارهای اپن سورس را نیز فروخت.
پس هنگامی که در مورد نرمافزار آزاد و متن باز صحبت میکنیم نیازی نیست که همیشه فکر کنیم اینگونه نرمافزارها رایگان نیز هستند. با این حال معمولاً نرمافزار های اپن سورس رایگان نیز هستند. با این حال نرم افزارهای پولی نیز هنگامی که به دست شما برسند free به معنای آزاد هستند و میتوانید هرکاری که میخواهید با سورس آنها انجام دهید. هنگامی که در مورد اپن سورس صحبت میکنیم الزاماً منظور ما نرم افزارهای رایگان نیستند و مهتر از آن این است قوانین حاکم بر این نرم افرار ها را به خوبی شناخته و درک کنیم و بدانیم که چه کارهایی میتوانیم با سورس کد در دسترس انجام دهیم.
از مثالهای گنو/لینوکسی که میتوانیم در این زمینه ارائه دهیم redhat در برابر centOS است. ردهت یک کمپانی است که یک گنو/لینوکس به صورت تجاری برای کاربران خود عرضه میکند و آن را با دریافت پول ارائه میدهند. اما به دلیل اینکه ردهت از موارد اپن سورس استفاده میکند موظف است تا تمامی تغییرات خود را و سورس کد آنرا منتشر کرده و در اختیار همه قرار دهد و این قانون اپن سورس است. در اینجا cent os به صحنه خواهد آمد؛ بدلیل اینکه ردهت تمامی سورس خود را به صورت پابلیک منتشر میکند سروکله سیستم عاملی به اسم community enterprise OS پیدا میشود که نسخه رایگان ردهت است که تمامی سورس کد ردهت را کامپایل کرده و به صورت رایگان عرضه میکنند اما تفاوت در اینجا است که دیگر هیچ کمپانی پست سیستم عامل cent os نخواهد بود و به صورت رسمی پشتیبانی دریافت نخواهد کرد. اما همیشه هم اینکار آسان نیست که بتوانید به راحتی یک برنامه اپن سورس را تغییر دهید. برای مثال به فایرفامس نگاهی میاندازیم. اگر بخواهیم از سورس آن یک مرورگر شخصی برای خود بسازیم کار اصلاً راحتی نیست و باید در امر برنامه نویسی و خواندن و درک کدها بسیار حرفهای باشید. اما بازهم کارآسانی نیست!
شاید اولین چیزی که هرشخص با شنید متن باز به ذهنش میرسد این است که میتوان سورس نرمافزار را دریافت کرد و هرکاری با آن بخواهیم میتوانیم انجام دهیم. اما این مورد در مواجهه با میلیونها خط کد در مرورگری مانند فایرفاکس ممکن است با شکست مواجه شود چرا که خواندن و بررسی این حجم از کدها کار سادهای نیست و هر توسعهدهنده به جای تلف کردن وقت خود برای اینکار یا به ساخت مرورگری متفاوت میپردازد و یا به توسعه فایرفاکس روی خواهد آورد.
اما همیشه هم برنامهها بزرگ نیستند و کدها نیز آنقدرها پیچیده نخواهند بود؛ اگر یک اسکریپت ساده بنویسیم چه؟ شما میتوانید آن را به راحتی دانلود کرده و تغییر دهید. تصور کنید برنامهای نوشتهایم که نتیجه چندسوال ساده را به ما ارائه میدهد. حال اگر برنامه ما مشکلی داشته باشید افرادی که سورس کد آنرا در اختیار دارند میتوانند به تکامل آن کمک کرده و یا حتی کد برنامه را برای استفاده خود در شرایط مختلف بهینه کنند و اینها در حالی است که ماهیت نرمافزار تغییری نخواهد کرد. بنابراین ایده اپن سورس برای برنامهها و اسکریپت های کوچک نیز کارایی دارد.
فکر میکنم تفاوتهای رایگان و آزاد و همچنین ویژگیهایی از برنامههای متن باز را متوجه شدید و فهمیدیم که میتوانیم نرم افزارهای متن باز را بر اساس نیاز و سلیقه خود ویرایش کنیم و این همان چیزی است که باعث متولد شدن توزیعهای مختلف گنو/لینوکسی خواهد شد. بیاید کمی در مورد توزیعها نیز صحبت کنیم!
توزیعهای گنو/لینوکسی
توزیعهای گنو/لینوکسی همانگونه که گفتیم از دستکاری های افرادی درست شدن و همینطور برای نیازهای خاص توسعه داده شدن و ابزارهایی رو در کنارهم برای این منظور جمع کرده اند. حال میخواهیم چند توزیع محبوب و شناخته تر شده گنو/لینوکسی را بررسی کنیم.
دبیان : یک توزیع گنو/لینوکسی که از هسته لینوکس استفاده میکند و برای نصب برنامهها در این توزیع نیازمند پکیج های متفاوت با سایر توزیعها هستیم؛ پکیج های دبیان پسوند deb دارند و از طریق آنها هرچیزی را از پچ فایرفاکس گرفته تا کرنل جدید را میتوانید نصب کنید
سوزه : سوزه نیز همانند دبیان از روشی متفاوت برای مدیریت بسته ها و همچنین نصب پکیج ها در سیستم خود بهره میبرد؛ همچنین سوزه اولین توزیعی است که نصاب گرافیکی برای نصب خود به کار برد و به همین دلیل هنوز هم بیشتر کاربران سوزه و حتی اپن سوزه این توزیع را گرافیکی تر از سایر توزیعهای میدانند و خیلی اوقات گزارش میکنند که مشکل گرما و روشن بودن بیش از حد فن دستگاه در این توزیع وجود ندارد. با این حال همه توزیعها هنوز همان گنو/لینوکس قبلی را اجرا میکنند و تفاوتهای آنها همان تفاوت در سلیقه برای ساخت یک شیرینی با داشتن دستور پخت آن است که ممکن است یک نفر شیرینی خود را کاکائویی درست کند و یک نفر دیگه آن را با قهوه!
Cent OS و ردهت : این دودقیقا در مبحث شیرینیها طعمی یکسان و ویژگیهای برابری دارند بدلیل اینکه ردهت دستورالعمل یا همان سورس خود را منتشر کرده و cent os نیز دقیقاً از روی آن ساخته شده است.تفاوت سیستم عاملی که ردهت ارائه داده و آن را میفروشد با سیستم عاملی که سنت او اس در اختیار شما خواهد گذاشت تنها در پشتیبانی رسمی و شرکتی از ردهت خلاصه میشود.
اوبونتو : اوبونتو نیز یک توزیع لینوکسی است که بیشتر اجزای خود را از دبیان قرض گرفته است و به اصطلاح دبیان بیس است. روشهای نصب برنامهها و پیکج ها کاملاً شبیه به دبیان است و به نظر میرسد اوبونتو نیز یک نسخه بهبود یافته از روی چیزی است که دبیان برای خود بهبود داده است. اوبونتو نیز کاملاً رایگان عرضه میشود.
این توزیعها فقط برند ها و یا کانفیگ های متفاوتی هستند که برای استفاده های مختلف از سیستم عامل گنو/لینوکس ساخته شده است.
لینوکس بیشتر!
بدلیل اپن سورس بودن لینوکس و گنو/لینوکس و اینکه این سیستم عامل انعطاف پذیری و تواناییهای بیشتری را به کاربر میدهد لینوکس تبدیل به یک مورد همه گیر در همه جا شده است و هرجایی که فکر آن را بکنید میتوان نشانههایی از لینوکس پیدا کرد. از دستگاههای قابل حمل و کوچک مانند تلفنهای همراه اندرویدی و دستگاههایی مانند رزبری پای و بیگل بن و اورنج پای و pda ها تا کتابخوان آمازون (kindle )؛ گیرنده های دیجیتال تلویزیون و یا حتی در کروم بوک های گوگل این هسته لینوکس است که در حال اجراشدن میباشد.
اندروید نیز همانند یک توزیع لینوکسی است که پدید آوردنده آن گوگل است. Kindle نیز برگرفته شده از اندروید است که برای وظیفه مشخصی بهینه شده است و تمرکز سازنده آن بر روی همان وظیفه و ساخت سیستم عاملی منحصر به فرد بوده است.
تا اینجا میتوان نتیجه گرفت اپن سورس یکی از روشهای توسعه و برنامه نویسی بسیار قوی و فوقالعاده موفق است که میتوانید از آن برای پروژه های خود استفاده کنید و همچنین برخلاف آنچه که ممکن است شنیده باشید اپن سورس شما را از فروختن نرم افزارتان منع نمیکند و شما هنوز هم میتوانید محصول نهایی خود را بفروشید همانند کاری که ردهت انجام میدهد.
به نظر میرسه به قدرکافی درباره فلسفه های گنو/لینوکسی و ایدههایی که در پشت این قضیه نهفته شده فهمیدیم و الان به خوبی میتوانیم درباره انقلاب لینوکس و گنو/لینوکس نظر بدهیم و میدانیم که امروزه بیشتر زندگی ما وابسته به لینوکس و نظریههای متن باز این سیستم عامل است.
در قسمت بعدی به معرفی و بررسی برنامههای اپن سورس معروف و بزرگ خواهیم پرداخت و در مورد دنیای گنو/لینوکسی بیشتر صحبت خواهیم کرد.
مطلب فوقالعاده خوبی بود. طبق معمول تشکر میکنم و خسته نباشید میگم.
بازم منتظر مطالب خوبتون هستیم 🙂
خوشحالم که برات مفید بوده