ما همیشه می گیم «در پروژه های ساده مشارکت کنین» ولی جواب بعدی رو کمتر می دیم که «اون که کلیه، خب من دقیقا از کجا شروع کنم؟». اگر مهارتی بلد هستین که در دنیای نرم افزار آزاد ارزشمند است،این مطلب سعی می کنه جواب دقیقتری به شما بده. این مهارت هم لازم نیست حتما برنامه نویسی باشی. گاهی آدم ها نیازمند ترجمه، داکیومنت کردن، گرافیک، لوگو و چیزهای مشابه هستن و هکتبرفست فرصتی خوب برای این شروع است.
در واقع ایده اصلی هکتبرفست اینه که دست شما در کارهای واقعی روون بشه. در نتیجه اگر مهارتی دارین که فکر می کنین به اندازه کافی توش پیش رفتین و می تونین کارهای واقعی بکنین الان باید آستین بالا بزنین. در هر حوزه ای که باشین یاد گرفتن گیت و درک عمومی مفهوم پول ریکوئست قدم اوله – البته با فرض اینکه در حد برقراری ارتباط، از پس زبان بر میاین. بعدش باید یک پروژه پیدا کنین که توش مشارکت کنین. خیلی از پروژه ها در صفحه issue (مشکلات) می نویسن چه مشکلاتی دارن یا قدم بعدی شون چیه. اونها همچنین برای پیدا شدن راحتتر مشکلات آسونی که یه تازه کار می تونه برش داره، برچسب هایی مثل up for grabs، low hanging fuit و از بیشتر good first issue می زنن تا بگن این مساله، به نظرشون پیچیدگی خاصی نداره و مناسبه برای کسی که تازه می خواد با ماجرا آشنا بشه.
پس کافیه به گیت هاب برین و در سرچ بار چیزی مثل این بزنین
label:"good first issue" type:issue state:open
و در نتایج، بخش issue ها رو انتخاب کنین. معمولا اونهایی که کامنتشون صفر است انتخاب های بهتری هستن چون هنوز کسی روشون کار نمی کنه. همچنین می تونین با اضافه کردن language:rust یا هر زبانی که دوست دارین، زبان پروژه رو هم انتخاب کنین. معلومه که css و html هم جزو گزینه ها هستن.
شاید بعضی ها تمرکز بیشتری روی پروژه داشته باشن و بعضی ها روی خود ایشو. مثلا ممکنه من بخوام حتما در پروژه ای ایشو حل کنم که خودش هم چیز باحالیه. یا شاید بخوام در یک پروژه بسیار ساده، یه ایشوی خیلی ساده پیدا کنم که بهم اجازه مشارکت بده. هر کدوم که باشه در نهایت شما چند تا ایشو می بینین و یکیش به نظرتون جالبتر میاد.
در این مرحله خیلی خوبه سری بزنین به سورس کد، اونو بگیرین و راهنمایی های احتمالی یا شیوه های مشارکت (ممکنه مثلا فایل CONTRIBUTE باشه اسمش) رو بخونین. تقریبا بعد از اینکه مطمئن شدین از پس حل کردن اون مساله بر میاین مراحل اصلی اینها هستن:
- زیر ایشو بنویسین که علاقمند هستین روی این کار کنین. مثلا May I start working on this؟
- پروژه رو Fork کنین تا پروژه روی اکانت شما هم بیاد
- پروژه رو از اکانت خودتون کلون کنید رو کامپیوتر خودتون
- یه برنچ جدید باز کنید. مثلا به اسم ایشویی که دارین حل می کنین
- تغییرات رو انجام بدین و تست کنین و مطمئن بشین دقیق است. اگر لازمه در ایشو از صاحب پروژه نظر بخواین در مورد راه حل و شیوه انجاممش و …
- کد خودتون رو به گیت هاب خودتون پوش کنین (git push origin branch_name)
- حالا اگر به صفحه اصلی پروژه برین، می بینین که یه دگمه اومده برای ساخت پول ریکوئست جدید. اونو که فشار بدین می تونین بگین برنچ روی فورک شما رو مرج کنه روی پروژه اصلی. خوبه توی توضیحات دقیق بگین چیکار کردین و یه لینک هم به ایشو بدین که گیت هاب اتوماتیک زیر ایشو هم لینک پی آر شما رو بزنه
و منتظر باشین (:
درسته که اگر ۴ تا پی آر بزنین ممکنه بهتون یه تی شرت بدن ولی این فرصتی خوبه که یه قدم بالاتر از جایی که هستین بیاین و شروع کنین مشارکت در یک پروژه و سواد تئوری تون رو توی یک پروژه واقعی به کار ببرین. خیلی وقت ها شما که کد رو شناختین به کار ادامه می دین و ایشوهای بیشتری حل می کنین و از آدم های مهم همون پروژه می شین (:
این وسط آدمهای زیادی هم سعی کردن سایت / ریپوزیتوری هایی بسازن که توش این تیپ ایشوهای راحت رو یکجا جمع کنن، به تفکیک زبان یا چنین چیزهایی. مثلا Up For Grabs یا ایشو هاب یا First Timers Only یا مجموعه مشهور Awesome For Beginners ولی اگر نظر من ر می خواین، همون تکنینک سرچ بهتر جواب می ده (: