CodeShot

نگهدارنده (Maintainer) در مقابل مشارکت‌کننده (Contributor)

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

ویژگینگهدارنده (Maintainer)مشارکت‌کننده (Contributor)
سطح تعهدبلندمدت و مستمرموردی و داوطلبانه
دسترسی Mergeداردندارد
مسئولیت جهت‌دهی پروژهداردندارد

کِی از نگهدارنده (Maintainer) استفاده کنیم؟

وقتی زمان و تعهد بلندمدت برای پاسخ‌گویی به Issue ها، بازبینی PR های دیگران و انتشار نسخه‌های جدید دارید.

کِی از مشارکت‌کننده (Contributor) استفاده کنیم؟

وقتی می‌خواهید بدون تعهد بلندمدت، یک باگ خاص را رفع کنید، یک قابلیت اضافه کنید یا فقط مستندات را بهتر کنید.

مثال نگهدارنده (Maintainer)

// نگهدارنده:
// - Merge کردن PR شماره ۴۲۱
// - Tag زدن نسخه v2.3.0
// - پاسخ به ۱۵ Issue باز

مثال مشارکت‌کننده (Contributor)

# مشارکت‌کننده:
git checkout -b fix/typo-in-readme
# اصلاح و ارسال یک Pull Request کوچک
git push origin fix/typo-in-readme

اشتباه رایج

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

جمع‌بندی

برای شروع در متن‌باز به‌عنوان مشارکت‌کننده با PR های کوچک وارد شوید؛ نقش نگهدارنده معمولاً پس از کسب اعتماد و مشارکت مستمر به دست می‌آید.