مدل تجاري اپنسورس بر پايه كسب درآمد از خدمات پشتيباني نرمافزار استوار است. اين مدل از كسبوكار در ميان انواع مدلهاي تجاري دنيا مرسوم است و با آنها به رقابت ميپردازد. چرا كه برخلاف نرمافزارهاي تجاري انحصاري (proprietary Software)، مجوز نرمافزارهاي اپنسورس محدوديتهايي را براي كاربران بهوجود نميآورد. مجوز نرمافزارهاي اپنسورس مانعي در مقابل فعاليتهاي تجاري شركتها نيست و تنها از انحصار نرمافزار جلوگيري مينمايد. اين ويژگي، برتري نرمافزارهاي آزاد بر ديگر نرمافزارها را نشان ميدهد و براي كاربران بسيار ارزشمند است. چون آنها را قادر ميسازد نرمافزاري بومي و منطبق با اهداف خود را توسعه دهند و از آنها استفاده نمايند. مدل كسب درآمد از طريق خدمات و پشتيباني نرمافزار تاريخچهاي پانزده ساله دارد و پديدهاي نو نيست. اگر بخواهيم نگاهي به صنعت نرمافزارهاي اپنسورس در جهان داشته باشيم، با بيش از دويست شركت تجاري در زمينه سيستمعامل لينوكس و BSD روبهرو هستيم كه بر اساس سكوي اپنسورس فعاليت ميكنند. اين شركتها با همكاري همديگر روي صدها نرمافزار كاربردي سرمايهگذاري كردهاند كه برخي از آنها تجاري هستند و براي سكوهاي سيستمعاملي و بازار توسعه داده ميشوند و برخي ديگر هم غيرتجاري هستند. در اين ميان شركتهايي وجود دارند كه توانايي رقابت با شركتهاي تجاري نرمافزارهاي انحصاري را دارند و حتي بخش قابل توجهي از بازار را تحت كنترل خود درآوردهاند. دنياي اپنسورس شامل چندين هزار محصول، شركت تجاري و آزاد ارائهدهنده راهحلهاي كاربردي و خدمات پشتيباني است. (به طوري كه تنها در كشور استراليا بيش از ۳۰۰ شركت وجود دارد.) اگر علاقمند هستيد اطلاعات بيشتري در اين زمينه به دست بياوريد، ميتوانيد به پايگاه OSIA به نشاني www.osia.net.au مراجعه نماييد.
اضافه بر اين، اكنون بسياري از شركتهاي قدرتمند و شناختهشده در دنياي كامپيوتر و ICT كه از قدمت زيادي نيز برخوردارند، به پشتيباني از نرمافزارهاي اپنسورس روي آوردهاند كه دامنه آن از توليدكنندگان محصولات سختافزاري تا شركتهاي كاملاً تخصصي فناوريهاي پيشرفته را دربرميگيرد. بسياري از راهحلهاي اقتصادي از سوي شركتهاي تجاري ارائهدهنده محصولات انحصارگرا پشتيباني و حمايت ميشوند كه از همراهي نرمافزارهاي اپنسورس با نرمافزارهاي انحصاري حكايت دارد و فرضيه تضاد اين دو نوع نرمافزار را رد ميكند. نهتنها نرمافزارهاي انحصاري با ابزارهاي اپنسورس قابل ساخت و توسعه هستند، بلكه بسياري از برنامههاي انحصاري از توابع كتابخانهاي اپنسورس بهره ميبرند و روي سكوهاي نرمافزاري اپنسورس اجرا ميشوند. مدل توسعه و توزيع اپنسورس موجب پيشرفت نرم افزارهاي بومي ميشود و يك ميدان توسعه پويا و فعال را براي برنامهنويسان آزاد به وجود ميآورد. براي مثال، بازار محصولات نرمافزاري كشوري مانند استراليا كه بر پايه توليد و بهكارگيري نرمافزارهاي بومي و اختصاصي شكل گرفته است، هيچگونه تلاش يا فعاليتي براي توليد نرمافزارهاي عمومي در آن صورت نميگيرد (غالب شركتهاي استراليايي كه داراي نمايندگي شركتهاي بينالمللي ايالات متحده هستند با دادن زيانهاي بسيار مجبور به تعطيلي شدهاند)، يك محيط مستعد براي پذيرش مدل توسعه اپنسورس و رشد نرمافزارهاي آزاد تلقي ميشود.
پرهيز از دوبارهكاري
در دنياي اپنسورس ظرفيتها و توانمندي بسياري نهفته است كه كشف و استفاده از آنها كليد موفقيت شركتهايي است كه ميخواهند در اين دنيا قدم بگذارند و به حيات خود ادامه دهند. براي مثال ميتوانيم در ابتدا از منابع و فرآوردههاي آماده دنياي اپنسورس براي توليد و توسعه نرمافزار خود استفاده كنيم. برنامهنويسان ماهر هميشه بر اين اصل اصرار دارند كه “برنامهنويس زبردست، فردي است كه دوبارهكاري نكند”. ممكن است سورسكد يا ماجولي را كه ميخواهيد برنامهنويسي كنيد، پيش از اين تهيه شده باشد و فقط لازم باشد آن را به رايگان براي خودتان استفاده كنيد. پيش از اينكه اولين خط از برنامه را كدنويسي كنيد، بگذاريد به شما بگوييم چگونه اپنسورس ميتواند به شما كمك نمايد و در زمان و هزينههاي شما صرفهجويي كند. مدل استفاده از بستهها و ماجولهاي اضافي و آماده، يك شيوه پذيرفته شده در ميان توسعهدهندگان اپنسورس است كه شامل در اختيار قرار دادن كدهاي يك ابزار افزودني، قالب و پيكربندي يك برنامه كاربردي و شايد يك برنامه تقريباً كامل و آماده باشد. زماني كه شما طرح يك نرمافزار را ترسيم ميكنيد، به دقت درباره اجزا و ماجولهاي مورد نياز برنامه تامل نماييد و به گشت و گذار براي يافتن آنها بپردازيد. دنياي اپنسورس بيش از پانصدهزار ماجول كاربردي را از هزاران توسعهدهنده، براي شما فراهم كرده است.
شروع كار
به دقت منابع اينترنتي اپنسورس مانند Freshmeat.net و SourceForge.net را بازبيني كنيد و پروژههايي را كه مشابه محصول شما هستند و كاربرد يكساني دارند، جستجو و يادداشت نماييد. سپس به بررسي يافتههاي خود بپردازيد و با كمك تجربيات و دانستههاي خود به فيلترسازي و حذف موارد نامربوط و غيرمفيد اقدام نماييد تا زماني كه دو يا چند گزينه كاربردي باقي بماند. يافتن جوابي براي پرسشهاي زير ميتواند شما را به هدف نزديكتر كند: آيا پروژه همان هسته يا ماجول مورد نياز شما را تهيهميكند؟ آيا پروژه با زبان برنامهنويسي مورد نظر شما كدنويسي شده است؟ آيا پروژه فعال است؟ آيا مجوز انتشار و بهره برداري از پروژه متناسب با نياز شما است و اجازه دستيابي و بهره برداري از منابع پروژه را به شما ميدهد؟ در گام بعد، پروژهاي كه تمامي نيازمنديها و انتظارت شما را برآورده ميكند و براي توليد محصولتان مناسب است را دانلود نماييد و تمامي كدهاي پروژه را از نظر ساختار برنامهنويسي، كيفيت كدها و توضيحات پروژه مورد بررسي قرار دهيد. اگر به قطعه كد يا ماجولي برخورد كرديد كه مدت زمان زيادي از برنامهنويسي آن گذشته است، ميتوانيد با مطالعه اسناد راهنما و توضيحات پروژه، به نسخههاي جديدتر پروژه دسترسي پيدا كنيد. در پروژههاي اپنسورسي كه از يك تيم توسعه قدرتمند و فعال سود ميبرند، اين مزيت وجود خواهد داشت كه در هر زمان بتوانيد به نسخههاي جديدتري از برنامه مراجعه كنيد. اكنون زمان ساخت برخي از اجزاي برنامه جديد خود مانند فرم ، كاربرگ و لوگوها فرارسيدهاست. اگر منابع اپنسورس را به خوبي جستجو كرده باشيد، بسياري از بخشهاي برنامه با تغييري جزئي در سورسكد پروژه اپنسورس آماده خواهند بود و براي تهيه آنها زمان و نيروي انساني زياي هدر نخواهد رفت. در اين مرحله از توليد محصول نرمافزاري، شما به عنوان مدير پروژه، نياز داريد به تخمين مدت زمان توسعه پروژه بپردازيد و سرعت كدنويسي تيم برنامهنويسي خود را برآورد كنيد. همچنين يك برنامه كامل و بينقص، شامل تمامي اجزا، حتي پيغامهاي خطاي كاربر است. اگر اين بخشها در پروژه اپنسورس وجود نداشته باشند، مقدار زمان و تلاش لازم براي تهيه آنها را نيز به زمان توسعه برنامه اضافه كنيد. اكنون زماني است كه بايد تصميم بگيريد كه آيا پروژه شما كامل و بينقص است يا نياز به اشكالزدايي و خطاگيري دارد. هيچ پروژه نرمافزاري خالي از اشتباهات كدنويسي و برنامهنويسي نيست. زيرا همواره برخي از اين اشتباهات، از چشم تيم توسعه و مدير پروژه پنهان خواهند بود. بسياري از پروژههاي اپنسورس قدرتمند، قبل از انتشار رسمي يك نسخه، چندين نسخه آزمايشي را براي يافتن نواقص و خطاهاي برنامه و گرفتن بازخورد درمورد امنيت و كيفيت برنامه، منتشر ميكنند. اين روش چندين مزيت دارد: تمامي باگهاي برنامه كشف و برطرف ميشوند، كدهاي غير بهينه و كدهاي مرده از پروژه حذف خواهند شد و در نهايت سطح امنيتي برنامه در مواجهه با كدهاي تخريبي Exploit به صورت بسيار زيادي بالا خواهد رفت. البته ممكن است رفع اشكال يك برنامه چندين سال به طول بينجامد. به همين خاطر طول مدت زمان خطايابي برنامه رابطه مستقيمي با اهداف و اراده شما در توليد يك برنامه دارد. قطعاً پروژه نرمافزاري كه تمامي پروسههاي اشكالزدايي و بهبود را پشتسر گذاشته است و چندين بار در گسترهاي مانند اينترنت در معرض آزمايش و استفاده كاربران حرفهاي قرارگرفته باشد، يك خروجي كامل و با كيفيت خواهد داشت و اين نكته دقيقاً كليد برتري نرمافزارهاي اپنسورس بر نرمافزارهاي انحصاري است. گستره آزمايش نرمافزارهاي اپنسورس، شبكهاي مانند اينترنت است. اما در نرمافزارهاي انحصاري، اين گستره به تعدادي برنامهنويس و تيم آزمايشكننده محدود ميشود. براي ارتباط بهتر و استفاده موثرتر از توسعهدهندگان و هكرهايي كه مشتاقانه و به صورت رايگان حاضر به همكاري با تيم توسعه پروژه شما هستند، نيازمند تشكيل يك انجمن درباره پروژه هستيد تا با در دسترس قراردادن سورس كد پروژه، بتوانيد هر نسخه آزمايشي را در ميان انجمن توزيع كنيد و از اين طريق با توسعهدهندگان در ارتباط باشيد. البته مجوز نرمافزار شما بايد اجازه هرگونه دسترسي و اصلاح را به كاربران داده باشد. تشكيل دادن يك انجمن، اجباري نيست. اما نشانه احترام به جامعه توسعهدهندگان آزاد است.
بسته نرمافزاري
آمادهسازي يك محصول به صورت بستههاي نرمافزاري براي دريافت از اينترنت، نه تنها به توزيع برنامه كمك ميكند و به آن شخصيتي مستقل ميدهد، بلكه مقدمات تبليغي و اعتبارسازي برنامه را در بازار نيز فراهم ميكند. اضافه بر اين، ميتوانيد بستههاي آمادهاي از برنامه، مستندات و سيدي راهنماي آن را نيز تهيه نماييد. اين موضوع بيشتر براي سايتهايي سودمند است كه نميخواهند محصول نرمافزاري خود را به صورت رايگان در اينترنت توزيع نمايند. ارزش هر بسته، با توجه به ماهيت محصول ميتواند برابر ۱۰۰ تا ۵۰۰ دلار قيمتگذاري شود. عوامل مختلفي مانند نوع سيستمعامل، سرويسدهنده، بانكاطلاعاتي و برنامه كاربردي تحت وب در قيمت هر بسته دخيل است. خدمات پشتيبانياي كه ارائه ميدهيد ميتواند عامل ديگري در قيمتگذاري بستههاي نرمافزاري محسوب شود. به هر صورت، موفقيت در اين موضوع به تخصص در بازاريابي و نوع محصول شما بستگي دارد.
ورود به بازار
مسلماً شيوه بازاريابي و فروش يك محصول نرمافزاري اپنسورس با مدلهاي مشابه انحصاري متفاوت است و حقايقي در مورد نرمافزارهاي اپنسورس وجود دارد كه بايد مد نظر قرار بگيرد. براي نمونه در مدل تجاري اپنسورس، به همراه يك محصول، سورسكد آن نيز در اختيار مشتري قرارميگيرد يا به علت محلي بودن بسياري از پروژهها، پشتيباني از ساعت و تاريخهاي غيرمنطقهاي وجود ندارد. اگر توانستهايد درباره پروژه اپنسورس خود يك انجمن تشكيل دهيد و گروههاي برنامهنويسي را فعال كنيد، محصول نرمافزاري شما از اين قابليت برخوردار خواهد بود كه با استفاده از بستههاي افزودني توسعه يابد و طيف وسيعي از ويژگيها و قابليتهاي جديد به آن افزوده شود كه در نهايت امكان كاربري و استفاده از اين محصول براي كاربران بيشتري فراهم خواهد شد. اين بستههاي افزودني ميتوانند قابليتهايي مانند پشتيباني از يك زبان يا ساعت و تاريخ يك منطقه را نيز دربربگيرند. يك حقيقت ديگر در مدل تجاري اپنسورس، تضاد ميان محصول نرمافزاري بومي و مشتريان بينالمللي است. اگر سعي كنيد يك محصول عمومي و فراگير توليد كنيد، به ديگران خدمت كردهايد و بازار بومي را از دست دادهايد و اگر يك محصول بومي را توسعه دهيد ديگر بايد از بازار بينالمللي چشمپوشي نماييد. بسياري از مشتريان نرمافزارهاي تخصصي، از عدم پشتيباني و خدماترساني يك محصول جديد نگران هستند و در حقيقت “خدمات پس از فروش” ميدان جدي رقابت ميان نرمافزارهاي بومي و سراسري است. دليل عدم موفقيت بسياري از محصولات بومي كه توسعه داده ميشود نيز در اين واقعيت نهفته است كه شركتهاي بينالمللي نرمافزار، توانستهاند اين نگراني خريدار را برطرف نمايند. مدل تجارت اپن سورس بر مبناي كسب درآمد از پشتيباني و ارائه خدمات ويژه استوار است و شما براي بازاريابي محصولي اپنسورسي، بايد در زمينه پشتيباني تجاري از محصول فعال باشيد و دغدغههاي خريدار را از جهت توسعه و ارائه خدمات به صورت مداوم برطرف نماييد. در كوتاه مدت، اپنسورس در هزينههاي بازاريابي و حضور در بازارهاي بينالمللي يك محصول عمومي صرفهجويي قابل توجهي مينمايد و اگر محصول شما عالي و قدرتمند باشد، به طوري كه امكان رقابت در بازارهاي بينالمللي را داشته باشد، اپنسورس يك فرصت استثنايي خواهد بود كه نبض بازار را به دست بگيريد. اكنون بازار بينالمللي براي حضور محصولات تجاري اپنسورس بسيار مستعد و آماده است و بررسي و تحليل اخبارهاي چند سال اخير، از موفقيت پروژههاي اپنسورس و گرايش بسياري از دولتها به سوي نرمافزارهاي آزاد حكايت ميكند.
كسب درآمد
چگونه ميتوان از يك پروژه اپنسورس درآمدزايي كرد؟ سريعترين راه، ميتواند ارائه خدمات پشتيباني براي يك محصول باشد. پس از انتشار نرمافزار، يك فهرست پست الكترونيكي راهاندازي كنيد و كاربران را به تبادل نظر و بحث درباره نرمافزار تشويق نماييد. يكي از مزاياي فهرست پست الكترونيكي، آسان نمودن كار تيم توسعه پروژه در جوابگويي به مشكلات و سوالات كاربران خواهد بود. راهاندازي يك انجمن و ارائه خدمات پشتيباني بهصورت رايگان براي اعضاي انجمن گام ديگري در راستاي تبليغ محصول است. وجود يك انجمن و فهرست پستي درباره يك محصول نرمافزاري، دو ابزار توسعه پروژه تلقي ميشوند و باعث تمايل كاربران و شركتهاي تجاري به سوي آن محصول خواهند شد. پس از اين دو حركت كاملاً رايگان، نوبت به تهيه نسخههاي تجاري از پروژه ميرسد. شما ميتوانيد نسخههاي مختلفي از محصول را تهيه كنيد و براي هر نسخه يك مدت زمان ارائه خدمات پشتيباني مانند سه ماهه، شش ماهه و يك ساله تعريف كنيد. در يك مدل ديگر ميتوان بر روي هر نسخه، خدمات پشتيباني متفاوتي را ارائه نمود. براي نرمافزارهاي تخصصي، ميتوان صدها دلار خدمات پشتيباني براي هر بار اشكالزدايي سيستم، و براي يك دوره سه ماهه هزاران دلار تعريف كرد. در گام بعد، سرويسهايي مانند نصب و راهاندازي، سفارشي نمودن و ارتقاي سيستم، بهترين راه درآمدزايي خواهند بود. به طوري كه درآمد واقعي نرمافزار اپنسورس از اين سرويسها خواهد بود. با اينكه سورسكد برنامه را در اختيار مشتري قرار ميدهيد بازهم، دلايل زيادي وجود دارد كه كاربران تمايل داشته باشند از شما سرويس بگيرند و هزينه آن را نيز پرداخت نمايند. برخي از كاربران توانايي توسعه برنامه را ندارند و يا به اين امر چندان رغبت نشان نميدهند. در بسياري از شركتهاي تجاري، عنصر “زمان” نقشي حياتي دارند و آنها ترجيح ميدهند با سرويسگيري از شما، عملاً در زمان خود صرفهجويي نمايند. بنابراين سرويسهاي ارائه شده از سوي شما مورد استقبال قرار خواهد گرفت و يك راه كسب درآمد در نرمافزارهاي اپنسورس محسوب ميشود. به اين نكته ظريف نيز توجه داشته باشيد كه هيچكسي به خوبي شما به سورسكدها تسلط ندارد و زمان ساخت يك بسته اضافي و يا هر عمليات توسعه ديگر، براي تيم برنامهنويسي غير از تيم توسعه پروژه، بسيار طولاني و هزينهبر خواهد بود. هميشه كاربراني وجود خواهند داشت كه به نسخه رايگان قابل دانلود برنامه اكتفا نكنند و نيازمند استفاده از خدمات و سرويسهاي سفارش سازي شما باشند. در نهايت، ميتوانيد از طريق مجوز نرمافزار كسب درآمد كنيد. هنگامي كه از يك مجوز اپنسورس براي نرمافزار خود استفاده ميكنيد، بدين معني نيست كه نميتوان نرمافزار را تحت مجوزي خارج از اپنسورس منتشر كرد. به دلايل بسيار زيادي، بهترين مجوز اپنسورس براي اين منظور (General Public Licence) GPL است. اين رويكرد مخصوصاً براي توابع كتابخانهاي و نرمافزارهايي كه در رده نرمافزارهاي مهندسي و بانكاطلاعاتي طبقهبندي ميشوند كاربرد دارد. با استفاده از مجوز GPL، هر شخصي ميتواند يك نرمافزار را براي توزيع مجدد با ديگر برنامههاي اپنسورس تركيب نمايد و باز تحت مجوز GPL منتشر نمايد و اگر مشتري نخواهد برنامه را توسعه دهد و مجدداً توزيع كند، لزومي ندارد كه برنامه تحت يك مجوز اپنسورس قرار گيرد. بسياري از كاربران به صورت بالقوه تمايل ندارند نرمافزار فروخته شده به آنها تحت مجوز اپنسورس باشد و امكان تغيير و توزيع آن وجود داشته باشد. بنابراين ميتوانيد با سفارشي نمودن نرمافزار و ارائه يك نسخه مخصوص براي كاربر، مجوز اپن سورس را از برنامه بگيريد. اين رويكرد هيچگونه تضادي با مجوزهاي اپنسورس ندارد و با تمامي آنها سازگار است. اگر مشتري شما بخواهد محصول تحت مجوز GPL را توسعه دهد و آن را توزيع نمايد و شما فقط سورسكد برنامه را تحت مجوز GPL منتشر نماييد. اگر از مجوزهاي خانواده BSD براي مثال MIT) ،Apache و…) براي محصول خود استفاده مينماييد، نيازي به آزادكردن سورسكد برنامه اشتقاق شده نداريد.