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

راهنمای اسپرینت

به اسپرینت‌های BeeWare خوش آمدید!

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

اسپرینت چیست؟

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

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

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

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

سوالات اولیه

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

  1. آیا قبلاً از BeeWare استفاده کرده‌اید؟

اگر هنوز این کار را نکرده‌اید، با گذراندن آموزش BeeWare شروع کنید. این آموزش مقدمه‌ای بر پروژه BeeWare و نحوهٔ چیدمان قطعات آن ارائه می‌دهد. اگر در حین آموزش با مشکلی مواجه شدید، یادداشت‌برداری کنید – زیرا اطمینان از اینکه هیچ‌کس دیگری با همان مشکل مواجه نشود، موضوع بسیار خوبی برای اولین مشارکت شماست!

وقتی آموزش را حداقل تا مرحلهٔ ۴ به پایان رساندید، به سؤال بعدی بروید.

  1. چه تجهیزات محاسباتی همراه خود دارید؟

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

  1. چه میزان تجربه در نوشتن کد پایتون دارید؟

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

  1. آیا با فرآیندهای مشارکت در گیت‌هاب آشنا هستید؟

آیا از گیت‌هاب (یا سایت مشابه اشتراک‌گذاری کد) برای میزبانی کدهای خودتان یا مشارکت در پروژه‌های دیگران استفاده می‌کنید؟ آیا می‌دانید CI (ادغام مداوم) چیست؟ آیا تا به حال در پروژه‌ای مشارکت کرده‌اید که قلاب‌های پیش‌تسلیم (pre-commit hooks) داشته باشد؟ اگر از شما بخواهم «rebase PR خود را با main ادغام کن»، آیا می‌دانید چه کاری باید انجام دهید؟

  1. آیا تا به حال در یک پروژه متن‌باز مشارکت کرده‌اید؟

آیا تا به حال در یک اسپرینت شرکت کرده‌اید؟ آیا تا به حال یک PR (درخواست کشش) برای یک پروژه متن‌باز ارسال کرده‌اید؟ آیا با نحوه استفاده از گیت‌هاب برای ایجاد درخواست کشش آشنا هستید؟

  1. آیا مهارت خاصی دیگری دارید که ممکن است مفید باشد؟

آیا با رابط برنامه‌نویسی کاربردی گرافیکی (GUI) مانند WinForms، Cocoa یا GTK آشنا هستید؟ آیا دانش عمیقی از ساختار داخلی یک سیستم‌عامل خاص دارید؟ آیا در زبانی غیر از پایتون متخصص هستید؟ اگر مهارت خاصی ندارید، مشکلی نیست – اما اگر یک متخصص ویندوز در اختیار داریم، می‌خواهیم مطمئن شویم که از آن مهارت‌ها به‌خوبی استفاده می‌شود.

  1. چرا به ما پیوستید و به چه چیزی علاقه‌مند هستید؟

«صدایت مثل یک پروژه دوستانه به نظر می‌رسید» پاسخ کاملاً مناسبی است. با این حال، اگر دلیل دیگری برای پیوستن امروزت به ما وجود دارد، به ما اطلاع بده. آیا به توسعه موبایل یا دسکتاپ علاقه‌مند هستی؟ بسته‌بندی؟ وب‌سایت‌ها؟ برنامه‌های کنسولی؟ اگر علاقه خاصی نداری – بر اساس آنچه تا کنون درباره BeeWare دیده‌ای، چه چیزی برایت جالب‌تر به نظر می‌رسد؟

حالا یک عضو تیم زنبور را پیدا کنید تا پاسخ‌هایتان را با او در میان بگذارید. ممکن است چند سؤال پی‌گیری از شما بپرسند؛ اما سپس شما را به بخشی راهنمایی می‌کنند که در آن می‌توانید مشارکت کنید.

مسئله خود را بیابید

اگر با یکی از اعضای تیم Bee صحبت کرده باشید، احتمالاً شما را به بخشی از پروژه BeeWare هدایت کرده‌اند که می‌توانید در آن مشارکت کنید؛ ممکن است حتی یک مسئلهٔ مشخص برای کار کردن پیشنهاد داده باشند. اگر مسئله‌ای مشخص به شما نداده‌اند، احتمالاً شما را به بخش «Good First Issues» آن پروژه راهنمایی کرده‌اند. این یعنی چه؟

