اموزش معیارهای پروژه های open sourceو استفاده از گیت هاب

برای پروژه ی open source خود به وسیله ی اندازه گیری میزان موفقیت آن تصمیمات آگاهانه بگیرید

قسمت اول

چرا اندازه گیری می کنیم ؟

هنگامی که از داده ها عاقلانه و درست استفاده شود به ما کمک می کند تا به عنوان مسول پروژه‌ی open source تصمیمات بهتری بگیریم

با اطلاعات بیشتر شما به اطلاعات زیر دسترسی پیدا می‌کنید:

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

برای مثال Homebrew دریافته که گوگل‌آنالیتکس به آنها کمک می‌کند تا اولویت‌بندی کارهای خود را انجام دهند

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

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

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

قسمت دوم

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

github

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

  • Total page views(تعداد کل بازدید صفحات): که به شما می‌گوید چند مرتبه پروژه‌ی شما دیده شده است
  • Total unique visitors(تعداد کل بازدید کننده‌های خاص):که به شما می‌گوید چند نفر پروژه‌ی شمارا دیده‌اند
  • Referring sites(سایت ارجاع شده): به شما می‌گوید که بازدید کننده‌ها از چه وب‌سایت‌هایی آمده‌اند. این معیار به شما کمک می‌کند تا متجه شوید مخاطبان شما از کجا به‌دست می‌آیند و این‌که آیا تبلیغات شما موثر بوده یا نه .
  • Popular content (محتوای محبوب ):به شما می‌گوید بازدیدکننده‌های شما به کدام قسمت‌های پروژه‌تان رفته‌اند تعداد بازدیدکننده‌های خاص و تعداد بازدید صفحات مشخص گردیده‌‌است

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

قسمت سوم

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

اگر شما از یک پکیج منیجربرای توزیع کردن پروژه‌تان استفاده می‌کنید، مانند npm ویا RubyGems.org ، ممکن شما قادر به بررسی دانلودهای پروژه‌تان باشید.

هر پکیج‌منیجر ممکن است معنای خاصی برای “دانلود کردن”داشته باشد، و دانلودها لزوما به معنای نصب ویا استفاده از پروژه‌ی شما را ندارند، اما این موارد اطلاعاتی را برای سنجش پروژه‌ی شما فراهم می‌‌کند.با استفاده از Libraries.io می‌توانید متوجه شوید که افراد بیشتر از کدام پکیج‌منیجرها استفاده می‌کنند.

اگرپروژه‌تان را روی گیت‌هاب قرار داده‌اید، دوباره به صفحه‌ی “Traffic” بروید.

در این صفحه می‌توانید از clone graphاستفاده کنید تا تعداد دفعاتی را که در یک روز مشخص پروژه‌ی شما cloneشده‌است را ببینیدکه اطلاعاتی نظیرunique cloners (کلون‌های خاص)وtotal clones (مجموع کلون‌ها)را شامل می‌شود.

github

اگرusageپروژه‌ی شما پایین است به دنبال تعداد افرادی که توانسته‌اند پروژه‌ی شما را پیدا کنند بروید، معمولا در این مواقع ممکن است دو مشکل وجود داشته باشد :

  • پروژه‌ی شما به خوبی به مخاطب عرضه نشده‌است، ویا
  • شما به دنبال مخاطب اشتباه هستید

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

سعی کنید متوجه شوید مخاطبان شما بیشتر از کجا به سمت پروژه‌ی شما جذب می‌شوند، و همچنین نظر دیگران را در رابطه با پروژه‌تان سوال بپرسید تا متوجه شوید که شما با کدام یک از این دو مشکل روبه‌رو هستید.

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

قسمت چهارم

نگهداری

مردم پروژه‌ی شما را پیدا می‌کنند و از آن استفاده می‌کنند. سوال دومی که شما باید از خودتان بپرسید این است: آیا مردم به این پروژه کمک خواهند کرد؟

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

نگهداری از پروژه‌ نیازمند جریانی از همیاری مداوم است، چرا که ممکن است کسانی که قبلا به شما کمک می‌کردند به پروژه‌های دیگر ملحق شوند و شما را ترک کنند.

