نرم افزارهاي open source

 

مقدمه

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

 

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

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

 

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

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

 

اگر مفاهیم متن‌باز/آزاد بودن نرم‌افزار، از اغلب افرادی که دانش کامپیوتری دارند، پرسیده شود، خواهند گفت که نرم‌افزار آزاد/متن‌باز باید شامل کد اولیه برنامه به هر زبانی (Perl, PHP, C, C++,…) که نوشته شده، باشد و...

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

پیشگامان متن‌باز ويژگی های  نرم‌افزار های متن‌باز رادر 10 عبارت ارائه داده‌اند:

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

2.       کد منبع باید در دسترس باشد؛ اگر توزیع نرم‌افزار شامل کد منبع نیست، برنامه‌نویس باید بتواند نرم‌افزار را به‌راحتی پیدا كند، تا امکان تغییر آنرا داشته باشد. (برای مثال از یک صفحه‌ی وب، قابل download باشد)

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

4.       نگهداری تمامیت کد منبع اولیه، چه با نیاز به تغییر جهت توزیع به عنوان فایلهای وصله‌ای، و چه با نیاز به وجود نگارشهای متفاوت، ممكن باشد.

5.       هیچگونه تبعیض و تمایزی بین اشخاص و گروهها وجود نداشته باشد.

6.       هیچگونه تبعیض و تمایزی بین هر فعالیتی که در راستای نرم‌افزار انجام می‌گیرد، وجود نداشته باشد.

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

8.       مجوز نباید به محصول یا توزیع خاصی اختصاص داشته باشد.

9.      مجوز، نباید به دیگر نرم‌افزارهایی که در طول پروژه‌ی مجوزگرفته‌ی جاری، توزیع و تکثیر شده‌اند، تعلق بگیرد.

10 مجوز نباید از فن آوری یا رابطه های خاصی جانبداری کند.

 

OSI فهرستی از مجوز های مصوب را در سایت http://www.opensource.org/license دارد. GPL/LGPL محبوب‌ترین مجوز های نرم‌افزارهای متن‌باز/آزاد هستند.

 

 

مزایاي نرم‌افزارهای متن‌باز

1.             در دسترس بودن کد متن و اجازه تغیر آنها

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

2.            حق اتشار بعد از انجام اصلاحات و تغییرات

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

3.             ارتقا و پشتیانی

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

4.            رایگان بودن

دریافت نرم افزار هیج هزینه ای ندارد و رایگان است . ممکن است بهره برداران غیر ماهر برای نصب و راه اندازی نرم افزار هزینه هایی پرداخت کنند که این هزینه ها به نسبت هزینه خرید راه  اندازی و پشتیبانی نرم افزارهای تجاری خیلی ناچیز است.

5.            نداشتن محدودیت برای استفاده

بر خلاف نرم افزارهای تجاری در این نرم افزار ها هیچ گونه محدودیتی برای  استفاده  وجود  ندارد       

نرم‌افزارهای آزاد از نظر کاربر نيز مزایایی دارند:

 عدم وابستگی به فروشنده،

 امکان برطرف کردن اشکالات در محل،

امکان افزودن امکانات جدید مورد نیاز کاربر،

آزادی و نیز کسب درآمد از کار دیگران(!)

 

از نظر تولید کننده نیز مزایای متعددی می‌توان برشمرد. از جمله اینکه:

 برنامه در دسترس عده بیشتری قرار می‌گیرد،

 اشکالات برنامه سریعتر پیدا می‌شود،

 برنامه به سرعت بهتر و بهتر می‌شود،

 تولید کننده بهتر می‌تواند تواناییهای خود را نشان دهد؛

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

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

 

 ویژگیهای کیفی و ریسکهایی که در پروژه‌های متن‌باز وجود دارد، به شرح زیر است:

          قابلیت سفارشی کردن

          قابلیت استفاده از نرم‌افزار/ اعتبار

          قابلیتهای عملیاتی

          توازن

          انعطاف‌پذیری

          عمر

          کارایی

          کیفیت سرویس و پشتیبانی

          امنیت

          سهولت مدیریت/ سطح دشواری

          ریسک در تقسیم پروژه به بخشهای کوچکتر

·                 قابلیت استفاده از برنامه‌های کاربردی

 

هزینه‌ها

در پروژه‌های متن‌باز هزینه‌ها در دو بخش هزینه‌های مستقیم و غیر مستقیم پخش می‌شوند. هزینه‌های مستقیم عبارتند از:

o         سخت‌افزار و نرم‌افزار

          نرم‌افزار: قیمت خرید

             ارتقاء و دیگر عوامل اضافی

             پرداخت جهت گرفتن اجازه‌نامه

o         هزینه‌های پشتیبانی

          داخلی: نصب و راه‌اندازی

             نگهداری

             رفع اشکالات

             ابزار پشتیبانی (کتاب، CD، ...)

          خارجی: نصب و راه‌اندازی

             نگهداری

             رفع اشکالات

o         هزینه‌های کارمندان

          مدیریت پروژه

          تولید/ مهندسی سیستم‌ها

          راهبری سیستم‌ها: مدیریت خرید

          سایر مدیریتها

          آموزش

 

هزینه‌های‌ غیرمستقیم عبارت است از:

o         هزینه‌های پشتیبانی

          پشتیبانی کلی سیستم

          آموزشهای اتفاقی

          آموزشهای رسمی

          تولید برنامه‌های کاربردی

 

نرم افزارهاي متن باز و كتابخانه ها

توسعه و کاربرد نرم افزار های متن باز آزاد از سال 1999 افزایش چشمگیری در کتابداری و اطلاع رسانی داشته است .  کتابخانه ها تلاش های مضاعفی را در جهت تهیه سامانه های اطلاعاتی نوین کردند. این کوشش ها منجر به ظهور نرم افزار های متن باز در حوزه کتابداری و اطلاعات برای دسترسی اشاعه و مدیریت اطلاعات شد.

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

 

نرم افزار های متن باز و کتابداران

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

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

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