GitHub فهرستی از مشکلات را فراهم می‌کند که به BeeWare (و سایر پروژه‌ها) امکان می‌دهد تمام مشکلاتی را که گزارش شده‌اند، پیگیری کند - این شامل باگ‌های واضح، رفتار غیرمنتظره‌ای که ممکن است یک باگ باشد، درخواست برای ویژگی‌های جدید، درخواست برای مستندات بیشتر - هر چیزی که ممکن است راهی برای بهبود BeeWare باشد. با گزارش شدن مسائل جدید، تیم Bee برخی از آنها را به عنوان مسائلی که برای یک مشارکت‌کننده تازه‌کار مناسب هستند، علامت‌گذاری می‌کند - مسائلی که نیاز به رفع فوری ندارند، اما به خوبی تعریف شده‌اند یا بازتولیدشان آسان است، و احتمالاً سرنخ خوبی برای علت اصلی دارند. این مسائل با برچسب «اولین مسئله مناسب» (good first issue) علامت‌گذاری می‌شوند تا پیدا کردنشان آسان‌تر شود.

برای فیلتر کردن لیست Issues گیت‌هاب بر اساس برچسب "good first issue"، مراحل زیر را دنبال کنید:

  1. روی دکمه «برچسب‌ها» در بالای فهرست مسائل کلیک کنید تا منوی کشویی فعال شود.
  2. کلمه «good» را در کادر جستجو در بالای منوی کشویی تایپ کنید.
  3. در فهرست فیلترشده روی «good first issue» کلیک کنید.

فیلتر کردن مسائل گیت‌هاب بر اساس
برچسب

فیلتر کردن Issues گیت‌هاب بر اساس برچسب «اولین مسئله مناسب».

وقتی مسئله‌ای را پیدا کردید که جالب به نظر می‌رسد، نظرات موجود در پست را بخوانید و در بحث یک نظر بگذارید و اعلام کنید که در حال بررسی مسئله هستید (مثلاً: «در اسپرینت‌های PyCon US 2025 به این مسئله رسیدگی می‌کنم»). BeeWare به‌طور صریح مسائل را «واگذار» نمی‌کند - ما از هر کسی مشارکت می‌پذیریم. با این حال، در شرایط اسپرینت، باید مطمئن شویم که دو نفر روی یک مسئله کار نکنند - گذاشتن نظر راهی سبک برای هماهنگی بین مشارکت‌کنندگان است.

اگر هنوز هم کاری که دوست داشته باشید انجام دهید پیدا نکرده‌اید، یک عضو تیم Bee را پیدا کنید تا به شما کمک کند مسئله را محدودتر کنید.

راه‌اندازی محیط توسعه

وقتی یک مشکل را پیدا کردید، باید محیط توسعهٔ خود را راه‌اندازی کنید تا بتوانید روی رفع آن کار کنید. هر پروژهٔ BeeWare راهنمای مشارکت مخصوص به خود را دارد:

اگر پروژه در این فهرست نباشد، برای جزئیات نحوه راه‌اندازی به README پروژه مراجعه کنید. اگر هر یک از دستورالعمل‌ها برایتان قابل‌درک نیست (یا آن دستورالعمل‌ها را پیدا نمی‌کنید)، یکی از اعضای تیم Bee را پیدا کنید تا شما را از مشکل خارج کند. و اگر فکر می‌کنید می‌توانید دستورالعمل‌ها را بهبود دهید تا دیگران با همان مشکل مواجه نشوند، بهبود راهنمای مشارکت یک کمک ارزشمند است!

حالا می‌توانید کار روی مشکل خود را شروع کنید!

بعد از ارسال PR من چه اتفاقی می‌افتد؟

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

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

وقتی PR از بازبینی عبور کند، بازبین شما PR را ادغام می‌کند – و کار شما تمام است! تبریک می‌گویم – شما به BeeWare کمک کرده‌اید! اگر این اولین مشارکت شما در BeeWare است، BeeWare Challenge Coin را هم به دست آورده‌اید – یکی از اعضای تیم اصلی را پیدا کنید تا یک سکه به شما بدهد!

کمک! گیر افتادم!

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

اگر در طول اسپرینت نتوانم سهم خود را به پایان برسانم چه می‌شود؟

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

اگر قبلاً روی یک مسئله گیت‌هاب کار می‌کردید یا یک PR ارسال کرده‌اید، می‌توانید از طریق گیت‌هاب به ارتباط ادامه دهید. اگر سؤال دیگری دارید یا به کمک فوری نیاز دارید، بهترین مکان برای پیدا کردن ما سرور دیسکورد BeeWare است. مشتاقانه منتظر ادامه همکاری با شما هستیم!

بهبود این راهنما

اگر پیشنهادی برای بهبود این راهنمای اسپرینت دارید، به ما اطلاع دهید. چه چیزی برای شما کارآمد بود؟ چه چیزی نبود؟ چه کاری را می‌توانیم بهتر انجام دهیم؟ و به یاد داشته باشید: رفع یک مشکل در این راهنمای اسپرینت به‌عنوان مشارکت در BeeWare محسوب می‌شود!