باید‌ها و نبایدها در مهاجرت به نرم‌افزارهای آزاد / متن‌باز: مهاجرت برای آزادی بیشتر

حکایت مهاجرت به نرم‌افزارهای آزاد / متن‌باز (Free and Open Source Software) هم حکایت سرویس مدرسه و دوچرخه است. بارها و بارها شنیده‌ایم که نرم‌افزار آزاد/ متن‌باز مزیت‌های منحصر‌به‌فردی دارد. پس در اولین فرصت یک نسخه گنو/ لینوکس را به همراه مجموعه لیبره‌آفیس، دریافت، نصب و ویندوز با تمام برنامه‌های آن را پاک می‌کنیم. با این کار مهاجرت از نرم‌افزارهای متن بسته (Closed Source Software) به نرم‌افزارهای آزاد/ متن‌باز را آغاز کرده‌ایم. این‌جاست که مهم‌ترین حلقه یک مهاجرت از قلم افتاده است: بررسی شرایط و انتخاب روش و متدلوژی متناسب با آن. اولین موضوعی که در مهاجرت به نرم‌افزارهای آزاد باید مدنظر داشت این است که آیا هزینه تمام شده نهایی مهاجرت کم‌تر است یا خیر؟ این هزینه تمام شده با عنوان هزینه نهایی مالکیت (Total Cost of Ownership یا به اختصار TCO) شناخته می‌شود. هزینه تهیه، نصب و نگهداری یک نرم‌افزار در طول چرخه حیات آن نرم‌افزار را TCO نامیده‌اند. با وجود آن‌که بیش‌تر تحقیق‌ها در این زمینه نشان داده است که اکثر مهاجرت‌ها مقرون به صرفه‌تر هستند، اما نمونه‌های با اهمیتی نیز وجود دارد که خلاف این موضوع را ثابت می‌کند. به عنوان نمونه تحقیقی که در سال 2004 در زمینه مهاجرت به نرم‌افزارهای متن‌باز در شهر مونیخ انجام شد، نشان داد که مهاجرت از مایکروسافت ویندوز 2000 به همراه مجموعه آفیس 2000 (که تا آن زمان در حال استفاده بود) به مایکروسافت ویندوز XP و مجموعه آفیس XP در حدود 4.5 میلیون یورو ارزان‌تر از مهاجرت به یک نسخه گنو/ لینوکسی و مجموعه OpenOffice.org خواهد بود.

چالش‌های پیش‌رو
داشتن نگاه یک جانبه درباره مهاجرت، اشتباه بزرگی محسوب می‌شود. اگر تصمیم دارید سازمان خود، مجموعه‌ شرکت‌ها یا حتی یک کشور را به سوی نرم‌افزارهای آزاد/ متن‌باز مهاجرت دهید، باید با مطالعه و تحقیق دقیق شرایط را بررسی کرده و برای هر یک از چالش‌های پیش‌رو راه‌حل یا پاسخی پیدا کنید. چالش‌های مهاجرت عمدتا به دو دسته تقسیم می‌شوند:
۱. چالش‌های تکنیکی
۲. چالش‌های غیرتکنیکی.
از چالش‌های تکنیکی می‌توان به کاربردپذیری (Usability)، خدمات توسعه و پشتیبانی نرم‌افزار، تعامل‌پذیــــری
(Inter-operability) و… اشاره کرد. چالش‌های منابع انسانی و میزان تطبیق آن‌ها، پشتیبانی از زبان محلی و… را می‌توان به عنوان چالش‌های غیرتکنیکی نام برد.

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

  • هزینه مطالعه و بررسی و تحقیق
  • هزینه اثبات پیاده‌سازی مفهوم

2. مالکیت

  • قیمت نرم‌افزار
  • هزینه سفارشی‌سازی نرم‌افزار برای کسب‌وکار و مقصودی خاص
  • هزینه تطابق با بستر کنونی سازمان

3. تطابق و یک‌پارچهسازی

  • هزینه مهاجرت (داده‌ها و کاربر)
  • هزینه آموزش
  • هزینه فرآیند و بهترین شیوه کار

