لطفا جاواسکریپت مرورگر خود را فعال سازید!

نحوه فعال سازی در کروم
  1. ابتدا باید اینکارو بگنید
  2. بعدش اونکارو
نحوه فعال سازی در فایرفاکس
  1. ابتدا باید اینکارو بگنید
  2. بعدش اونکارو
آشنایی با 5 اشتباهی که تازه واردها به دنیای اپن‌سورس مرتکب می‌شوند!

آشنایی با 5 اشتباهی که تازه واردها به دنیای اپن‌سورس مرتکب می‌شوند!

امروزه رویکرد اپن‌سورس جای خود را در صنعت تکنولوژی به‌خوبی باز کرده است؛ تقریباً تمام شرکت‌های بزرگ فناورانه به استفاده از تکنولوژی‌های اپن‌سورس در محصولات خود روی آورده‌اند و از سوی دیگر بسیاری از این شرکت‌ها در پروژه‌های اپن‌سورس شرکت‌های دیگر نیز مشارکت دارند. درعین‌حال، همواره تصورات نادرستی در این زمینه وجود دارد که موجب از دست رفتن فرصت‌های بسیاری می‌شود البته این بدان معنا نیست که رویکرد اپن‌سورس شکست خورده است بلکه کدها به صورت اپن‌سورس نوشته شده و محصولات تولید می‌شوند اما اغلب شرکت‌ها به مزایای واقعی آن دست پیدا نمی‌کنند زیرا در مورد انتخاب‌ها و تصمیمات خود آگاهی کامل ندارند و همین مسئله وجههٔ اپن‌سورس را تحت‌الشعاع قرار می‌دهد.

اپن‌سورس چیزی بیش از تنها یک مجوز و یا یک ریپازیتوری عمومی گیت‌هاب است؛ اپن سورس یک رویکرد است که اگر با تعهد و درک درست به آن عمل شود، آثار گسترده‌ای در بهبود کسب‌وکار شرکت‌ها خواهد داشت. اگر اپن‌سورس به‌درستی اجرا شود و همهٔ ارکان شرکت به آن متعهد و پایبند باشند، روابط درون سازمانی، مشتریان و حتی رقبا را به‌طرز مثبتی تحت‌تأثیر خود قرار خواهد داد.

اما اگر قرار باشد اپن‌سورس تنها به‌عنوان یکی از ویژگی‌هایی باشد که بالاجبار به یک محصول افزوده شده و مهندسان خود را مجبور به اجرای آن ببینند، چیزی جز آزردگی دوسویۀ مدیران و مهندسان را در پی نخواهد داشت. در ادامه به الگوهایی اشاره خواهیم نمود که در نظر گرفتن آن‌ها راه را برای شرکت‌هایی که به تازگی به عرصۀ اپن‌سورس وارد شده‌اند، هموار می‌کند.

اپن‌سورس مسیر است، نه مقصد
اپن‌سورس روابط و پویایی کسب‌وکارها را احیا نموده و مشتری‌ها و حتی رقبا را به همکاران شما تبدیل می‌کند؛ شرکت‌ها هنگامی که به برتری این روش نسبت به حالتی که خود به‌تنهایی و با کدهای اختصاصی سعی در پیشرفت دارند پی ببرند، به استفاده از آن راغب‌تر می‌شوند.

اما نکتۀ مهم در این زمینه این است که اپن‌سورس به خودی خود یک دستاورد نیست. اپن‌سورس رویکرد و روشی است برای پی بردن به علائق مشترک شرکت‌ها و ایجاد زمینۀ همکاری با یکدیگر. اما این تنها یک مسیر است و کسی از مواهب این مسیر بهره می‌برد که این مسیر را قدم‌به‌قدم پیموده باشد.

بسیاری از شرکت‌ها می‌خواهند بدون طی این مسیر و به یک‌باره به مقصد برسند؛ از این رو، خود نرم‌افزاری را تولید نموده و پس از تکمیل و درست اندکی قبل از عرضۀ آن به بازار، رویکردی اپن‌سورسی در پیش می‌گیرند. چنین روشی به ندرت به نتیجه می‌رسد و بسیار بعید است که چنین پروژه‌ای مزایای یک پروژۀ اپن‌سورس واقعی را داشته باشد.

گرچه ممکن است کدهای نوشته شده با لایسنس رایگان منتشر شده و در اختیار عموم قرار بگیرند، حتی ممکن است محصول تولید شده واقعاً با اقبال مردم نیز روبه‌رو شود اما نمی‌توان انتظار داشت که معجزه‌ای رخ دهد و سایر دولوپرها به سمت پروژه‌ای بیایند که از اپن‌سورس بودن فقط نام آن‌را یدک می‌کشد.

بنابراین یک شرکت برای آن‌که از مزایای رویکرد اپن‌سورس بهره‌مند شود، باید فرآیند طولانی ایجاد جامعۀ دولوپرها، دعوت از همکاران و شرکت‌هایی با منافع مشترک و کار بر روی نقاط مشترک را طی کند. این فرآیند هنگامی شروع می‌شود که کدها واقعاً -و نه به‌صورت ظاهری- باز شوند. قدم گذاشتن در مسیر اپن‌سورس در هر مقطعی از روند تولید محصول می‌تواند رخ دهد اما قطعاً نه در پایان مسیر.

منتظر روزی نباشید که اپن‌سورس بودن از هر جهت برای شما راحت باشد
اگر بخواهید تا زمان تکمیل پروژه صبر کنید و سپس رویکرد اپن‌سورس را در پیش بگیرید، فرصت را از دست داده و از مزیت اولین بودن بی‌بهره می‌مانید. هم‌زمان با تلاش مخفیانۀ شما برای تولید محصول، رقیبان شما در حال اعتلاف، همکاری و سرمایه‌گذاری مشترک هستند. شما سعی دارید با همهٔ رقبا رقابت کنید در حالی که می‌توانستید با آن‌ها همکار باشید! شرکت‌ها معمولاً ۳ نگرانی مهم در مورد انتشار اپن‌سورس کدهای خود دارند که عبارتند از:

۱. ممکن است نیاز باشد تا دولوپرها با روش‌های متناسب با اپن‌سورس هماهنگ شوند و در نتیجه روش‌های توسعۀ فعلی شرکت با اختلال مواجه شود.

۲. اگر رقبا بدانند که ما چه نقشه‌ها و برنامه‌ریزی‌هایی برای آینده داریم، قدرت بالقوۀ خود را از دست خواهیم داد.

۳. ما از این‌که بگوییم برنامۀ ما هنوز آماده نیست خجالت می‌کشیم! دولوپرهای ما از این‌که دیگران کدهای تکمیل نشده و ناقص آن‌ها را ببینند احساس خوبی ندارند!

البته هیچ‌ یک از این نگرانی‌ها بی‌پایه و اساس نیست. اجازه بدهید ابتدا ۲ مورد اول را مورد بررسی قرار دهیم؛ در رویکرد اپن‌سورس ممکن است به تطابق با متدهای توسعۀ خاص و جدیدی نیاز باشد و همچنین این نگرانی درستی است که با اپن‌سورس کردن پروژه، رقبا اطلاعاتی را از برنامه‌ها و اهداف آیندۀ شما به دست می‌آورند (گاهی‌اوقات نیز واقعاً شرایطی وجود دارد که این ۲ مورد را باید در تعیین زمان آغاز رویکرد اپن‌سورس در پروژۀ خود لحاظ نمایید اما این موارد بسیار نادر هستند.)

در هر صورت اگر عادات و روش‌های تیم توسعۀ شما برای هماهنگ شدن با رویکرد اپن‌سورس نیاز به تغییر دارد، هرچه زودتر اقدام کنید تغییر آن راحت‌تر خواهد بود. بهتر است در همان مراحل آغازین پروژه، تیم خود را آموزش دهید تا متدهای قبلی خود را با متدهای ویژۀ اپن‌سورس ادغام کند زیرا هم‌زمان با کامل‌تر شدن پروژه، از یک‌سو زمان تحویل پروژه نزدیک و نزدیک‌تر شده و از سوی دیگر این درست زمانی است که دولوپرها به روش‌های Closed-source عادت کرده‌اند و آموزش آن‌ها دشوارتر است.

در مورد نگرانی از اطلاع یافتن رقبا از استراتژی‌های شما، 2 نکته را مد نظر داشته باشید؛ نخست این‌که -چه پروژۀ اپن‌سورسی را شروع کنید و چه نکنید- بخش گسترده‌ای از استراتژی شما به خودی خود و صرفاً به‌خاطر ماهیت کسب‌و‌کار شما و مشابهت آن با کسب‌وکار رقبا، برای آن‌ها آشکار است.

