به گزارش از وبسایت cncf 📊 الگوهای روشنی از بررسی‌های governance در 72 پروژه CNCF آشکار شده است که نشان می‌دهد بین آنچه CNCF در سطوح بلوغ می‌طلبد و آنچه داده‌ها برای سلامت بلندمدت پروژه توصیه می‌کنند تفاوت وجود دارد.

این تحلیل به عنوان راهنمایی برای پروژه‌هایی منتشر شده است که در حال انتخاب یا بازنگری ساختار حاکمیتی خود هستند و نگاهی به داده‌های مربوط به 72 پروژه در حالت‌های graduated، incubating و archived دارد. نتایج کلیدی نشان می‌دهد که پروژه‌هایی که maintainers از چند سازمان مختلف دارند، شانس بیشتری برای عبور از مرحله sandbox و رسیدن به graduated دارند (نسبت 2.07 برابر؛ 59.1٪ در برابر 28.6٪). ⚖️

پروژه‌هایی که دارای steering committees یا مکانیزم‌های رأی‌گیری با توازن سازمانی هستند، تنوع نگهدارنده را بهتر حفظ می‌کنند؛ در مقابل، اسناد حاکمیتی به‌تنهایی اغلب مانع تمرکز نمی‌شوند. چندین پروژه با governance documents خوب، به دلیل نداشتن محدودیت‌های نمایندگی سازمانی یا کمیته راهبری، تمرکز نگهدارنده را تجربه کردند. حدود 20٪ از پروژه‌های graduated پس از فارغ‌التحصیلی نشانه‌های تمرکز governance را نشان می‌دهند — که همگی در زمان incubating فاقد مکانیزم توازن سازمانی بوده‌اند. یک مثال نشان می‌دهد که حتی اگر قوانین تنوع سازمانی در کمیته حاکمیت وجود داشته باشد، نبود آن در بدنه maintainers می‌تواند مشکل‌ساز باشد؛ بنابراین مکانیزم‌های توازن سازمانی باید در جایی که کار واقعی انجام می‌شود نیز اعمال شوند، نه فقط در سطح بالای governance. 🔍

داده‌ها همچنین نشان می‌دهد که صرفاً تعداد مشارکت‌کنندگان پیش‌بینی‌کننده سلامت پروژه نیست؛ ساختار governance، تنوع سازمانی و مسیرهای روشن مشارکت‌کننده اهمیت بیشتری دارند. در ادامه سه مدل حاکمیتی الگو برای پروژه‌های CNCF ارائه شده است تا پروژه‌ها بتوانند مدل مناسب را بر اساس اندازه، پیچیدگی و ترکیب سازمانی انتخاب کنند. ✨

1. Maintainer Council — مناسب برای پروژه‌های متمرکز، تک‌ریپوزیتوری یا با دامنه محدود و گروه کوچک و منسجم مشارکت‌کنندگان. در این مدل یک شورای maintainers خودانتخاب‌کننده تمام تصمیمات پروژه را اتخاذ می‌کند؛ تفکیکی میان کسانی که کد می‌نویسند و کسانی که مدیریت می‌کنند وجود ندارد. تصمیم‌ها معمولاً با lazy consensus (عدم اعتراض در بازه زمانی مشخص به معنای تصویب) اتخاذ می‌شوند و در صورت اختلاف، رأی‌گیری رسمی استفاده می‌شود. زمانی که خوب کار می‌کند: پروژه دارای دامنه مشخص، 3 تا 10 maintainer فعال که مرتباً با هم همکاری می‌کنند و بیشتر مشارکت‌کنندگان همدیگر را می‌شناسند. 👥

عناصر کلیدی این مدل شامل داشتن فایل MAINTAINERS با اسامی، وابستگی‌ها و حوزه‌های مسئولیت، فرآیند مستندسازی برای وضعیت فعالیت‌ها و مسیرهای اضافه شدن و خروج نگهداران، پیش‌فرض lazy consensus با آستانه‌های رأی‌گیری مشخص برای تغییرات حاکمیتی، و وجود یک تیم پاسخ امنیتی است. زمانی برای تکامل: اگر یک سازمان از طریق جذب نیرو یا سایر روش‌ها بر فهرست maintainers تسلط یابد، افزودن کمیته رأی‌دهی الکترونیکی یا تغییر تعادل سازمانی باید مدنظر قرار گیرد. 🔁

2. Elected Steering Committee — مناسب برای پروژه‌های بزرگ‌تر با جوامعِ مشارکت‌کننده‌ی تاسیس‌شده که نیاز به پاسخگویی رهبری به جامعه وسیع‌تر دارند. در این مدل یک steering committee توسط مشارکت‌کنندگان انتخاب می‌شود و جهت‌گیری استراتژیک را تعیین می‌کند، در حالی که کار فنی به working groups یا SIG واگذار می‌شود. انتخابات، مسئولیت‌پذیری، محدودیت‌های دوره‌ای و محدودیت‌های نمایندگی شرکت‌ها را فراهم می‌آورند. برخی پروژه‌ها این نهاد را به‌عنوان TSC (Technical Steering Committee) یا GC (Governance Committee) می‌شناسند. 🗳️

زمانی که این مدل مؤثر است: پروژه دارای پایه مشارکت‌کننده کافی برای انتخابات معنادار است، چند سازمان فعال مشارکت دارند، دامنه تصمیم‌گیری و پیچیدگی کافی برای داشتن نهاد اختصاصی وجود دارد، و تفویض روشن اختیار به گروه‌های کاری وجود دارد. عناصر کلیدی شامل فرآیند مستند حذف اعضای steering (از جمله عدم‌عملکرد)، یادداشت‌های جلسات عمومی و سوابق تصمیم‌گیری است. این مدل به‌دلیل جداسازی مدیریت از بدنه اجرایی، و اعمال محدودیت‌های سازمانی، با تنوع پایدار مرتبط است. اگر کمیته‌ها همپوشانی وظایف داشته باشند یا گروه‌های کاری غیر فعال شوند، زمان یکپارچه‌سازی یا ساده‌سازی فرا می‌رسد.

3. Federated/Subproject Management — مناسب برای پروژه‌های چتری که از چندین subproject نیمه‌مستقل تشکیل شده‌اند، هر یک با maintainers و چرخه انتشار خاص خود. یک بدنه راهبری (governing body) هماهنگی مسائل متقاطع مثل زیرساخت مشترک، برندینگ، پاسخ امنیتی و حل تعارض را برعهده دارد، در حالی که هر subproject به‌صورت مستقل مدیریت می‌شود. این مدل زمانی خوب عمل می‌کند که زیرپروژه‌ها جمعیت‌های متفاوت، دامنه یا مسیرهای انتشار متفاوتی داشته باشند و تحمیل یک ساختار واحد ایجاد اصطکاک کند. 🌐

عناصر مورد نیاز برای این مدل شامل فرآیندهای روشن افزودن و حذف subprojectها، معیارهای سلامت زیرپروژه و چرخه عمر آن‌ها (active، maintenance، archived)، و مسیرهای واضح تشدید مسائل از subproject به بدنه فرمان است. مدل فدرال باید بر اساس رشد یا کوچک‌شدن subprojectها تکامل یابد و SIGها یا زیرپروژه‌های غیرفعال باید آرشیو یا ادغام شوند تا از ایجاد ظاهر حکمرانی بدون کار واقعی جلوگیری شود.

رأی‌گیری سازمانی — مکانیزم ساختاری که قابل اعمال بر هر یک از سه مدل است. محدود کردن آرا به ازای هر سازمان — معمولاً یک یا دو رأی — مانع از تسلط یک شرکت بر governance از طریق تعداد زیاد maintainers می‌شود. این الگو در جلوگیری از تثبیت حاکمیت مؤثر بوده است. رأی‌گیری متوازن سازمانی از تصمیمات حاکمیتی محافظت می‌کند، اما به‌تنهایی تضمین‌کننده ترکیب متعادل maintainers نیست. عمل‌کرد مؤثر معمولاً تخصیص یک یا دو رأی سازمانی برای تصمیمات حکمرانی (انتخابات رهبری، تغییرات governance، جهت‌گیری استراتژیک) و سپردن تصمیمات فنی (code review، اختیارات merge، release) به maintainers فردی با lazy consensus است. توجه کنید که محدویت‌های بالاتر از دو رأی نیز کارایی افزایشی نداشته‌اند؛ پروژه‌هایی با محدودیت شش رأی‌دهنده هنوز تمرکز را تجربه می‌کنند. ⚖️🔒

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

تطبیق مدل حاکمیتی با اندازه پروژه — آستانه‌های اندازه نشان می‌دهد چگونه هماهنگی با رشد گروه‌ها تغییر می‌کند. پژوهش‌ها نشان می‌دهد اعتماد مستقیم در گروه‌های حدود 5 تا 15 نفر قابل‌اعتماد است؛ در داده‌های CNCF پروژه‌هایی با کمتر از 8 maintainer عمدتاً با consensus اداره می‌شوند، و بالاتر از آن اکثر پروژه‌ها ساختارهای رأی یا نقش‌های تعریف‌شده را اتخاذ می‌کنند. انتقال به steering committees یا مدل‌های فدرال کمتر بر پایه تعداد کارکنان و بیشتر به دلیل پیچیدگی سازمانی (چندین repo، شرکت‌های مشارکت‌کننده متعدد یا ریسک تمرکز) رخ می‌دهد. 📈

راهنمای ساده انتخاب مدل بر اساس ویژگی‌ها: یک ریپازیتوری واحد، 3–10 maintainers، 1–3 orgs → Maintainer Council. ریپازیتوری واحد، 10–20 maintainers، 3–5 orgs → شورای نگهبان با نقش‌های تعریف‌شده و حوزه‌های مسئولیت مثل SIG. چند ریپازیتوری، 20+ maintainers، 5+ orgs → مدل فدرال. و هر پروژه‌ای با بیش از 75٪ مشارکت تک‌سازمانی، صرف‌نظر از مدل، باید رأی‌گیری متوازن سازمانی را اضافه کند.

نشانه‌های ضروری برای انتقال ساختار: توقف در تصویب تصمیم‌ها (وقتی گروه نگهبان برای اجماع تنبل خیلی بزرگ شود)، نبود مسیر روشن برای ورود مشارکت‌کنندگان جدید (تنها مسیر تأثیرگذاری نگهبان شدن باشد)، یا تسلط یک سازمان واحد بر اکثریت کرسی‌ها. در این شرایط معرفی ساختار نمایندگی، نقش‌های میانی (مثل reviewer، approver، SIG leads) یا مکانیزم رأی‌گیری متوازن سازمانی می‌تواند به تنوع و پایداری منجر شود. 🚦

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