قرارداد های برنامه نویسی اپلیکیشن برای برنامه نویسان
برای کار در زمینه طراحی و توسعه اپلیکیشن , احتمالا برنامه نویسان متوجه تفاوت های بسیاری بین افرادی که به صورت حرفه ای برنامه نویسی میکنند و کسانی که صرفا تفریحی اقدام به این موضوع میکنند هستند . حرفه ای بودن در توسعه اپلیکیشن دلیلی بر اتخاذ بهترین روش های حرفه ایست , این بهترین روش ها با بستن قرارداد های مناسب تجاری شروع میشود که کلیه انتظارات مشتری و برنامه نویسان را به روشی مستحکم ضبط میکند.
این مطلب آموزشی به شما کمک میکند تا مزایا و پیامدهای قراردادهای توسعه اپلیکیشن را درک کنید.اگر درگیرساخت و یا برنامه ریزی اپلیکشن هستید این راهنما مناسبی برای شماست.
توسعه اپلیکیشن سفارشی برای مشاغل و افراد, تجربه ایست شبیه به رشد انفجاری در تجارت الکترونیک به وسیله وبسایت ها که در جریان به وجود آمدن و توسعه عظیم .com اتفاق افتاد . موانع ورود به این بخش با سرعت زیادی در حال کم شدن هستند زیرا برنامه نویس در حال ارائه پکیج های توسعه اپلیکیشن ها هستند.
قرارداد هایی که به خوبی نوشته شده باشند از برنامه نویسان و کسانی که با او کار میکنند در مقابل مشکلات احتمالی محافظت میکنند.همچنین تضمینی است برای پرداخت هزینه خدماتی که برنامه نویس ارائه خواهد داد.
مهم ترین ضرورتی که برنامعه نویسان آن را درک و از آن قدردانی میکنند بستن قراردادی سفت و محکم است آن هم قبل از این موضوع که فقط برای جذب مشتری عجولانه اقدام به این کار کنند . هیچ برنامه نویسی نباید بدون اینکه قراردادی آماده داشته باشد اقدام به قبول پروژه از طرف کارفرما کند.
مشاغل به طور معمول پروژه های نرم افزاری اپلیکیشن را با درکی درست واساسی از آنچه در پی دارد انجام میدهند اما آن ها فاقد تخصص فنی داخلی و تجربه برخورد با قراردادهای توسعه اپلیکیشن هستند.این وظیفه توسعه دهنده اپلیکیشن است که درک درستی از قراردادهای توسعه اپلیکیشن داشته باشد تا ارائه دهد زیرا بسیاری از مشاغل تجربه مدیریت قراردادهای تخصصی را ندارند.
این راهنما برای تامین نیازهای قانونی و حرفه ای, کلیه جنبه های اساسی تحولات اپلیکیشن را در بر میگیرد زیرا برنامه نویس خدمات توسعه اپلیکیشن را به مشتریان ارائه میدهد به عبارت ساده تر راهنمای قرارداد توسعه اپلیکیشن است .
قبل از شروع کار و مذاکره با برنامه نویس , کارفرما یا مشتری باید مفهوم کاملی را برای اپلیکیشن خود و آنچه را که در نظر گرفته ارائه دهد.
قرارداد توسعه اپلیکیشن ( درک روابط کارفرما و برنامه نویس)
اساس رابطه مشتری (کارفرما) و برنامه نویس مفهوم اپلیکیشن و کاری است که اپلیکیشن قادر به انجام آن است. قبل از نوشتن قرارداد باید اسناد و اطلاعاتی واضح از قابلیت های مورد انتظار اپلیکیشن ارائه شود.
قراردادهای استخدام معمولا کمترین اصول را پوشش میدهند اما قراردادهای توسعه اپلیکیشن باید به این واقعیت توجه کنند که توسعه اپلیکیشن نباید تنها به سود یک طرف باشد اکثر اپلیکیشن ها از ابتدا ساخته نشده اند بنابراین برنامه نویس به کارفرما اجازه میدهد از اپلیکیشن ها استفاده, توزیع و کسب درآمد کنند .کارفرما همچنین باید از برنامه نویس در برابر تجاوز به حقوق مالکیت معنوی خود محافظت کند.
صاحب مالکیت معنوی یه اپلیکیشن به طور پیش فرض برنامه نویس است حتی اگر کارفرما اپلیکیشن را سفارش داده باشد و بعضی از کدهای آن نوشته شده باشد.
معمولا برنامه نویسان برای ساختن یک اپلیکیشن از کد عمومی استفاده میکنند و در انتهای پروژه از کدهای اضافی استفاده میکنند این امر حاکی از آن است که برنامه نویس تمامی دارایی های معنوی را حفظ میکند و کارفرما به اپلیکیشن برای تامین نیازهای خاص خود مجوز میدهد.
چرا قرارداد برنامه نویسی مهم است؟
طراحی قرارداد توسعه اپلیکیشن از بروز مشکلات احتمالی برای برنامه نویس و کارفرما جلوگیری میکند و از هردو در این موضوع محافظت میکند . کارفرما و برنامه نویس باید دامنه و مفاد توافقات خود را به طور کامل در قرارداد ذکر کنند. همچنین در قرارداد باید از خصوصیات معنوی توسعه دهنده کد محافظت و در برابر موارد حفظ حریم خصوصی که ممکن است ناشی از دسترسی مشتری به کد باشد , محافظت کند.
بنابراین انتقال حقوق از برنامه نویس به مشتری باید به طور دقیق تشریح شود.
برای مثال میتوان به سوالات متداول پرداخت
آیا کارفرما حق دارد برنامه را حفظ و انتشار دهد؟
آیا در این قرارداد محدودیت هایی وجود دارد که برنامه نویس نمیتواند یک اپلیکیشن مشابه رابرای رقابت کارفرما ایجاد کند؟
به این عناصر باید به صورت کامل پرداخته شود, مشارکت یک حرفه ای برای ساخت اپلیکیشن و رعایت این نکات در توافق الزامی و مهم است این امر در صورت ایجاد سوال در مورد انتقال کامل حقوق , مقررات صدور مجوز و دارایی فکری , برنامه نویس را از نگرانی های قانونی و هزینه های غیرقابل اجتناب مصون میدارد.
عناصر اصلی توسعه اپلیکیشن
مانند همه ی قراردادها , قراردادهای توسعه اپلیکیشن نیز باید انتظارات برنامه نویس و کارفرما را برطرف سازد.این امر مستلزم این است که دولوپر مشخصات کتب مفصل و همچنین جدول زمانی برای توسعه را به کارفرما ارائه دهد.قرارداد همچنین باید دارای یک ساختار پرداخت توافق شده متقابل باشد . در صورت امکان به مشتری توصیه میشود برای تعیین مشخصات کارهای مقدماتی کافی را با برنامه نویس انجام دهد.کارفرما تا زمانی که مشخصات مورد توافق نباشد, نباید متعهد به یک فرآیند کامل توسعه باشد.
این عناصر قرارداد اغلب به آنچه بین توسعه اپلیکیشن و پذیرش اپلیکیشن توسط مشتری اتفاق می افتد بستی دارد.
این موضوع مهم است که فرآیند برای آزمایش اینکه اپلیکیشن با مشخصات تطابق دارد یا نه به کار افتد . این امر به این دلیل است که پس از پذیرفتن اپلیکیشن توسط کارفرما , حق برنامه نویس مبلغ پرداختی ای است که پس از انجام پروژه باید به وی پرداخت شود و این موضوع باعث کاسته شدن هرگونه ادعا برای رد اپلیکیشن میشود و تنها کارفرما امکان مطرح کردن پرونده خسارت را دارد.
در همین راستا , کارفرما باید بداند که آزمایش پذیرش بسیار مهم است و نباید به عنوان روشی در به تاخیر انداختن پرداخت هزینه های مربوط به خدمات برنامه نویس تلقی شود.
دمو اپلیکیشن نقاط اصلی برای ارائه جدول زمانی برای پرداخت برنامه نویسان مطرح میکند,ضمن اینکه اطمینان حاصل میشود .موارد مدنظر کارفرما نیز رعایت شده است. دمو مشتری را از عناصر نرم افزاری که ممکن است با انتظارات قبلی مطابقت نداشته باشد آگاه میسازد . یک روش آزمایش پذیرش قوی باشد مشخص کند که برای رفع هر عنصر غیرمنطبق اپلیکیشن چه برنامه نویسی برای ان لازم است.
دمو همچنین از عدم پذیرش کامل برنامه نویسان پس از اتمام محافظت میکند . با درج مشخصات در قرارداد و ضمائم آن برای هر دو طرف اطمینان بیشتر حاصل میشود.
انواع قراردادهای توسعه اپلیکیشن
انواع بیشماری از قراردادهای توسعه اپلیکیشن و همچنین عناصر بسیار زیادی از آن وجود دارند . نمونه هایی از این موارد شامل سیاست های حفظ حریم خصوصی و توافق نامه های استخدام کاری است. مورد دوم ازاهمیت ویژه ای برخوردار است و در مورد واگذارکردن بخش هایی از توسعه اپلیکیشن به شخص ثالث است.
دو نوع قرارداد مهم وجود دارد که هر برنامه نویس باید با آن ها آشنا شود , اول توافقنامه واگذاری فناوری و دوم توافقنامه مجوز است.
توافقنامه واگذاری فناوری
توافقنامه واگذاری فناوری اساسا قانون کپی رایت را در برمیگیرد. مشخص میکند که برنامه نویس ، کد را پس از ( کدی که کامل شده و به اتمام رسیده) در اختیار دارد همچنین هدف این است که اطمینان برای برنامه نویس حاصل شود که دارای تمام مالکیت معنوی اپلیکیشن است.
توافقنامه مجوز
این توافقنامه به عنوان توافقنامه خدمات شناخته میشود. مفاد پروانه مجوز , صدور پروانه مجوز برای کارفرما راتعیین میکند.
برخی از جزئیات موردنظر شامل موارد زیر است:
- انحصاری بودن
- بازه زمانی
- منطقه جغرافیایی
- سایر عناصر دامنه مجوز
بنابراین در حالی که توافقنامه واگذاری فناوری برای برنامه نویس کار میکند , توافقنامه مجوز حقوق کارفرما را مشخص میکند.
توسعه دهندگان قراردادهای فریلنس, برای ایجاد یک قرارداد مناسب توسعه اپلیکیشن به یک فرد بسیار حرفه ای نیاز دارند. این اولین گام حیاتی در ایجاد توافقنامه ای است که مشتری یا کرفرما را جلب میکند بدون اینکه به خطر بی افتد تا از مالکیت معنوی تامین شود.
دانستن پیچیدگی ها و تفاوت های ظریف قراردادهای توسعه اپلیکیشن چیزی است که یک سازنده اپلیکیشن و یک متخصص توسعه نرم افزار واقعی را از هم جدا میکند. برنامه نویس های با استعداد با دانستن زبان حقوقی و اهمیت بستن حرفه ای قراردادها میتوانند حرفه ی خود را در تقاضای رو به رشد اپلیکیشن های کاربردی پیش برند.
انتقال مالکیت کپی رایت
اگر چندین قرارداد توسعه نرم افزار وجود داشته باشد در بین آنها فقط یک فرد دارای مالکیت معنوی اپلیکیشن است. روابط مربوط به برنامه نویس و کارفرما معمولا درمورد گفت و گو در مورد این توافق سازنده مطرح میشود.
همانطور که قبلا ذکر شد , حق کپی رایت و نشر اپلیکیشن برای دولوپر است مگر آنکه برنامه نویس کارمند صریح کارفرما باشد. سناریوی ممکن دیگر این است که اپلیکیشن بخشی از کار بسیار بزرگتری است که با توافقنامه کتبی مبلغی بابت آن پرداخت میشود.
برای به دست آوردن حق مالکیت , حق کپی رایت و نسخه برداری نرم افزار ,کارفرما باید جمله ای که مالکیت اپلیکیشن را از برنامه نویس به کارفرما منتقل میکند را درج کند.
چندین گزینه در رابطه با مالکیت وجود دارد . این موارد شامل مالکیت منحصر به فرد کارفرما نسبت به محصول برنامه نویس است که مشتری فقط دارای مجوز استفاده از اپلیکیشن است. این مورد در رابطه با کپی رایت و حق مالکیت اپلیکیشن وجود دارد . مبلغی که به برنامه نویس پرداخت میشود غالبا بین گزینه های احتمالی ای که وجود دارد تاثیر میگذارد تا برنامه نویس بتواند هریک از گزینه ها را انتخاب کند.
مالکیت فناوری زیربنایی
یک برنامه نویس به طور معمول دارای ابزارهای مختلف توسعه مانند : توابع , کلاس ها و …. و سایر ابزارهای خود مختار هستند.
همچنین ممکن است از داده ها و سایر اجزا دیگر نیز استفاده کنند تا بتوانند خروجی را به صورت کامل تحویل دهند. به کدهایی که برای نمایش منو ها , ذخیره داده ها و … استفاده میشوند فناوری پس زمینه میگویند.
اگر برنامه نویس مالکیت اپلیکیشن را به کارفرما منتقل کند ممکن است کارفرما یا مشتری فناوری های پس زمینه را با مشکل مواجه کند برای همین توافقنامه حرکتی بسیار هوشیارانه است تا برنامه نویس ها بتوانند مالکیت خود را حفظ کنند.
اما در صورت به انجام رسیدن توافق نامه باید به مشتری یا کارفرما مجوز استفاده غیر انحصاری از فناوری پس زمینه که برنامه نویس در برنامه خود دارد داده شود.
شرایط و مقررات
وعده ای که از طرف فروشنده در مورد فروش محصولی داده میشود اعم از این که این محصول کاری را که باید در موعد مقرر انجام میدهد , خود میتواند ضمانت باشد . همچنین اگر محصول وعده های فروشنده را به درستی اجرا نکند فروشنده ملزم به اصلاح و یا جایگزینی محصول است
با توجه به قرارداد های توسعه اپلیکیشن , مفاد به صورت استاندارد موجود هستند اما ممکن است مفاد در بعضی قراردادها بسیار متفاوت باشند زیرا اغلب بین برنامه نویس و کافرما چانه زنی وجود دارد.
ضمانت عملکرد برنامه
ضمانتنامه های عملکرد قراردادها یکی از اصلی ترین موارد قرارداد ها هستند که برنامه نویس متعهد میشود که اپلیکیشن دقیقا مطابق تعهد خود برنامه نویس عمل کند و آن را بدون هیچ هزینه ای برای مشتری رفع میکند . ضمانت ها به طور معمول یک دوره نود روزه الی یک ساله را شامل میشوند.
با توجه به این موضوع برنامه نویس ها باید از دادن قول هایی مبنی بر اینکه اپلیکیشن آنها به طور نامحدود و یا چندسال کار خواهد کرد , خودداری کنند. زیرا پیشرفت های مداوم در فناوری چنین تعهداتی را نقض میکند.
سایر ضمانت ها
لازم به ذکر است که ضمانت نامه های دیگری هم وجود دارد که شامل موارد زیر است:
- موضوع: این بدان معناست که کارفرما عنوان خوبی را از اپلیکیشن به دست می آورد.
عدم نقص:این بدان معناست که اپلیکیشن از کپی رایت , حق ثبت اختراع یا سایر مقررات مربوط به حقوق معنوی کاسته نمیشود.
حل اختلافات
قرارداد های توسعه اپلیکیشن قدرتمند دارای روال روشنی برای حل اختلافات است. بهتر است اختلافات را بدون مراجعه به دادگاه یا با داوری و میانجیگری حل و فصل کنید. روند دادگاه اغلب بسیار گران و وقتگیر است.
داوری
داوری شامل یک فرد یا هیات مدنظر با توجه به شایستگی موضوعات و تصمیم گیری است . بسته به زبان توافقنامه داوری , تصمیم آنها ممکن است الزام آور نباشد.
تعدادی از قراردادهای تجاری پرکاربرد امروزی شامل یک ماده داوری الزام آور هستند. با موافقت داوری الزام آور ممکن است یک برنامه نویس از حق خود برای نزدیک شدن به دادگاه ها جهت احقاق حق منصرف شود.
دیدگاهتان را بنویسید