4. استفاده

  • هزینه خدمات پشتیبانی
  • هزینه نگهداری و به‌روزرسانی
  • مقیاس‌پذیری (مبتنی بر تغییر حجم تراکنش‌ها و تعداد کاربران)
  • مهاجرت دوباره
  • هزینه خروج یا مهاجرت دوباره (مبتنی بر نرم‌افزار یا سخت‌افزار)
  • هزینه خروج یا مهاجرت دوباره (مبتنی بر تغییرات یا آموزش و تطبیق با نسخه‌های جدید)

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

دسکتاپی یا سروری
با همه‌گیر شــــدن رایانــش ابری (Cloud Computing)، مهاجرت به نرم‌افزار آزاد/ متن‌باز (FOSS) به مراتب آسان‌تر از پیش شده است. دیگر به جای آن‌که برای هر رایانه داخل شرکت یک مجوز حق استفاده (License) خریداری شود می‌توان با هزینه بسیار کم‌تری، یک نسخه تحت ابر (Cloud) آن نرم‌افزار را راه‌اندازی کرد و بدین ترتیب تقریبا محدودیتی در زمینه تعداد کاربران وجود نخواهد داشت. اما همیشه مهاجرت به ابر گزینه مناسبی نیست و باید تحقیق و مطالعه در این زمینه صورت بگیرد. برای مثال آیا اصلا راهکار ابری برای کسب‌وکار موردنظر وجود دارد؟ آیا بستر لازم مانند شبکه امن و پایدار وجود دارد؟ آیا هزینه پیاده‌سازی ابر در درازمدت به صرفه‌تر است؟ و ده‌ها سوال دیگر که باید پاسخ صحیح آن را یافت.
نمونه‌ مهاجرت‌های بزرگ دسکتاپی نیز کم نیستند. برای مثال می‌توان به مهاجرت ۸۰ هزار دستگاه دسکتاپی و سروری اکسترمادورا (بخش خودمختار اسپانیا) به گنو/ لینوکس، با صرفه‌جویی ۱۸ میلیون یورویی در سال ۲۰۰۵ اشاره کرد. همچنین مهاجرت ۱۴ هزار دستگاه دسکتاپی مونیخ به توزیع دبیان، مهاجرت ۷ هزار و پانصد دسکتاپ شهر وین اتریش به توزیع Wienux از نمونه‌های موفق دیگر به حساب می‌آیند. به عنوان نمونه کوچک‌تر باید به شهر لاوگو ایالت فلوریدا اشاره کرد که با مهاجرت ۹۰۰ دستگاه دسکتاپی و سروری خود به لینوکس مبلغی در حدود ۳۰۰ تا ۴۰۰ هزار دلار در سال ۲۰۰۲ صرفه‌جویی داشته است.