نمونه‌هایی ازمعیارهای مشارکت که شاید شما بخواهید به صورت مداوم آن‌ها را بررسی کنید عبارتند از:

  • تعداد کل contributorها و commitهای متعلق به هر contributor: که به شما می‌گوید چه تعداد contributor دارید، و چه کسی در این زمینه فعال‌تر است. در گیت‌هاب، شما می‌توانید به آن از طریق Insights دسترسی پیدا کنید.در گراف تعداد contributor هایی که شاخه‌ی پیشفرض مخزن (repository) شما را commit کرده‌اند مشخص شده‌اند.

github

  • First time, casual, and repeat contributors: به شما کمک می‌کند تا از contributor(مشارکت کننده)های جدیدی که پیدا کردید به همراه زمانی که آن‌ها به پروژه‌ی شما بازگشته‌اند مطلع شوید. (Casual contributorsها، مشارکت کننده‌هایی هستند که تعداد کمتری commitدارند .یک commit یا کمتر از پنج تا، تعداد commitها برای مشخص کردن Casual contributorsها به شما بستگی دارد.) بدون مشارکت‌کننده‌های جدید پروژه‌ی شما راکد می‌شود.
  • Number of open issues و open pull requests: اگر تعداد آن‌ها.بیش از حد زیاد بود، شما ممکن است به کمک از طریق issue triaging و code reviews نیاز داشته باشید.
  • Number of opened issues و opened pull requests : اشکلات مطرح شده به نشانه‌ی آن است که افراد به پروژه‌ی شما اهمیت می‌دهند. اگر تعداد آن‌ها افزایش یافت، به معنای این است که افراد بیشتری به پروژه‌ی شما علاقه‌مند شده‌اند.
  • انواع همکاری‌ها: که برای مثال می‌توان به commitها، تصحیح کردن خطاها و درست کردن باگ‌ها و یا حتی گزارش یک اشکال اشاره کرد.

Arfon Smith می‌گوید:

اپن‌سورس چیزی فراتر از کدهای برنامه است.پروژه‌های موفق اپن‌سورس شامل کدها و داکیومنت‌هایی است که در کنارهم به همراه بحث تبادل نظر در رابطه با تغییرات جمع شده است.

قسمت پنجم

حفظ فعالیت
درنهایت شما می‌خواهید که مطمئن شوید مسولان پروژه از عهده‌ی نگه‌داری حجم مشارکت کننده‌ها برمی‌آیند. آخرین سوالی که شما باید از خودتان بپرسید این است: من (ما) به شکلی صحیح به جامعه‌ای که ایجاد کردیم پاسخ‌گو هستیم؟

مسولان پروژه‌های اپن‌سورس که به درخواست‌هایی که برای پروژه‌ی آن‌ها ثبت می‌شود پاسخ نمی‌دهند جلوی پیشرفت و پایداری پروژه‌ی خود را می‌گیرند.

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

زمانی که برای پاسخ گویی به contributionها مورد نیاز است را محاسبه کنید، از پاسخ به یک اشکال تا بررسی یک درخواست. پاسخ‌گویی نیازی به عملیات خاصی ندارد، پاسخ‌گو بودن به نظرات ساده‌است مانند گفتن: “از نظر شما متشکریم، من آن را تا هفته‌ی آینده مورد بررسی قرار می‌دهم.”

شما می‌توانید میزان زمانی را که بین مراحل مختلف توسعه‌ی یکcontribution طول می‌کشد را محاسبه کنید:

  • میانگین زمانی را که یک اشکال مطرح می‌شود را حساب کنید
  • حتی زمانی که اشکال مطرح شده به وسیله‌ی PRحذف می‌شود
  • حتی زمانی که اشکالات قدیمی حذف می‌شوند
  • میانگین زمان یک pull requestراتا زمانی که ادغام می‌شودرا محاسبه کنید

قسمت ششم

از نمودار و ارقام برای فهمیدن درخواست‌های مردم استفاده کنید

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

 

 

منبع مورد استفاده در این آموزش

لینک منبع


تحت لیسانس : CC-BY-4.0


منبع : کدتاک


مترجم : امیرمسعودسلطانی