نکتهٔ بعدی این‌که اگر رقبا با دیدن پروژۀ اپن‌سورس شما رفتار خود را تغییر دهند یعنی دارند در جهت دلخواه شما حرکت می‌کنند. به‌ عبارت دیگر، وقتی رقبا سیاست‌ها و روش‌های شما را جایگزین سیاست‌ها و روش‌های خود می‌کنند به این معنا است که آ‌ن‌ها به چشم رهبر به شما نگاه می‌کنند و در واقع ابتکار عمل در دست شما است.

در مورد خجالت زدگی از این‌که دیگران کدهای کامل نشدۀ شما را ببینند، نگران نباشید و فقط این کار را انجام دهید؛ باور کنید که هرچه زودتر این کار را بکنید، نگرانی شما کمتر می‌شود زیرا همه می‌دانند که هیچ کدی از همان ابتدا کامل و بی‌نقص نیست و اصولاً هیچ‌کس از پروژه‌ای که تازه شروع شده است انتظار کامل بودن ندارد.

حمایت مدیریت میانی شرکت می‌تواند رویکرد اپن‌سورس را به یک فرهنگ تبدیل کند
اپن‌سورس یا از بالا به پایین و یا از پایین به بالا در شرکت‌ها ریشه می‌دواند؛ گاهی‌اوقات مدیران ارشد شرکت‌ها منافع رویکرد اپن‌سورس را تشخیص داده و استراتژی‌های کلان شرکت را با آن هماهنگ می‌کنند سپس در هر بخشی که فکر می‌کنند موجب پیشرفت شرکت می‌شود، از آن استفاده می‌کنند. گاهی‌اوقات نیز مهندسان نرم‌افزار، خود به این رویکرد گرایش پیدا کرده و به‌صورت خودجوش در کار خود از آن بهره می‌برند.

اما صرف‌نظر از این‌که این رویکرد چگونه به شرکتی وارد شود، این مدیریت میانی است که بیشترین تأثیر را بر تحقق مزایای اپن‌سورس دارد. مدیریت میانی مجرایی است که پیام‌های مرتبط با مشکلات و اولویت‌ها را بین سطوح پایین و بالا در شرکت انتقال می‌دهد. درواقع، هنگامی که مدیریت میانی به مزایای اپن‌سورس توجه کند، رویکرد اپن‌سورس به یک فرهنگ سازمانی تبدیل خواهد شد.

مزایای رویکرد اپن‌سورس هنگامی به‌دست می‌آید که حمایت نه فقط از بالا و نه فقط از پایین صورت گیرد بلکه مدیریت میانی شرکت باید از آن پشتیبانی کند.

انتظار مقاومت در برابر این فرهنگ سازمانی را داشته باشید
رویکرد اپن‌سورس در نهایت سراسر شرکت را فراگرفته و نه‌تنها مسائل فنی، بلکه فرهنگ سازمانی آن‌را تحت‌تأثیر قرار می‌دهد. اگر بخواهید رویکرد اپن‌سورس را تنها در حد کدنویسی نگاه داشته و از گسترش آن به فرهنگ سازمانی جلوگیری کنید، بهرۀ زیادی از مزیت‌های این رویکرد نخواهید برد.

هنگامی که دولوپرهای اپن‌سورس باتجربه باهم کار می‌کنند، از الگوهای مشخصی پیروی می‌کنند؛ همۀ آن‌ها از مجموعه‌ای از ابزارهای رایج در این روش (مانند Version Control Repositories ،Bug Trackers ،Automated Testing Systems و ...) استفاده نموده و روش‌های یکسانی را در استفاده از این ابزارها به کار می‌گیرند. سایر افراد مانند مؤلفین و کپی‌رایترها نیز روشی مشابه روش تیم کدنویسی را دنبال می‌کنند به این صورت که ایشان برای کار بر روی یک موضوع خاص از ابزارها، روش‌ها و دیدگاه‌های مشترک و مشخصی بهره می‌برند و به این ترتیب کار خود را با یکدیگر هماهنگ می‌کنند. همکاری به‌صورت اپن‌سورس فقط زیرساخت تکنیکی و فنی شرکت را در برنمی‌گیرد بلکه کل فرآیند انجام کار را شامل می‌شود.

فرهنگ اپن‌سورس بر رفتار و عادات کارکنان نیز تأثیرگذار است؛ به‌عنوان مثال، افرادی که به همکاری به‌صورت اپن‌سورس عادت کرده‌اند، در سایر جنبه‌ها نیز رفتار مشابهی خواهند داشت. به‌عنوان مثال، این افراد زیاد اهل بسته نگه داشتن درب اتاق نیستند، درایوهای مشترک دارند و غیره.

