پنجشنبه, ۱۳ اردیبهشت, ۱۴۰۳ / 2 May, 2024
مجله ویستا

نحوه برنامه سازی و کسب در آمد بر پایه Open Source


نحوه برنامه سازی و کسب در آمد بر پایه Open Source
مدل تجاری اپن سورس بر پایه كسب درآمد از خدمات پشتیبانی نرم افزار استوار است. این مدل از كسب و كار در میان انواع مدل های تجاری دنیا مرسوم است و با آن ها به رقابت می پردازد. چرا كه برخلاف نرم افزارهای تجاری انحصاری مجوز نرم افزارهای اپن سورس محدودیت هایی را برای كاربران به وجود نمی آورد. مجوز نرم افزارهای اپن سورس مانعی در مقابل فعالیت های تجاری شركت ها نیست و تنها از انحصار نرم افزار جلوگیری می نماید. این ویژگی برتری نرم افزارهای آزاد بر دیگر نرم افزارها را نشان می دهد و برای كاربران بسیار ارزشمند است. چون آن ها را قادر می سازد نرم افزاری بومی و منطبق با اهداف خود را توسعه دهند و از آن ها استفاده نمایند. مدل كسب درآمد از طریق خدمات و پشتیبانی نرم افزار تاریخچه ای پانزده ساله دارد و پدیده ای نو نیست. در دنیای اپن سورس ظرفیت ها و توانمندی بسیاری نهفته است كه كشف و استفاده از آن ها كلید موفقیت شركت هایی است كه می خواهند در این دنیا قدم بگذارند و به حیات خود ادامه دهند. برای مثال می توانیم در ابتدا از منابع و فرآورده های آماده دنیای اپن سورس برای تولید و توسعه نرم افزار خود استفاده كنیم. برنامه نویسان ماهر همیشه بر این اصل اصرار دارند كه برنامه نویس زبردست فردی است كه دوباره كاری نكند. ممكن است سورس كد یا ماجولی را كه می خواهید برنامه نویسی كنید پیش از این تهیه شده باشد و فقط لازم باشد آن را به رایگان برای خودتان استفاده كنید. پیش از این كه اولین خط از برنامه را كدنویسی كنید بگذارید به شما بگوییم چگونه اپن سورس می تواند به شما كمك نماید و در زمان و هزینه های شما صرفه جویی كند. مدل استفاده از بسته ها و ماجول های اضافی و آماده یك شیوه پذیرفته شده در میان توسعه دهندگان اپن سورس است كه شامل در اختیار قرار دادن كدهای یك ابزار افزودنی قالب و پیكربندی یك برنامه كاربردی و شاید یك برنامه تقریبا كامل و آماده باشد. زمانی كه شما طرح یك نرم افزار را ترسیم می كنید به دقت درباره اجزا و ماجول های مورد نیاز برنامه تامل نمایید و به گشت و گذار برای یافتن آن ها بپردازید. دنیای اپن سورس بیش از پانصدهزار ماجول كاربردی را از هزاران توسعه دهنده برای شما فراهم كرده است.
● شروع كار
به دقت منابع اینترنتی اپن سورس مانند Freshmeat.net و SourceForge.net را بازبینی كنید و پروژه هایی را كه مشابه محصول شما هستند و كاربرد یكسانی دارند جست وجو و یادداشت نمایید. سپس به بررسی یافته های خود بپردازید و با كمك تجربیات و دانسته های خود به فیلترسازی و حذف موارد نامربوط و غیرمفید اقدام نمایید تا زمانی كه دو یا چند گزینه كاربردی باقی بماند. یافتن جوابی برای پرسش های زیر می تواند شما را به هدف نزدیك تر كند. آیا پروژه همان هسته یا ماجول مورد نیاز شما را تهیه می كند؟ آیا پروژه با زبان برنامه نویسی مورد نظر شما كدنویسی شده است؟ آیا پروژه فعال است؟ آیا مجوز انتشار و بهره برداری از پروژه متناسب با نیاز شما است و اجازه دستیابی و بهره برداری از منابع پروژه را به شما می دهد؟
در گام بعد پروژه ای كه تمامی نیازمندی ها و انتظارات شما را برآورده می كند و برای تولید محصولتان مناسب است را دانلود نمایید و تمامی كدهای پروژه را از نظر ساختار برنامه نویسی كیفیت كدها و توضیحات پروژه مورد بررسی قرار دهید. اگر به قطعه كد یا ماجولی برخورد كردید كه مدت زمان زیادی از برنامه نویسی آن گذشته است می توانید با مطالعه اسناد راهنما و توضیحات پروژه به نسخه های جدیدتر پروژه دسترسی پیدا كنید. در پروژه های اپن سورسی كه از یك تیم توسعه قدرتمند و فعال سود می برند این مزیت وجود خواهد داشت كه در هر زمان بتوانید به نسخه های جدیدتری از برنامه مراجعه كنید. اكنون زمان ساخت برخی از اجزای برنامه جدید خود مانند فرم كاربرگ و لوگوها فرارسیده است. اگر منابع اپن سورس را به خوبی جست وجو كرده باشید بسیاری از بخش های برنامه با تغییری جزیی در سورس كد پروژه اپن سورس آماده خواهند بود و برای تهیه آن ها زمان و نیروی انسانی زیای هدر نخواهد رفت. در این مرحله از تولید محصول نرم افزاری شما به عنوان مدیر پروژه نیاز دارید به تخمین مدت زمان توسعه پروژه بپردازید و سرعت كدنویسی تیم برنامه نویسی خود را برآورد كنید. همچنین یك برنامه كامل و بی نقص شامل تمامی اجزا حتی پیغام های خطای كاربر است. اگر این بخش ها در پروژه اپن سورس وجود نداشته باشند مقدار زمان و تلاش لازم برای تهیه آن ها را نیز به زمان توسعه برنامه اضافه كنید. اكنون زمانی است كه باید تصمیم بگیرید كه آیا پروژه شما كامل و بی نقص است یا نیاز به اشكال زدایی و خطاگیری دارد. هیچ پروژه نرم افزاری خالی از اشتباهات كدنویسی و برنامه نویسی نیست. زیرا همواره برخی از این اشتباهات از چشم تیم توسعه و مدیر پروژه پنهان خواهند بود. بسیاری از پروژه های اپن سورس قدرتمند قبل از انتشار رسمی یك نسخه چندین نسخه آزمایشی را برای یافتن نواقص و خطاهای برنامه و گرفتن بازخورد درمورد امنیت و كیفیت برنامه منتشر می كنند.
این روش چندین مزیت دارد. تمامی باگ های برنامه كشف و برطرف می شوند، كدهای غیر بهینه و كدهای مرده از پروژه حذف خواهند شد و در نهایت سطح امنیتی برنامه در مواجهه با كدهای تخریبی Exploit به صورت بسیار زیادی بالا خواهد رفت.
البته ممكن است رفع اشكال یك برنامه چندین سال به طول بینجامد. به همین خاطر طول مدت زمان خطایابی برنامه رابطه مستقیمی با اهداف و اراده شما در تولید یك برنامه دارد. قطعا پروژه نرم افزاری كه تمامی پروسه های اشكال زدایی و بهبود را پشت سر گذاشته است و چندین بار در گستره ای مانند اینترنت در معرض آزمایش و استفاده كاربران حرفه ای قرارگرفته باشد یك خروجی كامل و با كیفیت خواهد داشت و این نكته دقیقا كلید برتری نرم افزارهای اپن سورس بر نرم افزارهای انحصاری است. گستره آزمایش نرم افزارهای اپن سورس شبكه ای مانند اینترنت است. اما در نرم افزارهای انحصاری این گستره به تعدادی برنامه نویس و تیم آزمایش كننده محدود می شود. برای ارتباط بهتر و استفاده موثرتر از توسعه دهندگان و هكرهایی كه مشتاقانه و به صورت رایگان حاضر به همكاری با تیم توسعه پروژه شما هستند نیازمند تشكیل یك انجمن درباره پروژه هستید تا با در دسترس قراردادن سورس كد پروژه بتوانید هر نسخه آزمایشی را در میان انجمن توزیع كنید و از این طریق با توسعه دهندگان در ارتباط باشید. البته مجوز نرم افزار شما باید اجازه هرگونه دسترسی و اصلاح را به كاربران داده باشد. تشكیل دادن یك انجمن اجباری نیست. اما نشانه احترام به جامعه توسعه دهندگان آزاد است.● بسته نرم افزاری
آماده سازی یك محصول به صورت بسته های نرم افزاری برای دریافت از اینترنت نه تنها به توزیع برنامه كمك می كند و به آن شخصیتی مستقل می دهد بلكه مقدمات تبلیغی و اعتبارسازی برنامه را در بازار نیز فراهم می كند. اضافه بر این می توانید بسته های آماده ای از برنامه مستندات و سی دی راهنمای آن را نیز تهیه نمایید. این موضوع بیشتر برای سایت هایی سودمند است كه نمی خواهند محصول نرم افزاری خود را به صورت رایگان در اینترنت توزیع نمایند. ارزش هر بسته با توجه به ماهیت محصول می تواند برابر ۱۰۰ تا ۵۰۰ دلار قیمت گذاری شود. عوامل مختلفی مانند نوع سیستم عامل سرویس دهنده بانك اطلاعاتی و برنامه كاربردی تحت وب در قیمت هر بسته دخیل است. خدمات پشتیبانی ای كه ارایه می دهید می تواند عامل دیگری در قیمت گذاری بسته های نرم افزاری محسوب شود. به هر صورت موفقیت در این موضوع به تخصص در بازاریابی و نوع محصول شما بستگی دارد.
● ورود به بازار
مسلما شیوه بازاریابی و فروش یك محصول نرم افزاری اپن سورس با مدل های مشابه انحصاری متفاوت است و حقایقی در مورد نرم افزارهای اپن سورس وجود دارد كه باید مد نظر قرار بگیرد. برای نمونه در مدل تجاری اپن سورس به همراه یك محصول سورس كد آن نیز در اختیار مشتری قرار می گیرد یا به علت محلی بودن بسیاری از پروژه ها پشتیبانی از ساعت و تاریخ های غیرمنطقه ای وجود ندارد. اگر توانسته اید درباره پروژه اپن سورس خود یك انجمن تشكیل دهید و گروه های برنامه نویسی را فعال كنید محصول نرم افزاری شما از این قابلیت برخوردار خواهد بود كه با استفاده از بسته های افزودنی توسعه یابد و طیف وسیعی از ویژگی ها و قابلیت های جدید به آن افزوده شود كه در نهایت امكان كاربری و استفاده از این محصول برای كاربران بیشتری فراهم خواهد شد.
این بسته های افزودنی می توانند قابلیت هایی مانند پشتیبانی از یك زبان یا ساعت و تاریخ یك منطقه را نیز دربربگیرند. یك حقیقت دیگر در مدل تجاری اپن سورس تضاد میان محصول نرم افزاری بومی و مشتریان بین المللی است. اگر سعی كنید یك محصول عمومی و فراگیر تولید كنید به دیگران خدمت كرده اید و بازار بومی را از دست داده اید و اگر یك محصول بومی را توسعه دهید دیگر باید از بازار بین المللی چشم پوشی نمایید. بسیاری از مشتریان نرم افزارهای تخصصی از عدم پشتیبانی و خدمات رسانی یك محصول جدید نگران هستند و در حقیقت خدمات پس از فروش میدان جدی رقابت میان نرم افزارهای بومی و سراسری است. دلیل عدم موفقیت بسیاری از محصولات بومی كه توسعه داده می شود نیز در این واقعیت نهفته است كه شركت های بین المللی نرم افزار توانسته اند این نگرانی خریدار را برطرف نمایند.
مدل تجارت اپن سورس بر مبنای كسب درآمد از پشتیبانی و ارایه خدمات ویژه استوار است و شما برای بازاریابی محصولی اپن سورسی باید در زمینه پشتیبانی تجاری از محصول فعال باشید و دغدغه های خریدار را از جهت توسعه و ارایه خدمات به صورت مداوم برطرف نمایید. در كوتاه مدت اپن سورس در هزینه های بازاریابی و حضور در بازارهای بین المللی یك محصول عمومی صرفه جویی قابل توجهی می نماید و اگر محصول شما عالی و قدرتمند باشد به طوری كه امكان رقابت در بازارهای بین المللی را داشته باشد اپن سورس یك فرصت استثنایی خواهد بود كه نبض بازار را به دست بگیرید. اكنون بازار بین المللی برای حضور محصولات تجاری اپن سورس بسیار مستعد و آماده است و بررسی و تحلیل اخبارهای چند سال اخیر از موفقیت پروژه های اپن سورس و گرایش بسیاری از دولت ها به سوی نرم افزارهای آزاد حكایت می كند.
● كسب درآمد
چگونه می توان از یك پروژه اپن سورس درآمدزایی كرد؟ سریع ترین راه می تواند ارایه خدمات پشتیبانی برای یك محصول باشد. پس از انتشار نرم افزار یك فهرست پست الكترونیكی راه اندازی كنید و كاربران را به تبادل نظر و بحث درباره نرم افزار تشویق نمایید. یكی از مزایای فهرست پست الكترونیكی آسان نمودن كار تیم توسعه پروژه در جوابگویی به مشكلات و سوالات كاربران خواهد بود. راه اندازی یك انجمن و ارایه خدمات پشتیبانی به صورت رایگان برای اعضای انجمن گام دیگری در راستای تبلیغ محصول است. وجود یك انجمن و فهرست پستی درباره یك محصول نرم افزاری دو ابزار توسعه پروژه تلقی می شوند و باعث تمایل كاربران و شركت های تجاری به سوی آن محصول خواهند شد. پس از این دو حركت كاملا رایگان نوبت به تهیه نسخه های تجاری از پروژه می رسد.
شما می توانید نسخه های مختلفی از محصول را تهیه كنید و برای هر نسخه یك مدت زمان ارایه خدمات پشتیبانی مانند سه ماهه، شش ماهه و یك ساله تعریف كنید. در یك مدل دیگر می توان بر روی هر نسخه خدمات پشتیبانی متفاوتی را ارایه نمود. برای نرم افزارهای تخصصی می توان صدها دلار خدمات پشتیبانی، برای هر بار اشكال زدایی سیستم و برای یك دوره سه ماهه هزاران دلار تعریف كرد. در گام بعد سرویس هایی مانند نصب و راه اندازی، سفارشی نمودن و ارتقای سیستم بهترین راه درآمدزایی خواهند بود. به طوری كه درآمد واقعی نرم افزار اپن سورس از این سرویس ها خواهد بود. بااین كه سورس كد برنامه را در اختیار مشتری قرار می دهید بازهم دلایل زیادی وجود دارد كه كاربران تمایل داشته باشند از شما سرویس بگیرند و هزینه آن را نیز پرداخت نمایند. برخی از كاربران توانایی توسعه برنامه را ندارند و یا به این امر چندان رغبت نشان نمی دهند. در بسیاری از شركت های تجاری عنصر زمان نقشی حیاتی دارند وآن ها ترجیح می دهند با سرویس گیری از شما عملا در زمان خود صرفه جویی نمایند. بنابراین سرویس های ارایه شده از سوی شما مورد استقبال قرار خواهد گرفت و یك راه كسب درآمد در نرم افزارهای اپن سورس محسوب می شود. به این نكته ظریف نیز توجه داشته باشید كه هیچ كسی به خوبی شما به سورس كدها تسلط ندارد و زمان ساخت یك بسته اضافی و یا هر عملیات توسعه دیگر برای تیم برنامه نویسی غیر از تیم توسعه پروژه بسیار طولانی و هزینه بر خواهد بود. همیشه كاربرانی وجود خواهند داشت كه به نسخه رایگان قابل دانلود برنامه اكتفا نكنند و نیازمند استفاده از خدمات و سرویس های سفارش سازی شما باشند. در نهایت می توانید از طریق مجوز نرم افزار كسب درآمد كنید. هنگامی كه از یك مجوز اپن سورس برای نرم افزار خود استفاده می كنید بدین معنی نیست كه نمی توان نرم افزار را تحت مجوزی خارج از اپن سورس منتشر كرد. به دلایل بسیار زیادی بهترین مجوز اپن سورس برای این منظور GPL (General Public Licence) است. این رویكرد مخصوصا برای توابع كتابخانه ای و نرم افزارهایی كه در رده نرم افزارهای مهندسی و بانك اطلاعاتی طبقه بندی می شوند كاربرد دارد. با استفاده از مجوز GPL، هر شخصی می تواند یك نرم افزار را برای توزیع مجدد با دیگر برنامه های اپن سورس تركیب نماید و باز تحت مجوز GPL منتشر نماید و اگر مشتری نخواهد برنامه را توسعه دهد و مجددا توزیع كند لزومی ندارد كه برنامه تحت یك مجوز اپن سورس قرار گیرد. بسیاری از كاربران به صورت بالقوه تمایل ندارند نرم افزار فروخته شده به آن ها تحت مجوز اپن سورس باشد و امكان تغییر و توزیع آن وجود داشته باشد. بنابراین می توانید با سفارشی نمودن نرم افزار و ارایه یك نسخه مخصوص برای كاربر مجوز اپن سورس را از برنامه بگیرید. این رویكرد هیچ گونه تضادی با مجوزهای اپن سورس ندارد و با تمامی آن ها سازگار است. اگر مشتری شما بخواهد محصول تحت مجوز GPL را توسعه دهد و آن را توزیع نماید و شما فقط سورس كد برنامه را تحت مجوز GPL منتشر نمایید. اگر از مجوزهای خانواده BSD برای مثال (MIT، Apacheو...) برای محصول خود استفاده می نمایید، نیازی به آزاد كردن سورس كد برنامه اشتقاق شده ندارید.
منبع : روزنامه جوان