چرا باید کارهامون رو متن‌باز کنیم؟

بسم الله الرحمن الرحیممخاطب: عموم افراد به ویژه کسایی که با حوزه نرم‌افزار در ارتباط هستن.نرم‌افزار متن‌باز چیه؟ فرقش با نرم‌افزار آزاد چیه؟ چرا باید کارهامون رو متن‌باز کنیم و از نرم‌افزارهای آزاد/متن‌باز حمایت کنیم؟توی اینترنت، مطالب زیادی در پاسخ به این سوالات وجود داره که علاقه‌مندان میتونن به صورت مفصل مطالعه کنن. اینجا قراره به صورت خلاصه مروری بر پاسخ اون‌ها داشته باشیم.معنی متن‌باز (Open Source) چیه؟وقتی یه نرم‌افزار متن‌باز هستش معنیش اینه که دیگران می‌تونن به صورت رایگان، به کدهای اون پروژه دسترسی داشته باشند، کدها رو مطالعه کنن، تغییر بدن و در پروژه‌های دیگه استفاده کنن. هر نرم‌افزار متن‌باز، لایسنسی داره که به طور دقیق، شرایط استفاده از کدها رو توضیح داده.نرم‌افزار آزاد چیه؟نرم‌افزارهای آزاد، نوعی پروژه متن‌باز محسوب میشن که بیشتر بر فلسفه آزادی و حقوق کاربران تمرکز دارن. هدف نرم‌افزارهای آزاد اینه که کاربران بتونن نرم‌افزاری که استفاده میکنن رو کنترل کنن نه برعکس!متن‌باز یک روش توسعه هستش اما نرم‌افزار آزاد یک جنبش اجتماعی برای آزادی کاربران. وقتی یه نرم‌افزار رو آزاد می‌نامیم معنیش اینه که اون نرم‌افزار به آزادی‌های اساسی کاربران احترام میذاره.فعالان متن‌باز معتقد هستند به کمک متن‌باز بودن میشه نرم‌افزارهای قوی‌تر و بهتر تولید کرد اما فعالان نرم‌افزار آزاد معتقد هستند که نرم‌افزار‌های بسته لزوما بد و ناشایست نیستن هرچند به آزادی کاربران احترام نذارن. درواقع معتقد هستند ما باید برای آزادی خودمون ارزش قائل باشیم و برای آزادی (نه صرفا بهتر بودن نرم‌افزار) از نرم‌افزارهای آزاد حمایت کنیم. درنتیجه حتی اگر نرم‌افزارهای آزاد، ضعیف‌تر هم بودن باید ازشون حمایت کنیم و آزادی خودمون رو به نرم‌افزارهای اختصاصی (بسته) نفروشیم.فعالان متن‌باز، خدمات بهتر رو صرفا در قوی بودن نرم‌افزار میدونن اما فعالان نرم‌افزارهای آزاد معتقد هستند قوی بودن یک نرم‌افزار لزوما به معنای خدمات بهتر نیست چراکه اگر نرم‌افزاری برای به زنجیر کشیدن کاربران طراحی شده باشه، قوی بودن به معنای سفت و تنگ‌تر بودن زنجیرها خواهد بود نه خدمات بهتر.یک نرم‌افزار تنها زمانی میتونه به کاربرانش خدمت کنه که به آزادی اون‌ها احترام بذاره.امکانات بداندیشانه‌ای مثل جاسوسی کاربران، محدود ساختن کاربران، درهای پشتی (Backdoor)، و به روز رسانی‌های اجباری در بین نرم‌افزارهای اختصاصی معمول هستن که فعالان نرم‌افزارهای آزاد مخالف اون‌ها هستند. دیر یا زود بعضی از نرم‌افزارهای متن‌باز به صورت بسته و اختصاصی درمیان و حتی برای جذب کاربران ممکنه خدمات رایگان ارائه بدن! در اینصورت زمانی کاربرها می‌تونن از قید اون‌ها رها بشن که یاد گرفته باشن برای آزادی خودشون ارزش قائل باشن. آزادی‌ای که نرم‌افزارهای آزاد به اون‌ها میدن.به صورت خلاصه، هر نرم‌افزارِ آزادی متن‌باز هستش اما لزوما هر نرم‌افزار متن‌بازی آزاد نیست و به آزادی کاربران احترام نمیذاره.برای اطلاعات بیشتر پیشنهاد می‌کنیم مقالات اصلی سایت گنو مثل «چرا متن‌باز هدف اصلی نرم‌افزار آزاد را برآورده نمی‌کند؟» مطالعه کنید.حالا که با تعریف نرم‌افزارهای متن‌باز و آزاد آشنا شدیم برسیم به مزایای متن‌باز بودن که وجه اشتراک بین اون‌ها هستش.مزایای متن‌باز بودن پروژه‌هاخلاقیت جمعی: تمامی آدم‌ها در سراسر جهان می‌تونن در پروژه شما مشارکت داشته باشند. اینطوری می‌تونیم از ایده، علم، تجربه و انرژی بسیاری از افراد استفاده کنیم و پروژه‌ای قدرتمند و خوب بسازیم.افزایش علم و دانش: تمامی افراد می‌تونن کدها رو مطالعه کنن، دانش خودشون رو افزایش بدن و پروژه‌های جدید و مفیدتری ارائه بدن. شما می‌تونید کدهای زیادی بخونید و کدهای شما هم توسط خیلی‌ها دیده میشه. با روش‌های مختلف آشنا می‌شید و شانس این رو دارید که کدهای شما توسط افراد باتجربه‌تر بررسی بشه و به صورت رایگان از تجربیات اون‌ها استفاده کنید.تست و رفع باگ‌ها: وقتی متن‌باز هستیم تعداد زیادی از آدم‌ها به صورت داوطلبانه کدهای ما رو در سیستم‌ها و شرایط مختلف اجرا و آزمایش میکنن و اینطوری خیلی سریعتر و بهتر می‌تونیم مشکلات رو شناسایی و رفع کنیم. همچنین می‌تونیم از دانش متخصصان دیگه (نه صرفا متخصصان خودمون) برای رفع اون‌ها استفاده کنیم.دیگه لازم نیست چرخ رو از اول اختراع کنیم: در دنیا خیلی از مسائل، رایج و تکراری هستن. مسائلی مثل سیستم‌عامل، سیستم مدیریت محتوا، فروشگاه آنلاین و...به لطف پروژه‌های متن‌باز، خیلی از مسائل حل شدن و دیگه لازم نیست هربار چرخ رو از اول اختراع کنیم بلکه با استفاده از پروژه‌های خوب ساخته شده این فرصت رو داریم که زمان و انرژی محدود خودمون رو صرف کارهای جدیدتر، بهتر و ارزشمندتر کنیم. راه‌حل‌های عمومی به اشتراک گذاشته میشن و زمان و انرژی تیم‌ها صرف مسائل ویژه و منحصربه‌فرد خودشون میشه. اینطوری میتونن ارزش‌افزوده‌ای منحصربه‌فرد ایجاد کنن. مثل سیستم مدیریت محتوای وردپرس که خیلی از کاربرها تونستن سایت و فروشگاه خودشون رو راه‌اندازی کنن و متخصصان، سرویس‌ها و افزونه‌های جدیدی ایجاد کردن. اگر پروژه‌های متن‌باز نبودن وقت و انرژی بسیاری از آدم‌ها صرف کارهای تکراری و خلق سیستم‌های ضعیف میشد.ایجاد و رونق کسب و کارها: آدم‌ها وقتشون رو صرف مسائل حل شده قدیمی نمی‌کنن، تخصصی کار میکنن، تجربیاتشون رو منتقل میکنن و بجای موازی‌کاری و تولید چندین نرم‌افزار ضعیف، نرم‌افزارهای قوی، تست‌شده و خوب تولید میشه. این موارد کمک میکنن کسب و کارهای بیشتر و بهتری ایجاد بشن. کسب و کارهای موجود هم میتونن با قدرت و توان بیشتری به راهشون ادامه بدن.افزایش امنیت و حریم خصوصی: با دسترسی به کدها، مشکلات و باگ‌ها راحت‌تر پیدا و گزارش میشن درنتیجه امنیت نرم‌افزار افزایش پیدا میکنه. از طرفی همه چیز شفافه و دیگه خبری از بدافزارها و دزدین و جاسوسی اطلاعات شما نیست. (نرم‌افزار اختصاصی اغلب بدافزاره)اگر نتونیم به کدهای یک نرم‌افزار دسترسی داشته باشیم دیگه امنیت و حریم خصوصی معنایی نداره. چراکه چاره‌ای جز اعتماد به شرکت‌ها نداریم. قفل خونه شما که کلیدش رو ندارید یک سیستم امنیتی نیست، بلکه یک زندانه!شبکه‌سازی: می‌تونید با افراد سراسر جهان که با شما هم‌مسیر یا هم‌دغدغه هستن آشنا بشید و شبکه قدرتمندتری بسازید.انسان مفیدتری خواهیم بود: وقتی کدهای ما در اختیار عده‌ای محدود هستن به همون نسبت، فرصت کمتری برای کمک کردن به دیگران داریم ولی وقتی دانش خودمون رو دراختیار دیگران قرار می‌دیم این فرصت رو داریم که به تعداد خیلی زیادی از آدما کمک کنیم و دیدن خوشحالی افراد برای ما هم بسیار خوشحال‌کننده خواهد بود. :)انگیزه و کدهایی تمیزتر: می‌دونیم دیگران کارهای ما رو می‌بینن درنتیجه بیشتر سعی می‌کنیم کدهای تمیزتر تولید کنیم. از طرفی با توجه به اینکه سعی می‌کنیم کدها و محصولاتمون برای سایر برنامه‌نویس‌ها قابل استفاده باشه افراد بیشتری رو درنظر می‌گیریم و کدهای منعطف‌تر و بهتری رو تولید می‌کنیم.رزومه‌ای عالی: هیچ چیز بهتر از کدها نمیتونن دانش فنی آدم‌ها رو نشون بدن. با متن‌باز بودن، افراد میتونن دانش فنی خودشون رو به نمایش بگذارن و شرکت‌ها هم فرایند استخدام بهتر و مطمئن‌تری داشته باشند.آینده به سمت متن‌باز هستش: متن‌باز، روش توسعه نرم‌افزار شرکت‌های مدرن هستش. خیلی از شرکت‌های بزرگ و مطرح دنیا به سمت پروژه‌های متن‌باز حرکت کردن. حتی شرکت انحصارگرایی مثل مایکروسافت مجبور شد به سمت متن‌باز حرکت کنه. امروزه صنعت نرم‌افزار به شدت به سیستم‌های متن‌باز وابسته هستش و دیگه دنیا بدون پروژه‌های متن‌باز قابل تصور نیست.توسعه نرم‌افزار به صورت 24 ساعته: وقتی پروژه‌ای متن‌باز باشه تمامی افراد در سراسر جهان به کدهای پروژه دسترسی دارند، هرکس براساس زمانِ منطقه و ساعت کاری خودش میتونه کدها رو مطالعه کنه، باگ‌ها رو پیدا کنه و امکانات جدیدی ایجاد و اضافه کنه. اینطوری پروژه‌ها بسیار چابک‌تر خواهند بود و سرعت توسعه بسیار افزایش پیدا میکنه. تبلیغات عالی: وقتی پروژه شما متن‌باز باشه خیلی‌ها با پروژه شما آشنا میشن، استفاده میکنن و به همدیگه معرفی میکنن. اگر واقعا کار ارزشمندی ایجاد کرده باشین متن‌باز بودن این فرصت رو به شما میده که به سرعت شناخته بشید.جذب استعدادها: وقتی پروژه شما متن‌باز باشه آدم‌هایی که با شما هم‌دغدغه و هم‌مسیر هستن به سمت پروژه شما جذب میشن، در پروژه شما مشارکت میکنن و فرصت آشنایی برای دو طرف فراهم میشه. شرکت‌ها میتونن با معیار بهتری دانش افراد و اینکه مناسب شرکتشون هستن یا نه رو ارزیابی کنن. افراد هم اگر علاقه داشته باشن میتونن به شرکت‌ها درخواست بدن و اینطوری شانس پیدا کردن یک شرکت و کارمند خوب افزایش پیدا میکنه و جلوی بسیاری از هزینه‌های فرایند جذب و استخدام رو میگیره.افزایش روحیه همدلی و مهربانی: هرکس اندازه خودش درکی از این داره که خودخواهی و خسیس بودن میتونه چه بلایی سر فرد و جامعه بیاره. اینکه هرکس به دنبال حداکثر کردن سود خودش باشه باعث نمیشه جامعه به حداکثر سود ممکن برسه و درنتیجه همه آسیب می‌بینیم. بخشندگی و مهربانی مزایای مادی و معنوی بسیار زیادی داره و برای همین هستش که در همه جا توصیه شده. فرهنگ آزاد/متن‌باز میتونه این روحیه قشنگ رو توی جامعه رواج بده و نعمت‌های مادی و معنوی زیادی رو به افراد و جامعه ببخشه.کاهش فساد و انحصارطلبی: وقتی دانش و تکنولوژی‌ها در دسترس عده‌ای خاص محصور باشن، روز به روز روحیه و سیستم سرمایه‌داری قوی‌تر میشه و به همون نسبت، شانس افرادِ مستقل و مردمی برای خلق سیستم‌های مفید کمتر میشه، تجمیع قدرت و ثروت، احتمال فساد رو بالا می‌بره، اختلاف طبقاتی و بی‌عدالتی افزایش پیدا میکنه و از همه بدتر ناامیدی بین مردم زیاد میشه. متن‌باز بودن به خصوص توجه به فلسفه نرم‌افزارهای آزاد میتونه راهکار بسیار مفیدی برای مبارزه با فسادها و انحصارطلبی‌ها باشه.جامعه‌ای قوی: آدم‌ها یاد می‌گیرن کارهای خودشون رو به دیگران هدیه بدن، در پروژه‌های مختلف به صورت آزادانه کمک کنن، مطالعه کنن و روحیه فعالانه‌ای داشته باشن. جامعه با وجود چنین افرادی بسیار امیدوارتر و قوی‌تر خواهد بود.گسترش عدالت و رفاه اجتماعی: با افزایش سرعتِ علم و تولید نرم‌افزار‌ و با شکسته شدن انحصار، همه افراد، راحت‌تر و بهتر می‌تونن از مزایای تکنولوژی استفاده کنن، اختلاف‌های طبقاتی کمتر میشه و درنتیجه رفاه و عدالت بیشتری در جامعه شکل می‌گیره.شکست معنا نداره: یک محصول، به دلایل خیلی زیادی (ازجمله مسائل تجاری) ممکنه شکست بخوره. وقتی نرم‌افزار خودتون رو به صورت آزاد توسعه میدین از مزایای زیادی بهره‌مند میشین اما در بدترین حالت ممکن بجای اینکه کدهای شما در گوشه سیستم خاک بخوره این شانس رو داره که به دست دیگران برسه و جلوی اتلاف انرژی بقیه رو بگیره و جامعه یک گام به جلو حرکت کنه. پس در هر صورت شما مفید بودین و تلاشتون ارزشمند.شفافیت دولت‌ها: نرم‌افزارهای دولتی (ازجمله دانشگاه‌های دولتی) با پول مردم ساخته میشن. پس اولا حق مردم هستش که به کدهای نرم‌افزارها دسترسی داشته باشند و این دانش به مردم برگرده. ثانیا متخصصان با دسترسی به کدها میتونن کیفیت نرم‌افزارها رو ارزیابی کنن. این شفافیت باعث جلوگیری از رانت‌ها و فسادهای دولتی میشه. اینکار جامعه رو یک گام به سمت شایسته‌سالاری (نه باندبازی) نزدیک میکنه و سطح خدمات و رفاه جامعه رو افزایش میده. با توجه به سطح ضعیف نرم‌افزارهای دولتی، این موضوع به خصوص برای کشور ما اهمیت زیادی داره.اطلاعات بیشتر:سوالات پر تکراربنیاد نرم‌افزارهای آزادگنودوست داری به بقیه کمک کنی؟ + اگر نظر و پیشنهادی داری همینجا مطرح کن تا این مطلب کامل‌تر بشه + این مطلب رو برای کسایی که نیاز دارن بفرست + این مطلب رو لایک کن