بنابراین از آنجا که جاری شدن رویکرد اپن‌سورس نیازمند تغییر دیدگاه همۀ ارکان شرکت است، عدم پذیرش و مقاومت در برابر آن در شرکت‌هایی که به‌تازگی به این روش روی آورده‌اند کاملاً طبیعی است.

جامعۀ دولوپرهای اپن‌سورس هیچ‌وقت نمی‌تواند جایگزین دولوپرهای شرکت شود
مدیران بعضی از شرکت‌ها به اپن‌سورس به‌عنوان روشی برای دستیابی به منابع ارزان توسعه نگاه می‌کنند و منتظرند تا روزی برسد که بتوانند دولوپرهای اپن‌سورس را جایگزین دولوپرهای شرکت نموده و پروژه‌های دیگری را به دولوپرهای شرکت واگذار نمایند و البته چنین روزی هیچ وقت فرا نمی‌رسد!

کمک‌های جامعۀ اپن‌سورس به پروژه‌های شما واقعاً ارزشمند است و حتی ممکن است بتوانید آن‌را جایگزین بخش‌هایی از کار تیم دولوپر‌های شرکت نمایید. اما نکتۀ مهمی که در این زمینه نباید مورد غفلت قرار گیرد این است که دولوپرهای اپن‌سورس علائق خود را در نظر می‌گیرند در‌حالی‌که دولوپرهای شرکت، اولویت‌های شرکت را مد نظر قرار می‌دهند و این بسیار ارزشمند است و توسط هیچ شرکتی نباید نادیده گرفته شود.

هنگامی که پروژۀ اپن‌سورس شما با موفقیت مواجه می‌شود، بسیار مهم است که بتوانید دلیل توجه برنامه‌نویسان اپن‌سورس نسبت به این پروژه را کشف کنید. ممکن است به جایی برسید که بتوانید مراحل اصلی توسعه را نیز با سایر شرکت‌ها به اشتراک گذاشته و آن‌را به‌صورت اپن‌سورس انجام دهید.

درست است که در این حالت شما بیش از گذشته بر روی پروژۀ اپن‌سورس خود سرمایه‌گذاری می‌کنید، اما این موضوع نباید نقش دولوپر‌های شرکت را تحت‌تأثیر قرار داده و آن‌را کمرنگ کند بلکه برعکس، گاهی موفقیت بیشتر در پروژۀ اپن‌سورس نیازمند این است که سرمایه‌گذاری بیشتری بر روی دولوپرهای شرکت خود انجام دهید.

گاهی نیز شرایط طوری تغییر می‌کند که پروژۀ اپن‌سورس خاصی که قبلاً اهمیت زیادی برای شما داشت، اهمیت خود را از دست می‌دهد که در این صورت، دیگر نیازی نیست به اندازۀ قبل بر روی آن سرمایه‌گذاری کنید. اصلی وجود دارد که می‌گوید میزان سرمایه‌گذاری بر روی یک پروژۀ اپن‌سورس همواره باید با سود شما از آن پروژه متناسب باشد.

سخن پایانی
هنگامی که پروژۀ اپن‌سورسی را شروع می‌کنید و یا در پروژۀ اپن‌سورس سایر شرکت‌ها مشارکت می‌کنید، این نکته را حتماً به‌خاطر داشته باشید که اپن‌سورس یک مسیر است؛ مسیری که شرکت باید آن را طی کند، از آن درس بگیرد و تجربیات حاصل از آن‌را نه‌تنها در کدنویسی بلکه در تمام جنبه‌ها به‌کار ببندد. این مسیر مقصد معینی ندارد بلکه هرچه بیشتر در آن پیش بروید و بیشتر سرمایه‌گذاری کنید، منافع بیشتری به‌دست خواهید آورد.

شما چه تجربه‌ و دیدگاهی در این زمینه دارید؟ آیا شما نیز طرفدار رویکرد اپن‌سورس بوده و از آن استفاده ‌می‌کنید؟ آیا این رویکرد علاوه بر کدنویسی در سایر جنبه‌های زندگی شما نیز تأثیر داشته است؟ نظرات و تجربیات خود را با ما و سایر کاربران سکان آکادمی به اشتراک بگذارید.

منبع


رائفه خلیلی