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