اشاره :
به گزارش موسسه تحقیقاتی Accenture استرالیا، با استفاده از مدل اپنسورس، میتوان تا پنجاه درصد در زمان لازم برای توسعه و اشکالزدایی نرمافزار صرفهجویی نمود. از سوی دیگر روشهای توسعه و خطایابی نرمافزارهای اپنسورس هزینههای بسیار زیاد تحمیل شده به پروژههای نرمافزاری را حذف مینمایند. علاوه بر این، بررسیها نشان میدهد که مدلهای کسب و کار نرمافزارهای اپنسورس توان و قابلیتهای نهفته بسیار زیادی دارند و در مقایسه با نرمافزارهای انحصاری از اقبال بیشتری در دسترسی به موفقیت در بازارهای منطقهای و جهانی برخوردارند. یعنی باید دانست لزوماً نرمافزارهای اپنسورس رایگان نیستند و فقط تحت مجوزی توسعه و انتشار داده میشوند که اجازه بهرهبرداری ناعادلانه را به شرکتهای تولیدکننده نرمافزار نمیدهند و امکان دسترسی به سورسکد نرمافزار را در راستای احترام به آزادی کاربر فراهم مینمایند. میخواهیم این موضوع را بیان کنیم که آزاد بودن نرمافزار اپنسورس هیچ تضادی با تجاری بودن آن ندارد. اما چگونه؟ شرکتهایی که در حوزه نرمافزارهای آزاد و اپنسورس فعالیت میکنند، چگونه کسب درآمد مینمایند و با توجه به آزاد بودن سورسکد و رایگان بودن نرمافزار، مدل تجاری آنها چگونه است؟ این نوشته جستاری در مدل توسعه و کسب و کار دنیای نرمافزارهای آزاد است و قصد داریم به روشهای کسب درآمد از نرمافزارهای اپنسورس، کاستن هزینههای توسعه و تولید یک محصول نرمافزاری اپنسورس در یک چرخه از تولید تا فروش نرمافزار اشاره نماییم و راههای دسترسی به بازارهای بینالمللی از طریق نرمافزارهای اپنسورس را بررسی کنیم.
خدمات بهجای انحصار
مدل تجاری اپنسورس بر پایه کسب درآمد از خدمات پشتیبانی نرمافزار استوار است. این مدل از کسبوکار در میان انواع مدلهای تجاری دنیا مرسوم است و با آنها به رقابت میپردازد. چرا که برخلاف نرمافزارهای تجاری انحصاری (proprietary Software)، مجوز نرمافزارهای اپنسورس محدودیتهایی را برای کاربران بهوجود نمیآورد. مجوز نرمافزارهای اپنسورس مانعی در مقابل فعالیتهای تجاری شرکتها نیست و تنها از انحصار نرمافزار جلوگیری مینماید. این ویژگی، برتری نرمافزارهای آزاد بر دیگر نرمافزارها را نشان میدهد و برای کاربران بسیار ارزشمند است. چون آنها را قادر میسازد نرمافزاری بومی و منطبق با اهداف خود را توسعه دهند و از آنها استفاده نمایند. مدل کسب درآمد از طریق خدمات و پشتیبانی نرمافزار تاریخچهای پانزده ساله دارد و پدیدهای نو نیست.
اگر بخواهیم نگاهی به صنعت نرمافزارهای اپنسورس در جهان داشته باشیم، با بیش از دویست شرکت تجاری در زمینه سیستمعامل لینوکس و BSD روبهرو هستیم که بر اساس سکوی اپنسورس فعالیت میکنند. این شرکتها با همکاری همدیگر روی صدها نرمافزار کاربردی سرمایهگذاری کردهاند که برخی از آنها تجاری هستند و برای سکوهای سیستمعاملی و بازار توسعه داده میشوند و برخی دیگر هم غیرتجاری هستند.
در این میان شرکتهایی وجود دارند که توانایی رقابت با شرکتهای تجاری نرمافزارهای انحصاری را دارند و حتی بخش قابل توجهی از بازار را تحت کنترل خود درآوردهاند.
دنیای اپنسورس شامل چندین هزار محصول، شرکت تجاری و آزاد ارائهدهنده راهحلهای کاربردی و خدمات پشتیبانی است. (به طوری که تنها در کشور استرالیا بیش از 300 شرکت وجود دارد. اگر علاقمند هستید اطلاعات بیشتری در این زمینه به دست بیاورید، میتوانید به پایگاه OSIA به نشانی www.osia.net.au مراجعه نمایید).
اضافه بر این، اکنون بسیاری از شرکتهای قدرتمند و شناختهشده در دنیای کامپیوتر و ICT که از قدمت زیادی نیز برخوردارند، به پشتیبانی از نرمافزارهای اپنسورس روی آوردهاند که دامنه آن از تولیدکنندگان محصولات سختافزاری تا شرکتهای کاملاً تخصصی فناوریهای پیشرفته را دربرمیگیرد. بسیاری از راهحلهای اقتصادی از سوی شرکتهای تجاری ارائهدهنده محصولات انحصارگرا پشتیبانی و حمایت میشوند که از همراهی نرمافزارهای اپنسورس با نرمافزارهای انحصاری حکایت دارد و فرضیه تضاد این دو نوع نرمافزار را رد میکند. نهتنها نرمافزارهای انحصاری با ابزارهای اپنسورس قابل ساخت و توسعه هستند، بلکه بسیاری از برنامههای انحصاری از توابع کتابخانهای اپنسورس بهره میبرند و روی سکوهای نرمافزاری اپنسورس اجرا میشوند.
مدل توسعه و توزیع1 اپنسورس موجب پیشرفت نرم افزارهای بومی2 میشود و یک میدان توسعه پویا و فعال را برای برنامهنویسان آزاد3 به وجود میآورد. برای مثال، بازار محصولات نرمافزاری کشوری مانند استرالیا که بر پایه تولید و بهکارگیری نرمافزارهای بومی و اختصاصی شکل گرفته است، هیچگونه تلاش یا فعالیتی برای تولید نرمافزارهای عمومی در آن صورت نمیگیرد (غالب شرکتهای استرالیایی که دارای نمایندگی شرکتهای بینالمللی ایالات متحده هستند با دادن زیانهای بسیار مجبور به تعطیلی شدهاند)، یک محیط مستعد برای پذیرش مدل توسعه اپنسورس و رشد نرمافزارهای آزاد تلقی میشود.
پرهیز از دوبارهکاری
در دنیای اپنسورس ظرفیتها و توانمندی بسیاری نهفته است که کشف و استفاده از آنها کلید موفقیت شرکتهایی است که میخواهند در این دنیا قدم بگذارند و به حیات خود ادامه دهند. برای مثال میتوانیم در ابتدا از منابع و فرآوردههای آماده دنیای اپنسورس برای تولید و توسعه نرمافزار خود استفاده کنیم. برنامهنویسان ماهر همیشه بر این اصل اصرار دارند که "برنامهنویس زبردست، فردی است که دوبارهکاری نکند". ممکن است سورسکد یا ماجولی را که میخواهید برنامهنویسی کنید، پیش از این تهیه شده باشد و فقط لازم باشد آن را به رایگان برای خودتان استفاده کنید.
پیش از اینکه اولین خط از برنامه را کدنویسی کنید، بگذارید به شما بگوییم چگونه اپنسورس میتواند به شما کمک نماید و در زمان و هزینههای شما صرفهجویی کند. مدل استفاده از بستهها و ماجولهای اضافی و آماده، یک شیوه پذیرفته شده در میان توسعهدهندگان اپنسورس است که شامل در اختیار قرار دادن کدهای یک ابزار افزودنی، قالب و پیکربندی یک برنامه کاربردی و شاید یک برنامه تقریباً کامل و آماده باشد. زمانی که شما طرح یک نرمافزار را ترسیم میکنید، به دقت درباره اجزا و ماجولهای مورد نیاز برنامه تامل نمایید و به گشت و گذار برای یافتن آنها بپردازید. دنیای اپنسورس بیش از پانصدهزار ماجول کاربردی را از هزاران توسعهدهنده، برای شما فراهم کرده است.
شروع کار
به دقت منابع اینترنتی اپنسورس مانند Freshmeat.net و SourceForge.net را بازبینی کنید و پروژههایی را که مشابه محصول شما هستند و کاربرد یکسانی دارند، جستجو و یادداشت نمایید. سپس به بررسی یافتههای خود بپردازید و با کمک تجربیات و دانستههای خود به فیلترسازی و حذف موارد نامربوط و غیرمفید اقدام نمایید تا زمانی که دو یا چند گزینه کاربردی باقی بماند. یافتن جوابی برای پرسشهای زیر میتواند شما را به هدف نزدیکتر کند: آیا پروژه همان هسته یا ماجول مورد نیاز شما را تهیهمیکند؟ آیا پروژه با زبان برنامهنویسی مورد نظر شما کدنویسی شده است؟ آیا پروژه فعال است؟ آیا مجوز انتشار و بهره برداری از پروژه متناسب با نیاز شما است و اجازه دستیابی و بهره برداری از منابع پروژه را به شما میدهد؟
در گام بعد، پروژهای که تمامی نیازمندیها و انتظارت شما را برآورده میکند و برای تولید محصولتان مناسب است را دانلود نمایید و تمامی کدهای پروژه را از نظر ساختار برنامهنویسی، کیفیت کدها و توضیحات پروژه مورد بررسی قرار دهید. اگر به قطعه کد یا ماجولی برخورد کردید که مدت زمان زیادی از برنامهنویسی آن گذشته است، میتوانید با مطالعه اسناد راهنما و توضیحات پروژه، به نسخههای جدیدتر پروژه دسترسی پیدا کنید. در پروژههای اپنسورسی که از یک تیم توسعه قدرتمند و فعال سود میبرند، این مزیت وجود خواهد داشت که در هر زمان بتوانید به نسخههای جدیدتری از برنامه مراجعه کنید.
اکنون زمان ساخت برخی از اجزای برنامه جدید خود مانند فرم ، کاربرگ و لوگوها فرارسیدهاست. اگر منابع اپنسورس را به خوبی جستجو کرده باشید، بسیاری از بخشهای برنامه با تغییری جزئی در سورسکد پروژه اپنسورس آماده خواهند بود و برای تهیه آنها زمان و نیروی انسانی زیای هدر نخواهد رفت. در این مرحله از تولید محصول نرمافزاری، شما به عنوان مدیر پروژه، نیاز دارید به تخمین مدت زمان توسعه پروژه بپردازید و سرعت کدنویسی تیم برنامهنویسی خود را برآورد کنید. همچنین یک برنامه کامل و بینقص، شامل تمامی اجزا، حتی پیغامهای خطای کاربر است. اگر این بخشها در پروژه اپنسورس وجود نداشته باشند، مقدار زمان و تلاش لازم برای تهیه آنها را نیز به زمان توسعه برنامه اضافه کنید.
اکنون زمانی است که باید تصمیم بگیرید که آیا پروژه شما کامل و بینقص است یا نیاز به اشکالزدایی و خطاگیری دارد. هیچ پروژه نرمافزاری خالی از اشتباهات کدنویسی و برنامهنویسی نیست. زیرا همواره برخی از این اشتباهات، از چشم تیم توسعه و مدیر پروژه پنهان خواهند بود. بسیاری از پروژههای اپنسورس قدرتمند، قبل از انتشار رسمی یک نسخه، چندین نسخه آزمایشی را برای یافتن نواقص و خطاهای برنامه و گرفتن بازخورد درمورد امنیت و کیفیت برنامه، منتشر میکنند. این روش چندین مزیت دارد: تمامی باگهای برنامه کشف و برطرف میشوند، کدهای غیر بهینه و کدهای مرده از پروژه حذف خواهند شد و در نهایت سطح امنیتی برنامه در مواجهه با کدهای تخریبی Exploit به صورت بسیار زیادی بالا خواهد رفت.
البته ممکن است رفع اشکال یک برنامه چندین سال به طول بینجامد. به همین خاطر طول مدت زمان خطایابی برنامه رابطه مستقیمی با اهداف و اراده شما در تولید یک برنامه دارد. قطعاً پروژه نرمافزاری که تمامی پروسههای اشکالزدایی و بهبود را پشتسر گذاشته است و چندین بار در گسترهای مانند اینترنت در معرض آزمایش و استفاده کاربران حرفهای قرارگرفته باشد، یک خروجی کامل و با کیفیت خواهدداشت و این نکته دقیقاً کلید برتری نرمافزارهای اپنسورس بر نرمافزارهای انحصاری است. گستره آزمایش نرمافزارهای اپنسورس، شبکهای مانند اینترنت است. اما در نرمافزارهای انحصاری، این گستره به تعدادی برنامهنویس و تیم آزمایشکننده محدود میشود.
برای ارتباط بهتر و استفاده موثرتر از توسعهدهندگان و هکرهایی که مشتاقانه و به صورت رایگان حاضر به همکاری با تیم توسعه پروژه شما هستند، نیازمند تشکیل یک انجمن درباره پروژه هستید تا با در دسترس قراردادن سورس کد پروژه، بتوانید هر نسخه آزمایشی را در میان انجمن توزیع کنید و از این طریق با توسعهدهندگان در ارتباط باشید. البته مجوز نرمافزار شما باید اجازه هرگونه دسترسی و اصلاح را به کاربران داده باشد. تشکیل دادن یک انجمن، اجباری نیست. اما نشانه احترام به جامعه توسعهدهندگان آزاد است.
بسته نرمافزاری
آمادهسازی یک محصول به صورت بستههای نرمافزاری برای دریافت از اینترنت، نه تنها به توزیع برنامه کمک میکند و به آن شخصیتی مستقل میدهد، بلکه مقدمات تبلیغی و اعتبارسازی برنامه را در بازار نیز فراهممیکند. اضافه بر این، میتوانید بستههای آمادهای از برنامه، مستندات و سیدی راهنمای آن را نیز تهیه نمایید. این موضوع بیشتر برای سایتهایی سودمند است که نمیخواهند محصول نرمافزاری خود را به صورت رایگان در اینترنت توزیع نمایند. ارزش هر بسته، با توجه به ماهیت محصول میتواند برابر 100 تا 500 دلار قیمتگذاری شود. عوامل مختلفی مانند نوع سیستمعامل، سرویسدهنده، بانکاطلاعاتی و برنامه کاربردی تحت وب در قیمت هر بسته دخیل است.
خدمات پشتیبانیای که ارائه میدهید میتواند عامل دیگری در قیمتگذاری بستههای نرمافزاری محسوب شود. به هر صورت، موفقیت در این موضوع به تخصص در بازاریابی و نوع محصول شما بستگی دارد.
ورود به بازار
مسلماً شیوه بازاریابی و فروش یک محصول نرمافزاری اپنسورس با مدلهای مشابه انحصاری متفاوت است و حقایقی در مورد نرمافزارهای اپنسورس وجود دارد که باید مد نظر قرار بگیرد. برای نمونه در مدل تجاری اپنسورس، به همراه یک محصول، سورسکد آن نیز در اختیار مشتری قرارمیگیرد یا به علت محلی بودن بسیاری از پروژهها، پشتیبانی از ساعت و تاریخهای غیرمنطقهای وجود ندارد. اگر توانستهاید درباره پروژه اپنسورس خود یک انجمن تشکیل دهید و گروههای برنامهنویسی را فعال کنید، محصول نرمافزاری شما از این قابلیت برخوردار خواهد بود که با استفاده از بستههای افزودنی توسعه یابد و طیف وسیعی از ویژگیها و قابلیتهای جدید به آن افزوده شود که در نهایت امکان کاربری و استفاده از این محصول برای کاربران بیشتری فراهم خواهد شد.
این بستههای افزودنی میتوانند قابلیتهایی مانند پشتیبانی از یک زبان یا ساعت و تاریخ یک منطقه را نیز دربربگیرند. یک حقیقت دیگر در مدل تجاری اپنسورس، تضاد میان محصول نرمافزاری بومی و مشتریان بینالمللی است. اگر سعی کنید یک محصول عمومی و فراگیر تولید کنید، به دیگران خدمت کردهاید و بازار بومی را از دست دادهاید و اگر یک محصول بومی را توسعه دهید دیگر باید از بازار بینالمللی چشمپوشی نمایید.
بسیاری از مشتریان نرمافزارهای تخصصی، از عدم پشتیبانی و خدماترسانی یک محصول جدید نگرانهستند و در حقیقت "خدمات پس از فروش" میدان جدی رقابت میان نرمافزارهای بومی و سراسری است. دلیل عدم موفقیت بسیاری از محصولات بومی که توسعه داده میشود نیز در این واقعیت نهفته است که شرکتهای بینالمللی نرمافزار، توانستهاند این نگرانی خریدار را برطرف نمایند.
مدل تجارت اپن سورس بر مبنای کسب درآمد از پشتیبانی و ارائه خدمات ویژه استوار است و شما برای بازاریابی محصولی اپنسورسی، باید در زمینه پشتیبانی تجاری از محصول فعال باشید و دغدغههای خریدار را از جهت توسعه و ارائه خدمات به صورت مداوم برطرف نمایید. در کوتاه مدت، اپنسورس در هزینههای بازاریابی و حضور در بازارهای بینالمللی یک محصول عمومی صرفهجویی قابل توجهی مینماید و اگر محصول شما عالی و قدرتمند باشد، به طوری که امکان رقابت در بازارهای بینالمللی را داشته باشد، اپنسورس یک فرصت استثنایی خواهد بود که نبض بازار را به دست بگیرید. اکنون بازار بینالمللی برای حضور محصولات تجاری اپنسورس بسیار مستعد و آماده است و بررسی و تحلیل اخبارهای چند سال اخیر، از موفقیت پروژههای اپنسورس و گرایش بسیاری از دولتها به سوی نرمافزارهای آزاد حکایت میکند.
کسب درآمد
چگونه میتوان از یک پروژه اپنسورس درآمدزایی کرد؟ سریعترین راه، میتواند ارائه خدمات پشتیبانی برای یک محصول باشد. پس از انتشار نرمافزار، یک فهرست پست الکترونیکی راهاندازی کنید و کاربران را به تبادل نظر و بحث درباره نرمافزار تشویق نمایید. یکی از مزایای فهرست پست الکترونیکی، آسان نمودن کار تیم توسعه پروژه در جوابگویی به مشکلات و سوالات کاربران خواهد بود. راهاندازی یک انجمن و ارائه خدمات پشتیبانی بهصورت رایگان برای اعضای انجمن گام دیگری در راستای تبلیغ محصول است. وجود یک انجمن و فهرست پستی درباره یک محصول نرمافزاری، دو ابزار توسعه پروژه تلقی میشوند و باعث تمایل کاربران و شرکتهای تجاری به سوی آن محصول خواهند شد. پس از این دو حرکت کاملاً رایگان، نوبت به تهیه نسخههای تجاری از پروژه میرسد.
شما میتوانید نسخههای مختلفی از محصول را تهیه کنید و برای هر نسخه یک مدت زمان ارائه خدمات پشتیبانی مانند سه ماهه، شش ماهه و یک ساله تعریف کنید. در یک مدل دیگر میتوان بر روی هر نسخه، خدمات پشتیبانی متفاوتی را ارائه نمود. برای نرمافزارهای تخصصی، میتوان صدها دلار خدمات پشتیبانی برای هر بار اشکالزدایی سیستم، و برای یک دوره سه ماهه هزاران دلار تعریف کرد.
در گام بعد، سرویسهایی مانند نصب و راهاندازی، سفارشی نمودن و ارتقای سیستم، بهترین راه درآمدزایی خواهند بود. به طوری که درآمد واقعی نرمافزار اپنسورس از این سرویسها خواهد بود. بااینکه سورسکد برنامه را در اختیار مشتری قرار میدهید بازهم، دلایل زیادی وجود دارد که کاربران تمایل داشته باشند از شما سرویس بگیرند و هزینه آن را نیز پرداخت نمایند. برخی از کاربران توانایی توسعه برنامه را ندارند و یا به این امر چندان رغبت نشان نمیدهند. در بسیاری از شرکتهای تجاری، عنصر "زمان" نقشی حیاتی دارند وآنها ترجیح میدهند با سرویسگیری از شما، عملاً در زمان خود صرفهجویی نمایند.
بنابراین سرویسهای ارائه شده از سوی شما مورد استقبال قرار خواهد گرفت و یک راه کسب درآمد در نرمافزارهای اپنسورس محسوب میشود. به این نکته ظریف نیز توجه داشته باشید که هیچکسی به خوبی شما به سورسکدها تسلط ندارد و زمان ساخت یک بسته اضافی و یا هر عملیات توسعه دیگر، برای تیم برنامهنویسی غیر از تیم توسعه پروژه، بسیار طولانی و هزینهبر خواهد بود. همیشه کاربرانی وجود خواهند داشت که به نسخه رایگان قابل دانلود برنامه اکتفا نکنند و نیازمند استفاده از خدمات و سرویسهای سفارش سازی شما باشند.
در نهایت، میتوانید از طریق مجوز نرمافزار کسب درآمد کنید. هنگامی که از یک مجوز اپنسورس برای نرمافزار خود استفاده میکنید، بدین معنی نیست که نمیتوان نرمافزار را تحت مجوزی خارج از اپنسورس منتشر کرد. به دلایل بسیار زیادی، بهترین مجوز اپنسورس برای این منظور General Public Licence) GPL) است. این رویکرد مخصوصاً برای توابع کتابخانهای و نرمافزارهایی که در رده نرمافزارهای مهندسی و بانکاطلاعاتی طبقهبندی میشوند کاربرد دارد. با استفاده از مجوز GPL، هر شخصی میتواند یک نرمافزار را برای توزیع مجدد با دیگر برنامههای اپنسورس ترکیب نماید و باز تحت مجوز GPL منتشر نماید و اگر مشتری نخواهد برنامه را توسعه دهد و مجدداً توزیع کند، لزومی ندارد که برنامه تحت یک مجوز اپنسورس قرار گیرد.
بسیاری از کاربران به صورت بالقوه تمایل ندارند نرمافزار فروختهشده به آنها تحت مجوز اپنسورس باشد و امکان تغییر و توزیع آن وجود داشته باشد. بنابراین میتوانید با سفارشی نمودن نرمافزار و ارائه یک نسخه مخصوص برای کاربر، مجوز اپن سورس را از برنامه بگیرید. این رویکرد هیچگونه تضادی با مجوزهای اپنسورس ندارد و با تمامی آنها سازگار است. اگر مشتری شما بخواهد محصول تحت مجوز GPL را توسعه دهد و آن را توزیع نماید و شما فقط سورسکد برنامه را تحت مجوز GPL منتشر نمایید. اگر از مجوزهای خانواده BSD برای مثال MIT) ،Apache و...) برای محصول خود استفاده مینمایید، نیازی به آزادکردن سورسکد برنامه اشتقاق شده ندارید.
حرف آخر
اما مدل تجاری پشتیبانی، توسعه، آموزش و سفارشسازی اپنسورس تا چه اندازه موفق است؟ برای نمونه میتوان به مثالهای موفقی از این شرکتها اشاره کرد. شرکتهایی مانند ZOPE ،eZ Publish ،MySQL ،JBoss وTrolltech. شرکت MySQL AB کار خود را از هیچ آغاز نمود و در مدت هفت سال توانست در میان بانکهای اطلاعاتی برای خود جایگاه قابلتوجهی بهدست آورد و بالغ بر چهارمیلیون سایت توسعه و درآمد ده میلیون دلاری سالانه برای توسعه و فروش خود داشته باشد.
البته اپنسورس نمودن سورسکد برنامه، نوشداروی هر دردی نخواهد بود و در هر شرایطی نمیتوان به سوی اپنسورس حرکت کرد. همچنین مدل تجاری مبتنی بر عدم دسترسی به سورسکد نیز ضامن موفقیت نیست و در مقایسه با مدل اپنسورس نیازمند سرمایهگذاری بیشتری است. سعی و کوشش و میزان آگاهی و خطرپذیری شما در نتیجه تعیینکننده است و این شما هستید که باید با توجه به شرایط و آیندهای که تصور خواهید کرد، تصمیم نهایی را بگیرید. با یک جنبش هر چند کوچک در دنیای اپنسورس ممکن است محصول شما در فهرست موفقترین نرمافزارهای اپنسورس قرار بگیرد. چون دنیای اپنسورس این ظرفیت نهفته را در خود دارد.
پینوشت:
1- development and distribution models: در مدل توسعه و توزیع، نرمافزار پس از طی نمودن یک مرحله از توسعه، برای تست و آزمایش به صورت گسترده در میان برنامهنویسان و علاقمندان توزیع میشود. پس از مشخص شدن خطاها و اشکالات برنامه، مجدداً مرحله توسعه برنامه آغاز میشود.
2- نرمافزارهای بومی (Local Software) در مقابل نرمافزارهای عمومی یا سراسری (Global Software) قراردارند و به نرمافزارهایی اطلاق میشود که دارای ویژگیها و قابلیتهای کشور یا منطقه محل توسعه هستند.
3- منظور برنامهنویسانی هستند که در استخدام یک شرکت تجاری نیستند و به صورت آزاد و از روی علاقه به برنامهنویسی و توسعه نرمافزار میپردازند.