در مقاله زير به مطالبي پيرامون

طبقه بندي نرم افزار ها

 كد نرم افزار

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

 فلسفه FOSS

 منشا پيدايش FOSS

 همكاري در يك پروژه FOSS

 تامين منابع مالي پروژه ها FOSS

مي پردازيم

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

كد نرم افزار چيست؟
زماني كه يك برنامه براي كاربردي خاص تهيه مي شود اين برنامه معمولا با زبان هاي برنامه نويسي مثل c++ و c,php و…. نوشته مي شوند .اين كد هاي نوشته شده توسط برنامه هايي مثل compiler و linker به زبان قابل فهم كامپيوتر (صفر و يك) تبديل مي شوند.

در نرم افزار هاي اختصاصي اين كد معمولا در اختيار كار بر قرار نمي گيرد و به عنوان اسرار سازماني شركت به شمار مي رود با اين وجود برخي نرم افزار ها كدشان در اختيار عموم است اما باز حق هيچ گونه دستبردي در كد به كاربران داده نشده كه اين نوع نرم افزارها به منزله همان نرم افزارهاي اختصاصي است.
نكته مهم : آزاد بودن نرم افزار به معني مجاني و رايگان بودن آن نيست.
امروزه FOSS كلمه اي است كه به اينگونه نرم افزار ها اطلاق مي شود .

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

به طو كلي اين نرم افزار ها مجوز قابليت هاي زير را به كاربران مي دهد:
1. اجراي آزاد نرم افزار براي كاربران در هر امري و در هر شرايطي.
2. دسترسي به كد منلع براي كار بر به منظور هر نوع استفاده اي آزاد است.
3. توزيع آن براي كار بران بدون در نظر گرفتن حق كپي رايت آزاد است.
4. هرگونه تغيير و انتشار و اصلاح و..براي كار بر آزاد است.

اين آزادي ها اثرات مثبتي بر افراد و اجتماع دارند از جمله شكوفايي خلاقيت ،آموزش ،انتقال فناوري و كاهش شكاف ديجيتالي و..
البته معايبي هم در اين روش وجود دارد.

فلسفه FOSS :
دو فلسفه اصلي در زمينه FOSS وجود دارد:

1. FSF
2. OSI

بر اساس فلسفه FSF نرم افزار آزاد بايد چهار آزادي را براي كار بر تضمين كند كه به شرح زير است:

1. آزادي اجراي بر نامه
2. آزادي بررسي نحوه كار يك برنامه و سازگاري با نياز هاي كار بر .(دسترسي به كد منبع شرط اول اين آزادي است )
3. آزادي كپي بر داري براي كاربر
4. آزادي عيب يابي رفع مشكل و. و در آخر انتشار آن.

FSF با قانون نرم افزار هاي غير آزاد مخالف است و منع حق كپي و…را نيز تاييد نمي كند.
براي مطالعه در زمينه FSF به سايت زير رجوع كنيد:
WWW.FSF.ORG

فلسفه OSI بيشتر بر دنياي مهندسي نرم افزارحاكم است.ايده اصلي در OSI به اين شرح است كه وقتي كد نرم افزار آزاد باشد عيب يابي شده اصلاح و منتشر مي شود و كيفيت آن ارتقا مي يابد .در كل OSI به دنبال ارتقاي كيفيت نرم افزار است. مزاياي علمي اين روش بيشتر از مزاياي اخلاقي آن است.
اگر چه در اين دو فلسفه اهداف متفاوتند اما هر دو فلسفه خواهان مبارزه با نرم افزار هاي اختصاصي اند.

منشا پيدايش اين نوع برنامه ها :

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

همكاري در يك پروژه FOSS چگونه است؟

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

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

در مقاله بعد به مباحثي پيرامون معايب FOSS مزاياي آن و نگهداري و اطمينان در FOSS و نقطه ضعف هاي آن مي پردازيم.