کدی که به اشتراک گذاشتم: سفر من در دنیای متن‌باز

نوشتن کد در فضای عمومی، طرز فکر من را نسبت به نرم‌افزار تغییر داد.

من اولین pull request خود را در روز اول سال ۲۰۲۴ ادغام (merge) کردم. در آن زمان اتفاق کوچکی به نظر می‌رسید. طی ۳۰ ماه گذشته، آن قدم کوچک به بخش مهمی از رشد من تبدیل شد.

می‌خواهم تاریخچه مشارکت‌هایم را به اشتراک بگذارم. این خط زمانی، پیشرفت من را از اسکریپت‌های ساده Python تا رفع باگ‌های سیستم Windows و کار بر روی ابزارهای پیشرفته Graph RAG نشان می‌دهد.

پروژه‌های کلیدی که روی آن‌ها کار کردم:

• topoteretes/cognee: یک فریم‌ورک Graph RAG. من باگ‌های مربوط به مسیردهی (pathing) در Windows و بصری‌سازی گراف را برطرف کردم. • google-gemini/gemini-cli: ابزاری برای مدل‌های Gemini. • NousResearch/hermes-agent: یک فریم‌ورک عامل هوش مصنوعی (AI agent). • TheAlgorithms/Python: مجموعه‌ای از الگوریتم‌های Python. • sumanth-0/100LinesOfPythonCode: بهبودهایی برای یادگیرندگان Python.

متن‌باز (Open source) یعنی حل کردن مشکلات واقعی در کنار دیگران.

من الگوی مشخصی را در کارهایم مشاهده کردم. کارم را با ویرایش‌های ساده در مستندات شروع کردم. با افزایش اعتمادبه‌نفس، به سراغ پیکربندی سیستم، به‌روزرسانی‌های امنیتی و سازگاری میان‌پلتفرمی (cross-platform) رفتم.

دو درس بزرگی که آموختم:

۱. پشتیبانی از پلتفرم‌های مختلف (Cross-platform) اهمیت دارد. بسیاری از توسعه‌دهندگان از Windows غافل می‌شوند. من زمان زیادی را صرف رفع مشکلات مسیر فایل‌های مخصوص Windows در کتابخانه‌هایی مانند cognee کردم. همیشه روی سیستم‌عامل‌های مختلف تست کنید.

۲. ارتباط شفاف یک ابرقدرت است. هر پروژه‌ای قوانین خاص خود را دارد. رعایت آن قوانین و توضیح تغییراتم به نگهدارندگان (maintainers) کمک کرد تا کد من را سریع‌تر بررسی کنند.

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

اگر می‌خواهید سفر خود را در دنیای متن‌باز شروع کنید، این کارها را انجام دهید:

  • با مسائل (issues) کوچک شروع کنید.
  • مستندات را بخوانید.
  • سوال بپرسید.
  • صبور باشید.

منبع: https://dev.to/aniruddhaadak/the-code-i-shared-reflections-on-359-merged-pull-requests-in-open-source-gk2