خرید سورس کد اپلیکیشن یا بکاند سرویسی؟ حساب واقعی هزینه
قیمت سورس کد، قیمت پروژه نیست. پنج ردیف هزینه که فردای خرید شروع میشوند، سه سؤالی که قبل از پرداخت باید بپرسید، و اینکه دقیقاً کجا خرید سورس درست است.
در این مطلب
خرید سورس کد اپلیکیشن تصمیم بدی نیست — ولی قیمتی که روی صفحه میبینید، قیمت پروژه نیست. چیزی که میخرید یک فایل است؛ چیزی که لازم دارید یک سیستمِ در حال کار است، و فاصلهی این دو را ماههای بعد پرداخت میکنید. این مقاله همان فاصله را حساب میکند: سورس کد آماده دقیقاً چه چیزی به شما میدهد، چه چیزی را به گردن شما میاندازد، بکاند سرویسی کدام بخش را عوض میکند، و کجا واقعاً باید سورس بخرید. تقسیمبندی خودِ «کد آماده» را جای دیگری باز کردهایم: کدنویسی آماده.
سورس کد آماده چه چیزی به شما میدهد؟
بستهی رایج در بازار ایران معمولاً این است: کد اپ موبایل (اغلب فلاتر) بهعلاوهی یک پنل مدیریت سمت سرور (اغلب لاراول)، یکبار میخرید و مال شماست.
و این یک مزیت واقعی دارد که هیچ سرویسی نمیدهد: کد در دست شماست. میتوانید هر خطش را عوض کنید، روی هر سروری ببریدش، و هیچکس نمیتواند شرایط را وسط کار تغییر دهد. اگر تیم فنی دارید و محصولتان قرار است چیزی غیرمتعارف انجام دهد، این آزادی ارزشش را دارد.
پس سؤال «کدام بهتر است» نیست. سؤال این است که فردای خرید چه کسی مسئول است.
چیزی که فاکتور نشان نمیدهد
روزی که فایل را تحویل میگیرید، فهرست تازهای شروع میشود که هیچکدامش در قیمت نبود:
- سرور و اجرا. کد باید جایی بالا باشد. هزینهاش ماهانه است و هیچوقت تمام نمیشود.
- پشتیبانگیری. نه فقط گرفتنش — آزمودنِ بازگردانی. بکاپی که تست نشده، بکاپ نیست.
- وصلهی امنیتی. هر وابستگی روزی آسیبپذیری اعلام میکند و ساعت شمارش از همان لحظه شروع میشود.
- ارتقای نسخه. فریمورکها نسخهی قدیمی را برای همیشه پشتیبانی نمیکنند؛ مهاجرت کاری است که باید کسی انجامش دهد.
- آدمی که ساعت دو نیمهشب بیدار میشود. این گرانترین ردیف فهرست است و معمولاً اصلاً در محاسبه نمیآید.
قیمت یکبارهی سورس کد تقریباً همیشه کوچکترین عدد پروژه است. اشتباه رایج این نیست که کسی این هزینهها را نمیداند؛ این است که موقع تصمیمگیری فقط دو عدد را کنار هم میگذارد — قیمت خرید و قیمت ماهانهی سرویس — و بقیه را بعداً کشف میکند.
سه سؤالی که قبل از خرید باید پرسید
۱. کد برای چه نسخهای نوشته شده؟ یک بستهی مبتنی بر نسخهای که دیگر پشتیبانی امنیتی نمیگیرد، از روز اول بدهی است. تاریخ آخرین بهروزرسانی را بپرسید، نه تاریخ انتشار آگهی را.
۲. بعد از فروش، نگهداری با کیست؟ فروشندهی سورس، کد را میفروشد نه تعهد را. اگر شش ماه بعد چیزی شکست، پاسخگو کیست و تا کی؟
۳. این همان چیزی است که میخواهید، یا هشتاد درصدش؟ این خطرناکترین سؤال است. آن بیست درصد آخر — همانهایی که محصول شما را از بقیه جدا میکند — باید داخل کدی نوشته شود که شما ننوشتهاید و قراردادهای داخلیاش را نمیشناسید. دستکاری کد ناآشنا معمولاً از نوشتن همان بخش از صفر گرانتر تمام میشود.
بکاند سرویسی کدام ردیفها را حذف میکند؟
| ردیف | سورس کد خریداریشده | بکاند سرویسی |
|---|---|---|
| پرداخت اولیه | یکباره | ندارد |
| سرور و اجرا | با شما | با سرویس |
| پشتیبانگیری و بازگردانی | با شما | با سرویس |
| وصلهی امنیتی و ارتقا | با شما | با سرویس |
| تغییر هر خط کد | آزاد | محدود به قابلیتها |
| مالکیت کد سمت سرور | کامل | ندارید |
ستون سمت راست دو ردیف را میبازد و این را صریح مینویسیم، چون همان دو ردیف برای بخشی از خوانندهها تعیینکنندهاند. در عوض، مدل پرداخت فرق میکند: صورتحساب فیکارو ساعتی است — نرخ ساعتی برابر است با قیمت ماهانه تقسیم بر ۷۲۰ — پس بابت ساعتهایی که پروژه بالا نبوده چیزی پرداخت نمیکنید. اعداد روز را در صفحهی تعرفهها ببینید؛ اینجا عمداً عدد ننوشتهایم تا از واقعیت جلو نیفتد.
قفلشدگی: سؤالی که از هر سرویسی باید پرسید
استدلال همیشگی طرفدار خرید سورس این است که «کد مال خودت است». استدلال درستی است و جواب صادقانهاش این است که ببینید سرویس چه چیزی را پس میدهد.
در فیکارو خروجی یک فایل zip است که اینها را دارد: schema.json (کل مدل داده)، پوشهی entities/ با یک فایل بهازای هر موجودیت — به انتخاب خودتان CSV یا JSON — و rules.json با تمام قوانین و فرمولها. یعنی داده و ساختار و منطقتان در قالبهای باز بیرون میآید و هیچچیزی گروگان نیست.
معیار عملی برای هر سرویس دیگری هم همین است: نه «آیا خروجی دارد»، بلکه «خروجی شامل چیست و در چه قالبی است». خروجیای که فقط جدولها را میدهد و منطق را نه، نصفِ مهاجرت است.
پس کدام؟
سورس کد بخرید اگر تیم فنی دارید که آن را نگه دارد، محصولتان رفتار غیرمتعارفی لازم دارد که هیچ سرویسی نمیدهد، یا الزام قانونی دارید که همهچیز روی زیرساخت خودتان باشد.
بکاند سرویسی بگیرید اگر تیم عملیات ندارید، میخواهید هفتهی اول بهجای راهاندازی سرور روی خودِ محصول کار کنید، یا هنوز نمیدانید محصول دقیقاً چه شکلی است — که حالت رایجتر است، و دقیقاً حالتی که خرید یک بستهی ثابت در آن بیشترین ضرر را میزند.
و یک گزینهی سوم که معمولاً دیده نمیشود: اول با سرویس بسازید، بعد اگر لازم شد ببرید. ساختن مدل داده و API روی سرویس چند روز طول میکشد نه چند ماه، و اگر معلوم شد نیازتان واقعاً غیرمتعارف است، خروجی داده و اسکیما را دارید و با شناخت دقیق از آنچه ساختهاید سراغ کد اختصاصی میروید. ترتیب عکسش — خرید یک بسته و بعد فهمیدن اینکه مناسب نبود — پول و ماهها را با هم میبرد.
اگر هنوز مطمئن نیستید کجا باید اجرا شود، هاست بکاند اپلیکیشن سرور و پلتفرم اجرای کد و بکاند آماده را کنار هم میگذارد؛ و فهرست کامل خروجیها در مستندات خروجیها آمده است.
سوالات متداول
- خرید سورس کد اپلیکیشن بهصرفه است؟
- بستگی به این دارد که بعد از خرید چه کسی نگهداری میکند. قیمت یکبارهی سورس معمولاً کوچکترین عدد پروژه است؛ سرور، پشتیبانگیری و آزمودن بازگردانی، وصلهی امنیتی، ارتقای نسخه و نیروی پاسخگو همگی بعد از خرید شروع میشوند و ماهانهاند. اگر تیم فنی دارید که اینها را بپوشاند، خرید سورس منطقی است؛ اگر ندارید، عددی که مقایسه کردهاید کامل نبوده.
- با خرید سورس کد، اپلیکیشن کاملاً مال من میشود؟
- کد بله، ولی دقت کنید که چه چیزی تحویل میگیرید و برای چه نسخهای نوشته شده. سه چیز را قبل از خرید بپرسید: تاریخ آخرین بهروزرسانی کد (نه تاریخ آگهی)، اینکه پشتیبانی بعد از فروش تا کِی ادامه دارد، و اینکه بسته چند درصد نیاز شما را پوشش میدهد. تغییر دادن بیست درصد باقیمانده داخل کدی که نمیشناسید، معمولاً از نوشتن همان بخش از صفر گرانتر است.
- با بکاند سرویسی قفل نمیشوم؟
- معیار درست این است که بپرسید خروجی شامل چیست، نه اینکه آیا خروجی دارد. خروجی فیکارو یک zip است با schema.json برای کل مدل داده، یک فایل CSV یا JSON بهازای هر موجودیت، و rules.json برای قوانین و فرمولها — یعنی داده و ساختار و منطق در قالبهای باز. آنچه امروز خروجی نمیگیرید کد سمت سرور است، چون کدی تولید نمیشود و یک موتور اجرایی تعریف پروژه را میخواند.
- برای شروع، سورس بخرم یا با سرویس بسازم؟
- اگر هنوز شکل نهایی محصول را نمیدانید، با سرویس شروع کنید. ساخت مدل داده و API چند روز طول میکشد نه چند ماه، و اگر بعداً معلوم شد نیازتان غیرمتعارف است، خروجی داده و اسکیما را دارید و با شناخت دقیق سراغ کد اختصاصی میروید. ترتیب عکسش — خرید یک بستهی ثابت و بعد کشف اینکه مناسب نبوده — هم پول و هم ماهها را از دست میدهد.
مطالب مرتبط
- ۳ دقیقه مطالعه
پنل مدیریت اپلیکیشن؛ قالب آماده یا پنل دادهی بکاند؟
قالب ادمین فقط رابط کاربری است، نه پنل. سه لایهی یک پنل واقعی، سه راه رسیدن به آن، و مرز صریح چیزی که امروز آماده است و چیزی که نیست.
- ۵ دقیقه مطالعه
هاست بکاند اپلیکیشن؛ سرور، پلتفرم اجرای کد یا بکاند آماده؟
بکاند را کجا اجرا کنیم؟ سه لایه — سرور مجازی، پلتفرم اجرای کد مثل لیارا، و بکاند آماده — با جدول مقایسه و مرز دقیق هرکدام.