دوشنبه, ۱۸ تیر, ۱۴۰۳ / 8 July, 2024
مجله ویستا

چگونه می توانیم از نرم افزارهای اپن سورس كسب درآمد كنیم


چگونه می توانیم از نرم افزارهای اپن سورس كسب درآمد كنیم

سریع ترین راه, می تواند ارائه خدمات پشتیبانی برای یك محصول باشد پس از انتشار نرم افزار, یك فهرست پست الكترونیكی راه اندازی كنید و كاربران را به تبادل نظر و بحث درباره نرم افزار تشویق نمایید

با استفاده از مدل اپن‌سورس، می‌توان تا پنجاه درصد در زمان لا‌زم برای توسعه و اشكال‌زدایی نرم‌افزار صرفه‌جویی نمود. از سوی دیگر روش‌های توسعه و خطایابی نرم‌افزارهای اپن‌سورس هزینه‌های بسیار زیاد تحمیل شده به پروژه‌های نرم‌افزاری را حذف می‌نمایند.

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

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

● خدمات به‌جای انحصار

مدل تجاری اپن‌سورس بر پایه كسب درآمد از خدمات پشتیبانی نرم‌افزار استوار است. این مدل از كسب‌و‌كار در میان انواع مدل‌های تجاری دنیا مرسوم است و با آن‌ها به رقابت می‌پردازد. چرا كه برخلاف نرم‌افزارهای تجاری انحصاری (proprietary Software)، مجوز نرم‌افزارهای اپن‌سورس محدودیت‌هایی را برای كاربران به‌‌وجود نمی‌آورد. مجوز نرم‌افزارهای اپن‌سورس مانعی در مقابل فعالیت‌های تجاری شركت‌ها نیست و تنها از انحصار نرم‌افزار جلوگیری می‌نماید. این ویژگی، برتری نرم‌افزارهای آزاد بر دیگر نرم‌افزارها را نشان می‌دهد و برای كاربران بسیار ارزشمند است. چون آن‌ها را قادر می‌سازد نرم‌افزاری بومی و منطبق با اهداف خود را توسعه دهند و از آن‌ها استفاده نمایند. مدل كسب درآمد از طریق خدمات و پشتیبانی نرم‌افزار تاریخچه‌ای پانزده ساله دارد و پدیده‌ای نو نیست.

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

در این میان شركت‌هایی وجود دارند كه توانایی رقابت با شركت‌های تجاری نرم‌افزارهای انحصاری را دارند و حتی بخش قابل توجهی از بازار را تحت كنترل خود درآورده‌اند.

دنیای اپن‌سورس شامل چندین هزار محصول، شركت تجاری و آزاد ارائه‌دهنده راه‌حل‌های كاربردی و خدمات پشتیبانی است. (به طوری كه تنها در كشور استرالیا بیش از ۳۰۰ شركت وجود دارد. اگر علاقمند هستید اطلاعات بیشتری در این زمینه به دست بیاورید، می‌توانید به پایگاه OSIA به نشانی www.osia.net.au مراجعه نمایید).

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

مدل توسعه و توزیع۱ اپن‌سورس موجب پیشرفت نرم افزارهای بومی۲ می‌شود و یك میدان توسعه پویا و فعال را برای برنامه‌نویسان آزاد‌۳ به وجود می‌آورد. برای مثال، بازار محصولات نرم‌افزاری كشوری مانند استرالیا كه بر پایه تولید و به‌كارگیری نرم‌افزارهای بومی و اختصاصی شكل گرفته است، هیچ‌گونه تلاش یا فعالیتی برای تولید نرم‌افزارهای عمومی در آن صورت نمی‌گیرد (غالب شركت‌های استرالیایی كه دارای نمایندگی شركت‌های بین‌المللی ایالا‌ت متحده هستند با دادن زیان‌های بسیار مجبور به تعطیلی شده‌اند)، یك محیط مستعد برای پذیرش مدل توسعه اپن‌سورس و رشد نرم‌افزارهای آزاد تلقی می‌شود.

● پرهیز از دوباره‌كاری

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

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

● شروع كار

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

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

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

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

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

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

ترجمه: میثاق محمدی‌زاده‌

پی‌نوشت:

۱- development and distribution models: در مدل توسعه و توزیع، نرم‌افزار پس از طی نمودن یك مرحله از توسعه، برای تست و آزمایش به صورت گسترده در میان برنامه‌نویسان و علاقمندان توزیع می‌شود. پس از مشخص شدن خطاها و اشكالات برنامه، مجدداً مرحله توسعه برنامه آغاز می‌شود.

۲- نر‌م‌افزارهای بومی (Local Software) در مقابل نرم‌افزارهای عمومی یا سراسری (Global Software) قراردارند و به نرم‌افزارهایی اطلاق می‌شود كه دارای ویژگی‌ها و قابلیت‌های كشور یا منطقه‌ محل توسعه هستند.

۳- منظور برنامه‌نویسانی هستند كه در استخدام یك شركت تجاری نیستند و به صورت آزاد و از روی علاقه‌ به برنامه‌نویسی و توسعه نرم‌افزار می‌پردازند.


شما در حال مطالعه صفحه 1 از یک مقاله 2 صفحه ای هستید. لطفا صفحات دیگر این مقاله را نیز مطالعه فرمایید.