نرم‌افزارهای «متن باز»؛ تعریف، مزایا و معایب

 نرم‌افزارهای متن‌ باز را میلیون‌ها نفر استفاده می‌کنند، اما بسیاری از افرادی که با مرورگر Firefox سایت‌های مختلف را جستجو می‌کنند، یا مثلا سیستم عامل Ubuntu را در کامپیوترهای خود لود می‌کنند، اصلا نمی‌دانند این نرم‌افزار‌ها چگونه ساخته شده‌اند.
نرم ‌افزار متن باز (Open Source Software) یا به اختصار (OSS) به نرم‌افزارهایی گفته می‌شود که افراد با استفاده از مجوز کپی‌رایت می‌توانند کد منبع آن را بخوانند، تغییر دهند و یا آن را منتشر کنند. این نرم‌افزار با همکاری عمومی ایجاد، آزمایش و یا اصلاح می‌شود و می‌تواند با دیگران به اشتراک گذاشته شود. نرم‌افزار متن باز معمولا به شیوه عمومی و اشتراکی تولید می‌شود.

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

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

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

عبارت «متن باز» فقط به معنی دسترسی به کد منبع نرم افزار نیست. مفهوم این نرم‌افزار‌ها با معیارهای زیر تعریف می‌شود:
۱)  بازتوزیع آزاد 
مجوز تولید این نرم‌افزار‌ها نباید به گونه‌ای باشد که برای هیچ فردی هنگام فروش یا واگذاری نرم‌افزار محدودیت ایجاد کند. به عبارت دیگر، باید امکان توزیع آزاد نرم‌افزار بدون نیاز به حق امتیاز یا پرداختی برای فروش وجود داشته باشد.
۲)  کد منبع 
برنامه نرم‌افزار باید شامل کد منبع باشد و امکان توزیع این کد به هر شکلی باید وجود داشته باشد. اگر شکلی از یک محصول با کد منبع توزیع نمی‌شود، برنامه‌نویس باید بتواند با روشی که هزینه آن بیشتر از هزینه بازتولید نشود، به کد منبع دسترسی یابد؛ مثلا برنامه را بدون پرداخت هزینه‌ای از اینترنت دانلود کند.
۳)  انجام اصلاحات 
مجوز نرم‌افزار باید امکان اصلاحات و انجام کارهای بعدی را به وجود آورد و نیز این امکان را به وجود آورد که برنامه‌ها تحت‌‌ همان شرایط برنامه‌ اولیه و نرم‌افزار اصلی تکثیر شوند.
۴)  حفظ امانت و تمامیت نویسنده کد منبع 
مجوز نرم‌افزار باید به صراحت امکان توزیع نرم‌افزار ایجادشده از کد منبع اصلاح‌ شده را به وجود آورد. همچنین ممکن است این مجوز نیازمند کارهای اصلاحی برای انتقال یک نام یا نسخه متفاوت از نرم‌افزار اصلی باشد.
۵)  عدم تبعیض علیه اشخاص 
مجوز نرم‌افزار نباید علیه هیچ شخص یا گروهی تبعیض قائل شود.
۶)  عدم تبعیض علیه زمینه‌های فعالیتی 
هیچ شخصی نباید به دلیل استفاده از برنامه در یک حوزه خاص محدود شود. به عنوان مثال نباید بین فردی که از این برنامه در حوزه کسب‌وکار استفاده می‌کند با شخصی که در حوزه تحقیقات ژنتیکی از آن استفاده می‌کند، تمایز قائل شد.
۷)  توزیع مجوز 
حقوق ضمیمه‌شده به برنامه، باید برای هر کسی که این برنامه به دست او رسیده کاربرد داشته باشد، بدون اینکه نیاز باشد مجوزی اضافی به اجرا درآید.
۸)  مجوز نباید مختص یک کالای خاص باشد 
حقوق ضمیمه‌ شده به برنامه نباید وابسته به برنامه‌ای باشد که جزوی از یک توزیع نرم‌افزاری خاص است. اگر برنامه از آن شبکه توزیع خارج شده باشد و طبق شرایط مجوز برنامه مورد استفاده قرار بگیرد، کلیه افرادی که برنامه به آن‌ها بازتوزیع شده، باید از حقوق یکسان برخوردار باشند.
۹)  مجوز نباید نرم افزار دیگری را محدود کند 
مجوز نرم‌افزار نباید برای نرم‌افزار دیگری که همراه با نرم‌افزار مجوزدار توزیع شده، محدودیت ایجاد کند.
۱۰)   مجوز باید در برابر تکنولوژی خنثی باشد 
هیچ‌ یک از مفاد مجوز نباید مبتنی بر هیچ تکنولوژی واحد یا شیوه ارتباطی باشد.

 

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

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

مهم‌ترین مزیت این نرم‌افزار‌ها، این است که به کسب‌وکار‌ها کمک می‌کنند که نفوذ بیشتری در بازار داشته باشند. شرکت‌هایی که از نرم‌افزارهای متن باز استفاده می‌کنند، می‌توانند یک استاندارد صنعتی ایجاد کرده و بنابراین به مزیت رقابتی دست یابند.

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

منابع:
۱)  opensource

۲)  en. wikipedia

۳)  pcpro

دیدگاه خود را ثبت کنید

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