تجربیاتی که از اولین مشارکتم در یک پروژه نرم افزار آزاد کسب کردم ۱

مسیر رسیدن به اولین مشارکت

درود

من امینم

یک برنامه‌نویس تازه کار که در حال یادگیری الگوریتم، سامانه‌عامل گنو، BASH، زبان C، شبکه (بعداً شروعش میکنم :) )، داده‌ساختار‌ها و … هست

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

در این فرسته هم مستقیم نمیرم سر موضوع اصلی و فعلا فقط مسیر رسیدن به موضوع اصلی رو شرح میدم.

همه‌ی ما بعد از یادگیری مبانی پایه‌ای یک زبان در ادامه میریم سراغ یادگیری چیزایی مانند کدنویسی تمیز، کار با گیت، داده‌ساختار ها، یک کتابخانه از اون زبان و …

پس من هم رفتم سراغ یادگیری گیت

هر برنامه نویس تازه‌کاری بعد از یادگیری گیت و گشتن در وبگاهی مانند gitlab.com تازه‌ میفهمه عههههههههههههه، چه دنیای بزرگی وجود داشته و من نمیدونستم! این همه پروژه و در بیشترشونم هر کسی که می‌خواد میتونه مشارکت کنه (تنها اونایی که آزادن البته)!!!!! هرکسی که بخواد میتونه از یک پروژه یک انشعاب درست کنه و اون انشعابو یا خودش ادامه بده یا تغیرات دلخواهشو ایجاد کنه و اون تغیراتو برای پروژه‌ی اصلیه هم بفرسته و اگه مالک اون پروژه‌ی اصلیه خواست اون تغیراتو اعمال کنه!

مانند هرکس دیگه‌ای وقتی گیتو یاد گرفتم، برای تمرین رفتم در یکی از وبگاه هایی که خدمت گیتو ارائه میداد ثبت‌نام کردم. اولین وبگاهی که در اون ثبت‌نام کردم مانند خیلی های دیگه گیت‌هاب بود. اما خب برای اینکه آزاد نبود بعدا رفتم روی gitea. من نمی‌فهمم! چجوری یک نفر میتونه هزار جای وبگاهش واژه‌های open source رو بذاره ولی خودش آزاد نباشه! توهین به گیت‌هاب. کلا هم چیز آشغالیه!

دومین وبگاهی که توش ثبت‌نام کردم gitea.com بود. از اون خوشم اومد. هم طراحی قشنگی داشت و هم ویژگی های خوب. یه پروژه‌ی کوچولو و بدرد نخور هم توش توسعه دادم که خب خیلی چیز بدی بود ولی خب اولین ها همیشه همینن!

در روند توسعه‌ی اولین پروژه‌ام چیز های زیادی رو فهمیدم. اولیش این بود که من هنوز دانش کافی برای شروع پروژه‌ای که از چندین پرونده تشکیل شده رو ندارم! تازه من داشتم از Bash برای این پروژه استفاده میکردم، حالا اگه میخواستم یک پروژه رو به زبان C شروع کنم که یک زبان سطح پایینه که اصلا نمیتونستم. پس تصمیم گرفتم که بیشتر زمانمو بذارم روی مشارکت روی پروژهای دیگران تا اینکه خودم یک پروژه رو ادامه بدم. متاسفانه برای ایجاد یک پروژه‌ی درست درمون نیاز به دانش زیادی هست اونم توی حوضه های مختلف! و خب روند یادگیری این دانش چندین سال طول میکشه.

وبگاه gitea برای مشارکت، زیاد جای مناسبی نبود، کاربران کمی داشت و پروژه های کمی رو هم میزبانی میکرد، پس تصمیم گرفتم برم روی codeberg.org.

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

خب برای مشارکت باید اول یک پروژه‌ای رو پیدا میکردم که توانایی مشارکت در اونو داشته باشم. منظور من از مشارکت یک تغیر ساده‌ی ReadMe نیست، منظور من اینکه در روند توسعه‌ی اون پروژه تاثیر زیادی داشته باشم و همین‌طور با روند توسعه‌اش همراه باشم و یکی از اصلی ترین مشارکت کنندگانش هم به حساب بیام (تقریبا). پس رفتم در قسمت گشت‌وگذار (explore) و شروع به گشتن کردم، چندین روز گذشت و خب چیزی پیدا نکرم که بتونم توی اون به اون صورتی که میخوام مشارکت کنم، ولی خب بالاخره یوسوفمو پیدا کردم!

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

ایجاد کننده‌ی این پروژه شخصی هست به نام Celenity (یا حداقل نام کاربریش Celenity هست) و در آمریکا هم زندگی میکنه، ارتباط منو اون در روند مشارکت من در پروژه اش هی بیشترو بیشتر شد و حالا میتونم بگم که باهم دوستیم! :))))))

خب وقتی که در قسمت گشت‌وگذار این پروژه رو پیدا کردم واردش شدم، در ابتدا این پروژه تنها دارای ۶ ستاره بود و کاربران زیادی نداشت و فقط هم از توزیع فدورا پشتیبانی میکرد. تازه نصبش هم به صورت دستی بود و کاربر باید یک کدنوشته‌ (اسکریپت) رو اجرا میکرد.

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

خب نمیخوام این نوشتم طولانی تر از این بشه، ادامه‌ی ماجرا رو بعدا بهتون میگم. خدانگهدار