داده‌ها
طی سال‌های اخیر همزمان با همه‌گیر شدن FOSS، اســـــتانداردهای داده‌باز
(Open Data Standards یا ODS) نیز ظهور پیدا کرده‌اند. این مساله به حدی بود که با فشار اروپا به مایکروسافت، این شرکت در سال ۲۰۰۵ مجبور شد از قالب فایل باز و مبتنی بر XML که با نام OASIS شناخته می‌شود در مجموعه آفیس خود پشتیبانی کند.
به هر میزان از استانداردهای باز فایل استفاده شود، دسترسی، مدیریت و تبدیل آن‌ها آسان‌تر می‌شود. تصور کنید اگر طی یک مهاجرت، استاندارد فایل‌های داده‌های شما به صورت متن‌باز باشد، تا چه حد فرآیند تبدیل آن‌ها آسان می‌شود. حتی ممکن است که نیازی به تبدیل قالب وجود نداشته باشد.
این روزها داده‌ها (Data) موجودیت بسیار ارزشمندی دارند. حال اگر یک سازمان بخواهد مهاجرت کند و نتواند داده‌های کنونی خود را به شکلی مناسب تبدیل کند، عملا مهاجرت بی‌معنا خواهد بود. استفاده از قالب‌های بسته یا انحصاری، همچنین قفل‌های نرم‌افزاری که روی نرم‌افزارها توسط تولیدکننده‌های آن‌ها گذاشته می‌شود (Vendor’s lock-in) از بزرگ‌ترین دغدغه‌های هر سازمان به حساب می‌آید. در مهاجرت داده‌ها (Data Migration) به بستر جدید می‌بایست داده‌ها را به سه دسته تقسیم کرد تا فرآیند مهاجرت آسان‌تر باشد:
۱. داده‌های بی‌ارزش و قابل حذف: این دسته از داده‌ها هیچ‌گونه اهمیتی نداشته و می‌توان با حذف آن‌ها فرآیند مهاجرت را کم‌هزینه‌تر و آسان‌تر کرد. البته ناگفته نماند کم‌تر پیش‌ می‌آید که داده‌ای ارزشمند نباشد. قبل از پاک‌سازی داده‌های بی‌ارزش، دوباره فکر کنید و از این کار اطمینان حاصل کنید.
۲. داده‌های قابل ترجمه: این دسته از داده‌ها یا به‌طور مستقیم در بستر جدید قابل استفاده هستند یا فرآیند تبدیل آن‌ها به قالبی جدید و قابل استفاده در بستر جدید سازمان، آسان است. برای مثال داده‌های داخل یک دیتابیس باز.
۳. داده‌های بسته: در این نوع داده، امکان استفاده مستقیم یا تبدیل وجود ندارد و ابتدا باید آن را به یک واسط انتقال داد و سپس این نسخه واسط از داده‌ها را به قالب موردنظر تبدیل کرد.

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

مجوز حق استفاده
این جمله را هیچ‌گاه فراموش نکنید که «هر نرم‌افزار متن‌باز، نرم‌افزار آزاد نیست». این جمله به مجوزهای حق استفاده یا License برمی‌گردد. جالب است بدانید تا اوایل سال ۲۰۰۹ میلادی بیش از ۷۰ نوع مختلف مجوز استفاده از نرم‌افزار آزاد و متن‌باز وجود داشت که تا امروز این تعداد کمی افزایش یافته است. این‌که نرم‌افزار تحت چه مجوزی منتشر شده است، اهمیت فراوانی دارد. برای مثال ممکن است طبق مجوز نرم‌افزاری، آن برنامه، برای کاربری خانگی رایگان و بدون محدودیت باشد، اما اگر بخواهید از آن برای کسب‌وکار استفاده کنید، باید به شرکت سازنده پول پرداخت کنید تا مجوز استفاده تجاری از آن را دریافت کنید.
آشنایی با انواع مجوزها (Licenses) در مهاجرت اجباری است. مطالعه مجوز، پیش از انتخاب صددرصد بستر متن‌باز یا آزاد اکیدا توصیه می‌شود. یک اشتباه کوچک می‌تواند سازمان شما را به دادگاه بکشاند یا هزینه‌ای گزاف تحمیل کند.

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

آینده متن‌باز
پیش از ملحق شدن به یک جنبش یا حرکت، باید از آینده آن اطمینان حاصل کرد. اگر آینده درخشانی برای یک جنبش وجود نداشته باشد، پیوستن به آن به جز نابودی هیچ چیز به همراه ندارد. پیوستن به جنبش نرم‌افزار آزاد/ متن‌باز نیز از همین قاعده پیروی می‌کند. North Bridge که یک شرکت ریسک سرمایه‌گذاری است، هر ساله بر اساس تحقیقی به آینده نرم‌افزارهای متن‌باز می‌پردازد و امسال نیز مانند سنت همیشه هشتمین گزارش سالانه خود را که با همکاری ۵۰ همکار و نتیجه پاسخ ۱۲۴۰ پاسخ‌دهنده، در قالب ۸۶ اسلاید ارائه کرده است. بخش‌های کلیدی این گزارش را به صورت اینفوگرافی تهیه کردیم که در ادامه می‌بینید.