متن باز یا open source چیست

نرم افزار متن باز (Open Source) چیست؟ بررسی ویژگی ها و نقاط ضعف و قوت

متن باز یا Open Source چیست؟

واژه متن باز (به انگلیسی Open Source که اُپِن سورس تلفظ میشود) را شاید زیاد در این حوزه شنیده باشید. مخصوصا با ورود و نفوذ گوشی های اندرویدی به بازار ایران. زیرا اندروید هم از دسته سیستم عامل های متن باز به حساب می آید. اما نرم افزار اپن سورس چیست؟ چه فرقی با بقیه نرم افزار ها دارد؟ مزایا و معایب آن کدام ها هستند؟ با برنامه چی برای بررسی برنامه های متن باز و جواب دادن به این سوالات همراه باشید. (منبع استفاده شده: ویکی پدیا)

این مقاله دارای قسمت های زیر است:
نرم افزار متن باز چیست؟
نقاط قوت
رایگان بودن
خلاقیت جمعی
افزونه (پلاگین) های بیشتر و بهتر
رفع بهتر باگ ها
نقاط ضعف
نبود پشتیبانی فنی
امکان سو استفاده و کاهش امنیت
معرفی متن باز های معروف
لینوکس
اندروید
تلگرام
وردپرس
متن باز در ایران
مشخصات (از ویکی پدیا)
نظر شما چیست؟


نرم افزار متن باز چیست؟

بهترین تعریفی که میتوان برای آن ارائه داد این است: نرم افزاری که مشتری هم میتواند سازنده آن باشد. یعنی این نرم افزار ها به شما اجازه میدهند که هر تغییری که دوست داشتید را در آن ایجاد کنید. زیرا در کنار فایل اصلی برنامه که دانلود میکنید، میتوانید کدهای اصلی آن را هم از شرکت سازنده دریافت کنید. اگر دانش کافی در زمینه برنامه نویسی داشته باشید، قادر هستید هر بخشی را ویرایش کرده و یک ورژن اختصاصی از نرم افزار برای خودتان بسازید.

نرم افزار متن باز چیست؟

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

Open Source بودن را میتوان یک روش برای ساخت اپلیکیشن ها در نظر گرفت. زیرا همانطور که در ادامه توضیح میدهم، برنامه هایی که با این روش تولید میشوند، آینده ی متفاوتی دارند.


نقاط قوت

نقاط قوت برنامه های متن باز

این روش هم مانند همه ی راه های دیگر، دارای خوبی ها و کمبود هایی است. برای آشنایی بهتر با برنامه های Open Source باید با نقاط قوت و ضعف آنها هم آشنا باشید.


رایگان بودن

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


خلاقیت جمعی

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

در این فرآیند ممکن است بخش های خلاقانه ای به نرم افزار اصلی افزوده شود که تیم سازنده آن اصلا در مورد آن حتی فکر هم نکرده بودند.


افزونه (پلاگین) های بیشتر و بهتر

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

به عنوان مثال ممکن است مرورگر اینترنت شما، توانایی استفاده مستقیم از مدیریت دانلود جداگانه ای که خودتان نصب کرده اید را نداشته باشد. این مشکل با اضافه کردن یک افزونه به مرورگر حل میشود. (مثلا برای IDM، باید افزونه IDM Integration Module را روی مرورگر نصب کنید).

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


رفع بهتر باگ ها

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

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


نقاط ضعف

نقاط ضعف برنامه های متن باز

بعد از اینکه نکات مثبت را درباره این روش بررسی کردیم، باید از ضعف هایی که در این نوع از اپلیکیشن ها مشاهده میشود نیز بشناسیم.


نبود پشتیبانی فنی

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


امکان سو استفاده و کاهش امنیت

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


معرفی متن باز های معروف

متن باز های معروف

لینوکس

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


گنو

سیستم عامل گنو یک سیستم عامل کاملا آزاد بوده که به طور فزاینده‌ای با یونیکس سازگار می‌باشد. پروژه توسعه سیستم گنو، «پروژه گنو» نامیده می‌شود. در سال ۱۹۸۳ پروژه گنو به عنوان راهی برای بازگرداندن روح همکاری که در روزهای نخست در بین جامعه کاربران کامپیوتر وجود داشت ایجاد شد تا با از بین بردن موانع که توسط صاحبان نرم‌افزارهای انحصاری تحمیل شده بودند، یک بار دیگر همکاری را ممکن سازد. هدف نهایی فراهم کردن نرم‌افزارهای آزاد برای انجام تمام کارهایی که کاربران کامپیوتر می‌خواهند انجام دهند و در نتیجه مطرود کردن نرم‌افزارهای انحصاری می‌باشد.


اندروید

یک سیستم عامل مخصوص گوشی های موبایل، که بر پایه لینوکس ساخته شده است. اندروید توسط شرکت گوگل، غول اینترنتی، تولید و ارائه شده. در حال حاضر (سال ۲۰۱۸) محبوب ترین سیستم عامل موبایل های جهان به حساب می آید.


