اگر میخواهید به منبع باز کمک کنید، دانستن اینکه از کجا شروع کنید و چگونه پروژههای در حال رشد را پیدا کنید، بسیار مهم است.
اگر میخواهید وارد حوزه فناوری اطلاعات شوید، داشتن مشارکتهای منبع باز به رزومه شما وزن میافزاید و به شما کمک میکند تا از دیگران متمایز شوید.
مردم اغلب متن باز را با پروژه های بزرگ مقیاس و برنامه نویسان اعجوبه ای که از زیرزمین خود کدنویسی می کنند مرتبط می دانند. اما واقعیت چیز دیگری است. مشارکت در یک پروژه منبع باز بسیار ساده تر از آن چیزی است که فکر می کنید. و برای شروع حتی نیازی به دانستن نحوه برنامه نویسی ندارید.
مرحله 1: شناسایی مهارت ها و پشته فنی شما
قبل از رفتن به GitHub یا سایر پلتفرم های توسعه نرم افزار، باید مهارت های خود را تجزیه و تحلیل کنید. شاید توسعه وب با React باشد. یا اگر اهل سیستم عامل هستید، ممکن است در C و توسعه درایور دستگاه مهارت داشته باشید.
فهرستی از تمام فناوریهایی که با آنها آشنا هستید، همراه با برخی از فناوریهایی که میخواهید در طول مسیر یاد بگیرید، تهیه کنید. سپس، آن فناوری ها را بر اساس تخصص خود مرتب کنید تا بتوانید پروژه ای را پیدا کنید که با دامنه شما مطابقت داشته باشد.
فن آوری های پیش نیاز
همه پروژههای منبع باز از سیستم کنترل نسخه استفاده میکنند، خواه Git، Apache Subversion یا Mercurial. بنابراین، بسیار مهم است که خود را در مورد هر یک از این سیستم های کنترل نسخه آموزش دهید تا بتوانید فعالانه در توسعه پروژه شرکت کنید.
مرحله 2: یافتن یک پروژه منبع باز
گام بعدی جستجو برای یک پروژه منبع باز خوب است که در حال حاضر فعال و برای مشارکت باز است. می توانید با نگاه کردن به تعداد ستاره ها و فورک های یک پروژه درباره محبوبیت آن قضاوت کنید.
اما از کجا یک پروژه پیدا می کنید؟ در اینجا سه پلتفرم معروف برای جستجوی پروژه ها آورده شده است:
1. سازمان های GSOC
برای یافتن فهرست کاملی از پروژههای منبع باز که در حال حاضر برای مشارکتها باز هستند، به صفحه وب سازمانهای تابستانی کد Google بروید. و نه، برای انجام این کار نیازی به ثبت نام در GSoC ندارید.
این وبسایت به شما یک فیلد جستجو، توابع مرتبسازی و نمای دستهبندی سازمانها میدهد تا بتوانید سازمانهایی را که با مجموعه مهارتهای شما مطابقت ندارند فیلتر کنید.
حتی میتوانید یک فناوری خاص را جستجو کنید و سازمانهایی را که از آن فناوری خاص استفاده میکنند بازگرداند.
وقتی آماده شدید، روی کارت یک سازمان کلیک کنید و به صفحه وب آن سازمان هدایت خواهید شد. از آنجا میتوانید درباره آن اطلاعات بیشتری کسب کنید، پروژههای موجود را مرور کنید و کد آنها را مشاهده کنید.
2. صفحه مشارکت کنندگان CNCF
از صفحه مشارکتکنندگان CNCF دیدن کنید و به پایین بروید تا فهرستی از پروژههای منبع باز بهخوبی سازماندهی شده به همراه زبان برنامهنویسی اصلی مورد استفاده را بیابید.
میتوانید روی یک پروژه خاص کلیک کنید، که شما را به بخشی میبرد که مخزن پروژه، وبسایت رسمی، دستههای رسانههای اجتماعی و موارد دیگر را برجسته میکند.
3. موضوعات GitHub
یکی دیگر از راه های قابل توجه و بدون شک بهترین راه برای جستجوی پروژه های منبع باز استفاده از GitHub است. اگر سازمانهای مقیاس بزرگ فهرستشده در وبسایت GSoC و CNCF شما را میترسانند، مطمئن باشید که میتوانید پروژههای کوچک زیادی را پیدا کنید که در GitHub مورد توجه قرار گرفتهاند.
موضوعی را انتخاب کنید که به آن علاقه دارید (به عنوان مثال، “توسعه هسته”) و آن را به URL زیر وصل کنید:
https://github.com/topics/topic-name
مطمئن شوید که نام موضوع را با فناوری یا موضوعی که به آن علاقه دارید جایگزین کنید.
GitHub پروژهها را در آن دامنه خاص شامل جزئیاتی مانند توضیحات، تعداد ستارهها، برچسبها و موارد دیگر برمیگرداند. از اینجا می توانید هر کدام را که علاقه شما را برانگیخته است انتخاب کنید و از آنجا ادامه دهید.
مرحله 3: درک یک پایگاه کد منبع باز
بنابراین شما یک پروژه را نهایی کرده اید. به نظر امیدوارکننده است و موضوع جذاب به نظر می رسد. اما چگونه می توان کل پایه کد را درک کرد؟ حتی برای برنامه نویسان باتجربه نیز مانند یک مهره سخت به نظر می رسد.
اولین چیزی که باید بدانید این است: اگر یک پروژه متنباز بزرگ است، به احتمال زیاد توسعهدهندگان آن را به بخشهایی تقسیم میکردند، و برای اینکه بتوانید مشارکت کنید، نیازی به درک هر خط کد ندارید. درعوض، پروژه را با دید پرنده نگاه کنید و قسمتی را که میخواهید با آن کمانچه بپردازید عمیقتر کنید.
همچنین توصیه می شود از این نرم افزار در پروژه های شخصی استفاده کنید تا از نحوه عملکرد آن مطلع شوید. این به شما کمک میکند تا در مورد نرمافزار بیشتر بدانید حتی زمانی که مستقیماً روی آن کار نمیکنید.
1. به لیست پستی بپیوندید
بهترین راه برای درخواست پرس و جو و درک کد، پیوستن به لیست پستی رسمی است. اگر پروژه بزرگی است، پس از نامههایی که حاوی مشکلات و درخواستهای ویژگی هستند، آماده بمباران ایمیل شوید. فایل README پروژه را برای URL لیست پستی بررسی کنید.
به عنوان یک مبتدی، می توانید نامه ای بفرستید مبنی بر اینکه تازه وارد هستید و می خواهید در پروژه مشارکت کنید. اکثر توسعه دهندگان از آن استقبال می کنند و به شما در رفع اشکال یا مشکلی که در سطح شماست کمک می کنند.
2. به پلتفرم ارتباطی پروژه بپیوندید
بسیاری از پروژههای منبع باز دارای Discord، Slack یا پلتفرمهای ارتباطی دیگر برای چت کردن توسعهدهندگان هستند. مشابه URL لیست پستی، می توانید این موارد را در فایل README یک پروژه لیست شده پیدا کنید.
مرحله 4: مشارکت در یک پروژه منبع باز
شما با مشارکت کنندگان موجود تماس برقرار کرده اید و نسبت به کد کاملاً مطمئن هستید. بعدش چی؟
اکنون زمان آن رسیده است که میوه های کم آویزان را پیدا کنید و با نوشتن کدی مشکل را برطرف کنید.
1. پیدا کردن اولین مشکلات در GitHub
در GitHub، توسعهدهندگان باگها و درخواستهای ویژگی را در بخشی با عنوان Issues فهرست میکنند. شما می توانید در این لیست پیمایش کنید و مشکلی را پیدا کنید که به نظر شما قابل رفع است. برای مبتدیان، روی گزینه Labels کلیک کنید و با کلیک بر روی Good First Issues یا For Beginners لیست را فیلتر کنید.
2. استفاده از goodfirstisue.dev
goodfirstissue.dev یک وب سایت فوق العاده است که کار را برای شما آسان می کند. این برنامه مسائل اولیه و مبتدی را از هزاران مخزن جمع آوری می کند و آنها را در قالبی آسان برای خواندن فهرست می کند. می توانید مسائل را از یک پروژه انتخاب کنید و لیست را بر اساس زبان و فناوری استفاده شده فیلتر کنید.
با کلیک بر روی یک ورودی آن را گسترش داده و مسائلی را نشان می دهد که برای مبتدیانی که با مشارکت های منبع باز شروع می کنند ایده آل هستند.
3. به دنبال مشکلات با برچسب های راهنما
اگر به اندازه کافی مطمئن نیستید که مشکلی را خودتان حل کنید، میتوانید مشکلات را با برچسب Help، Help wants یا Help مورد نیاز فیلتر کنید. اینها توسط توسعه دهندگانی که قبلاً روی مشکلی کار می کنند اما به کمک نیاز دارند فهرست شده اند.
کمک به شخص دیگری راه خوبی برای پیدا کردن یک مربی و کسب اطلاعات بیشتر در مورد پروژه است.
4. زیباسازی اسناد یا رابط کاربری
افرادی که نحوه کدنویسی را نمی دانند نیز می توانند به منبع باز کمک کنند. می توانید به ایجاد یک رابط کاربری برای وب سایت پروژه کمک کنید یا فایل README یا اسناد موجود را بهبود بخشید تا برای مبتدیان قابل درک باشد. مورد دوم مستلزم دانستن برخی اصول در مورد پروژه و عملکرد آن است.
می توانید مسائل مربوط به بهبود README یا توسعه UI/UX برای وب سایت پروژه را پیدا کنید. اگر نمیتوانید، به صاحب پروژه ایمیل بزنید و مهارتهای شما و دلیلی که میخواهید مشارکت کنید را برجسته کنید. اکثر توسعه دهندگان از کمک قدردانی می کنند و شما را به کار می گیرند.
مرحله 5: ادغام اولین درخواست کشش
اکنون، تنها چیزی که باقی میماند این است که یک مشکل را برطرف کنید و یک درخواست کشش ایجاد کنید تا تغییرات خود را برای تأیید در کد ارسال کنید. می توانید از Git برای مشارکت در پروژه استفاده کنید. اگر اصلاحات شما مشکل را بدون شکستن چیزی حل کند، مالک درخواست کشش شما را ادغام می کند و شما اولین مشارکت منبع باز خود را انجام می دهید.
اگر اشتباهی مرتکب شدید، میتوانید از آنها بخواهید که قبل از شروع دوباره به کار کردن، شک و تردید شما را برطرف کنند. در هر صورت، زمان، تلاش و پشتکار نیاز است تا بتوان یک پروژه را یاد گرفت و در آن مشارکت کرد.
اکنون شما یک مشارکت کننده منبع باز هستید
شما اکنون همه چیزهایی را که باید انجام دهید، از انتخاب یک پروژه منبع باز تا ادغام اولین درخواست کشش خود، یاد گرفته اید. هرچند این تازه شروع کار است. اگر پروژه را دوست دارید، می توانید به مشارکت خود ادامه دهید و به یک توسعه دهنده مشهور در جامعه تبدیل شوید.
کد منبع باز با کد اختصاصی متفاوت است. شما باید ویژگی های هر کدام و تفاوت آنها با یکدیگر را بدانید.