پرش به محتویات

حکمرانی

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

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

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

سابقه‌ی تیم

سطوح مختلف ارشدیت در پروژه BeeWare عبارتند از:

زنبور عسل، یا زنبور کارگر

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

زنبوردار

زنبوری که به‌عنوان یک مشارکت‌کنندهٔ مورد اعتماد شناخته شده است. این زنبورها در طول یک دورهٔ زمانی توانایی خود را در ارتباط با بخش مشخصی از پروژهٔ BeeWare نشان داده‌اند. این توانایی می‌تواند در سطح فنی باشد (تخصص در جاوااسکریپت، پایتون، اوبجکتیو-سی؛ دانش GTK+، macOS) یا در سطح دیگری (مدیریت جامعه، بازبینی کد). همچنین ممکن است زنبورداران دسترسی commit برای پروژه‌ای را داشته باشند که تخصص آن‌ها در آن به رسمیت شناخته شده است.

زنبورداران ارشد

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

دیکتاتور بی‌ضرر فعلاً (BDFN)

نگاهی به دیکتاتور خیرخواه مادام‌العمر، مسئولیت هدایت و تصمیم‌گیری‌های پروژه در نهایت بر عهده BDFN است. استفاده از «فعلاً» به جای «مادام‌العمر» اشاره‌ای به مضمون جنگو است که مسئولیت‌های نگهدارندهٔ اصلی را در تمام طول عمر طبیعی یک فرد تحمیل نمی‌کند. زندگی خارج از دنیای متن‌باز نیز وجود دارد و حفظ تعادل بین کد و زندگی و رفاه عمومی، امری بسیار مهم است که باید در نظر گرفته شود.

BDFNِ BeeWare، Russell Keith-Magee است.

زنبوردار بنیان‌گذار

مردی که نخستین بار بر فراز تپه‌ای ایستاد و یَکی را دید که نیاز به اصلاح داشت. این نقش هرگز تغییر نمی‌کند و تا بی‌نهایت ادامه می‌یابد؛ با این حال ذاتاً هیچ قدرت اضافی در سازمان منتقل نمی‌کند. در حال حاضر، زنبوردار بنیان‌گذار همچنین BDFN است؛ اما این ممکن است با گذشت زمان تغییر کند.

راهنماها (نه قوانین واقعی)

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

  • نماینده خوبی برای پروژه در جامعه وسیع‌تر باشید.
  • به هر پرسش و مشارکت در هر پروژه BeeWare با احترام برخورد کنید.
  • فرض کنید همه نیت خوبی دارند، حتی اگر در انتخاب کلمات‌شان دقت نکرده باشند.
  • فرض کنید اگر کسی کاری را به روش «نادرست» انجام داده، به این دلیل است که ما در انتقال فرآیند ناکام بوده‌ایم.
  • فرض کنید هرگونه ابراز خشم یا ناامیدی از جایگاهی صادقانه ناشی می‌شود که در آن فرد می‌خواهد از یک ابزار یا کتابخانه BeeWare استفاده کند.
  • سایر اعضای جامعه را تشویق کنید تا این آرمان‌ها را در ارتباطات خود، چه در داخل و چه در خارج از جامعه BeeWare، منعکس کنند.
  • هیچ زنبوردار نباید کد خودش را بنویسد.
  • استثناء: «چیزی خیلی خراب است و باید همین حالا تعمیر شود»
  • استثناء: BDFN (ممکن است در آینده تغییر کند)
  • تمام کدهای ارسالی برای بازبینی توسط یک عضو تیم اصلی باید توسط عضو دیگری از تیم بازبینی شوند.
  • استثناء: BDFN (ممکن است در آینده تغییر کند)
  • تمام کدها باید قبل از ادغام، تست‌های یکپارچه‌سازی مستمر را با موفقیت پشت سر بگذارند.
  • استثناء: کدی که می‌دانیم خراب است و به دلایل دیگری نیاز به commit شدن دارد.
  • استثناء: کد در یک مخزن با تست‌های CI ناکافی
  • استثناء: کار کردن و متعهد بودن بهتر از بی‌نقص بودن و بی‌تفاوت بودن است.
  • فرآیندهای پذیرش باید تا حد امکان خودکار شوند.
  • این یعنی تست‌ها، لینتینگ، بررسی املایی، پوشش و موارد دیگر

زنبوردار شدن

معرفی یک Apiarist جدید به تیم، به صلاحدید تیم اصلی موجود است. در حال حاضر قواعد محکمی برای این موضوع وجود ندارد، اما به طور کلی، اگر کسی مشارکت‌های محکمی در پروژه داشته باشد، برای عضویت به عنوان Apiarist در پروژه BeeWare دعوت خواهد شد. این موضوع می‌تواند به افرادی با دانش تخصصی در حوزه‌ای خاص (برای مثال iOS/macOS) که ممکن است در تیم فعلی وجود نداشته باشد نیز تعمیم داده شود. همچنین لازم نیست این موضوع صرفاً بر اساس کامیت‌ها باشد. هر کسی که بتواند علاقه و تعهد خود را به پروژه به طور کلی نشان دهد، می‌تواند درخواست کند که اجازهٔ کامیت کردن در پروژه به او داده شود.

تمام زنبورداران تازه‌کار «معرفی» (به‌خاطر نبود واژه بهتر) به ارزش‌ها و دستورالعمل‌های اصلی پروژه خواهند شد. خلاصه‌ای از ارزش‌های اصلی را می‌توانید در صفحه «درباره» بیابید. از هر کسی که به تیم بپیوندد انتظار می‌رود آن ارزش‌ها را رعایت کند و در بحث‌ها درباره تحول این ارزش‌ها در طول زمان مشارکت نماید.

از هیچ زنبوردار، چه تازه‌کار و چه باتجربه، انتظار نمی‌رود که تنها مسئول نگهداری یک چیز باشد. زنبورداران زیادی وجود دارند و افراد بسیار بیشتری هستند که می‌توانند کمک، مشاوره و راهنمایی ارائه دهند.

«بیت تعهد»؟

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