تلگرام

یک نرم افزار پیام رسان محبوب در ایران. دارای ۴۰ میلیون کاربر ایرانی، که اخیرا نسخه ی جدید آن با نام “تلگرام ایکس” هم روانه بازار شده است. تلگرام هم از ویژگی متن باز بهره میبرد. معروفترین کلاینت آن در ایران، موبوگرام است.


وردپرس

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


متن باز در ایران

نرم افزار های متن باز در ایران هم پایگاه دارند. مرکز ملی توسعه و بکارگیری نرم‌افزارهای بومی و آزاد (متن باز) ایران، به نام متنام، روز چهارشنبه مورخ ۲۲ خرداد ۱۳۹۲ در ساختمان دوم سازمان فناوری اطلاعات ایران افتتاح شد و شروع به کار کرد.

متن باز در ایران

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

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


مشخصات (از ویکی پدیا)

طبق گفته ی وبسایت ویکی پدیا، نرم افزار هایی که بصورت متن باز ارائه میشوند باید دارای یک سری ویژگی ها باشند. اکثر آنها را به زبان ساده تر در مقاله توضیح دادم اما اصل آنها را هم بدون تغییر برای شما قرار میدهم:

مشخصات متن باز ویکی پدیا

نرم‌افزارهای متن‌باز باید دارای ۱۰ تعریف زیر باشند:
۱. توزیع مجدد آزاد
نرم‌افزار باید بدون نیاز به حق امتیاز یا هر گونه پرداختی برای فروش، امکان توزیع به صورت آزاد را داشته باشد.

۲. کد منبع
کد نرم‌افزار باید شامل نرم‌افزار باشد و اجازه توزیع کد نرم‌افزار داده بشود (برای مثال از یک صفحه وب قابل دانلود باشد).

۳. کار مشتق شده
اعمال تغییرات و کارهای بعدی روی نرم‌افزار امکان‌پذیر باشد و این نرم‌افزار جدید را بتوان تحت همان شرایط نرم‌افزار اولیه و اصلی تکثیر کرد.

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

۵. بین افراد و گروه‌ها تبعیضی گذاشته نشود
اجازه‌نامه نباید بین افراد یا گروه‌ها تبعیضی بگذارد.

۶. هیچ تبعیضی در نوع استفاده از نرم‌افزار وجود نداشته باشد
هیچ گونه تبعیض و تمایزی بین هر فعالیتی که در راستای نرم‌افزار انجام می‌گیرد، وجود نداشته باشد. برای مثال نرم‌افزاری نباید بین استفادهٔ تجاری یا تحقیقاتی تبعیض قائل شود.

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

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

۹. اجازه‌نامه نباید نرم‌افزارهای دیگر را محدود کند
شرایط تعریف شده در مجوز نباید توزیع نرم‌افزار را درکنار نرم‌افزارها با مجوزهای دیگر محدود کند. برای نمونه نمی‌تواند تعیین کند که تمامی نرم‌افزارهای ارائه شده در لوح فشرده ارائه شده باید متن باز باشند.

۱۰. اجازه‌نامه باید از نظر تکنولوژی بی‌طرف باشد
اجازه‌نامه نباید مختص یک تکنولوژی خاص باشد.


نظر شما چیست؟

نظر شما درباره متن باز

لطفا نظر و عقیده خود را درباره نرم افزار های متن باز و مخصوصا آینده ی آنها در ایران، با ما در میان بگذارید.

درباره نویسنده

14 در مورد “نرم افزار متن باز (Open Source) چیست؟ بررسی ویژگی ها و نقاط ضعف و قوت”

  1. سلام خسته نباشید یک سوال داشتم.
    آیا نرم افزار ازاد الزاما متن باز نیز هست؟
    و
    آیا متن باز الزاما نرم افزار ازاد نیز هست؟

    1. سلام و خسته نباشید خدمت شما دوست عزیز.
      فکر کنم منظورتون Free Software باشه. این نرم افزارها، نرم افزارهای رایگان هستن. نرم افزار های رایگان یا Free نرم افزارهایی هستن که برای استفاده از اونها نیازی نیست پول پرداخت کنین. اما میتونن متن باز نباشن، یعنی ممکنه سورس این نرم افزارها در دسترس نباشه و فقط بتونین از نرم افزار بصورت رایگان استفاده کنین. برعکسش هم همیشه درست نیست، ممکنه یک نرم افزار کلاینتش اوپن سورس باشه ولی برای استفاده از بک اند و سرور نرم افزار لازم باشه اشتراک خریداری کنید. پس هیچکدوم همیشه و الزاما درست نیستن.

  2. يه بنده خدا

    سلام 🙂 آیا نرم افزار های متن باز به هیچ عنوان نمی تونن جاسوسی کنن؟ مثل مرورگر فایرفاکس؟ اگه پاسختون “بله” هست پس چرا میگن تلگرام جاسوسی میکنه؟! تلگرام که متن بازه.

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

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

دیدگاه‌ خود را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

اسکرول به بالا