در مقاله زیر به مطالبی پیرامون
طبقه بندی نرم افزار ها
 کد نرم افزار
 نرم افزار های آزاد/ متن باز یا FOSS چیست؟
 فلسفه FOSS
 منشا پیدایش FOSS
 همکاری در یک پروژه FOSS
 تامین منابع مالی پروژه ها FOSS
می پردازیم




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


کد نرم افزار چیست؟
زمانی که یک برنامه برای کاربردی خاص تهیه می شود این برنامه معمولا با زبان های برنامه نویسی مثل c++ و c,php و…. نوشته می شوند .این کد های نوشته شده توسط برنامه هایی مثل compiler و linker به زبان قابل فهم کامپیوتر (صفر و یک) تبدیل می شوند.
در نرم افزار های اختصاصی این کد معمولا در اختیار کار بر قرار نمی گیرد و به عنوان اسرار سازمانی شرکت به شمار می رود با این وجود برخی نرم افزار ها کدشان در اختیار عموم است اما باز حق هیچ گونه دستبردی در کد به کاربران داده نشده که این نوع نرم افزارها به منزله همان نرم افزارهای اختصاصی است.
نکته مهم : آزاد بودن نرم افزار به معنی مجانی و رایگان بودن آن نیست.
امروزه FOSS کلمه ای است که به اینگونه نرم افزار ها اطلاق می شود .


نرم افزار های آزاد/ متن باز یا FOSS چیست؟


به طو کلی این نرم افزار ها مجوز قابلیت های زیر را به کاربران می دهد:

۱٫ اجرای آزاد نرم افزار برای کاربران در هر امری و در هر شرایطی.
۲٫ دسترسی به کد منلع برای کار بر به منظور هر نوع استفاده ای آزاد است.
۳٫ توزیع آن برای کار بران بدون در نظر گرفتن حق کپی رایت آزاد است.
۴٫ هرگونه تغییر و انتشار و اصلاح و..برای کار بر آزاد است.
این آزادی ها اثرات مثبتی بر افراد و اجتماع دارند از جمله شکوفایی خلاقیت ،آموزش ،انتقال فناوری و کاهش شکاف دیجیتالی و..

البته معایبی هم در این روش وجود دارد.



فلسفه FOSS :
دو فلسفه اصلی در زمینه FOSS وجود دارد:
۱٫ FSF
2. OSI
بر اساس فلسفه FSF نرم افزار آزاد باید چهار آزادی را برای کار بر تضمین کند که به شرح زیر است:
۱٫ آزادی اجرای بر نامه
۲٫ آزادی بررسی نحوه کار یک برنامه و سازگاری با نیاز های کار بر .(دسترسی به کد منبع شرط اول این آزادی است )
۳٫ آزادی کپی بر داری برای کاربر
۴٫ آزادی عیب یابی رفع مشکل و. و در آخر انتشار آن.
FSF با قانون نرم افزار های غیر آزاد مخالف است و منع حق کپی و…را نیز تایید نمی کند.



برای مطالعه در زمینه FSF به سایت زیر رجوع کنید:


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


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


تامین منابع مالی این پروژه ها از کجاست؟
یکی از راه هایی که برای ارتقای نرم افزار های باز بای گروه هزینه ساز است همان ارتباط با اینترنت برای تبادل نظرات و.است. چون در پروژه ها ارتباط بین برنامه نویسان از طریق پست الکترونیکی است لذا در پروژه های بزرگ این هزینه ها سرسام آور خواهد شد که در این مورد داشتن یک اتصال خوب و سریع به اینترنت اهمیت فراوانی دارد. و اینگونه برنامه ها تبعا نیاز مند سخت افزار ها و سیستم های فراوانی است.برخی از شرکت ها به دلایل مختلفی هزینه های این پروژه ها را متقبل می شوند.مثلا وزارت اقتصاد و فناوری آلمان از پروژه GNU Privacy Guard که با کمک آن پست الکترونیک در آن با امنیت بیشتری رد و بدل می شود را حمایت می کند در واقع شرکت هایی که از FOSS استفاده می کنند خود نیز نوعی از حامیان FOSS به شمار می روند. زیرا به این طریق هم به نوعی از بر نامه نویسان خود قدر دانی می کنند و هم از پیشرفت های حاصله بهره مند می شوند. .شرکت FOSS برنامه نویسان FOSS را استخدام می کند و و برخی از شرکت ها از برنامه نویسان میخواهند که وقت خود را (البته به صورت محدود) صرف این نوع نرم افزار ها برای ارزیابی و خطا یابی و تصحیح کنند.
در مقاله بعد به مباحثی پیرامون معایب FOSS مزایای آن و نگهداری و اطمینان در FOSS و نقطه ضعف های آن می پردازیم.