گیتهاب سالهاست که یکی از مهمترین پلتفرمهای میزبانی کد و همکاری برنامهنویسان محسوب میشود، اما در ماههای اخیر برخی پروژههای شناختهشده متنباز تصمیم گرفتهاند از این سرویس فاصله بگیرند. مشکلات پایداری GitHub Actions و اختلال در ابزارهای توسعه، نگرانی درباره استفاده از اطلاعات کاربران برای آموزش هوش مصنوعی و افزایش وابستگی به زیرساختهای مایکروسافت از مهمترین دلایل این تغییر هستند. پروژههایی مانند Zig مسیر مهاجرت به Codeberg را انتخاب کردهاند و توسعهدهندگان Ghostty نیز تصمیم به خروج از گیتهاب گرفتهاند. در این میان، سرویسهایی مانند Codeberg و Forgejo و SourceHut بهعنوان جایگزینهای متنباز گیتهاب بیشتر مورد توجه قرار گرفتهاند.
چرا برنامهنویسان و پروژههای متنباز از گیتهاب مهاجرت میکنند؟
گیتهاب همچنان یکی از بزرگترین پلتفرمهای مدیریت مخزن کد در جهان است و بخش قابلتوجهی از پروژههای متنباز روی آن توسعه پیدا میکنند. بااینحال، استفاده گسترده از یک سرویس الزاماً به معنی رضایت تمام توسعهدهندگان از عملکرد آن نیست.
یکی از مهمترین نگرانیها، مشکلات پایداری سرویسهایی مانند GitHub Actions است. این قابلیت برای اجرای آزمایشهای خودکار، ساخت نرمافزار و انتشار نسخههای جدید کاربرد دارد. وقتی چنین سرویسی با اختلال مواجه شود، ممکن است روند توسعه یک پروژه برای چند ساعت متوقف شود.
مهاجرت زبان برنامهنویسی Zig به Codeberg
در نوامبر ۲۰۲۵، توسعهدهندگان زبان برنامهنویسی Zig تصمیم گرفتند مخزن اصلی پروژه را از گیتهاب به Codeberg منتقل کنند.
این تصمیم فقط به مخالفت با هوش مصنوعی مربوط نبود. توسعهدهندگان Zig به مشکلات عملکردی رابط کاربری و خطاهای سیستم GitHub Actions نیز اشاره کردند. اختلال در اجرای وظایف خودکار باعث شده بود بررسی تغییرات کد و اجرای آزمایشها به تأخیر بیفتد.
پس از مهاجرت، مخزن اصلی پروژه در Codeberg قرار گرفت و مخزن قدیمی گیتهاب به حالت فقطخواندنی درآمد. البته بخشی از درخواستهای تغییر کد و گزارشهای قدیمی برای جلوگیری از اختلال در روند همکاری، در همان پلتفرم باقی ماندند.
چرا توسعهدهندگان Ghostty تصمیم به ترک گیتهاب گرفتند؟
در آوریل ۲۰۲۶، سازنده ترمینال متنباز Ghostty نیز تصمیم به مهاجرت از گیتهاب را اعلام کرد.
دلیل اصلی این تصمیم، اختلالهای مکرر در سرویسهای گیتهاب بود. مشکلات زیرساختی باعث میشد بررسی Pull Requestها و استفاده از ابزارهای توسعه برای مدت قابلتوجهی امکانپذیر نباشد.
نکته مهم این است که خود فناوری Git مشکل اصلی نبود. برنامهنویسان همچنان میتوانند کدهای خود را بهصورت محلی مدیریت کنند، اما بخشهایی مانند Issues و Pull Requests و سیستم ساخت خودکار به سرویس میزبانی وابسته هستند.
برنامه مهاجرت Ghostty نیز مرحلهای اعلام شد تا وابستگیهای پروژه بهتدریج از گیتهاب جدا شوند.
این اتفاقها نشان میدهند که مهاجرت از گیتهاب صرفاً واکنشی به قابلیتهای هوش مصنوعی نیست؛ پایداری سرویس و استقلال زیرساخت نیز اهمیت زیادی دارند.
استفاده از کدهای کاربران گیتهاب برای آموزش هوش مصنوعی Copilot
یکی دیگر از موضوعات بحثبرانگیز، سیاست استفاده از اطلاعات کاربران در سرویس GitHub Copilot است.
مایکروسافت در سالهای اخیر امکانات هوش مصنوعی را به بخشهای مختلف گیتهاب اضافه کرده است. Copilot میتواند در نوشتن کد، توضیح عملکرد برنامهها، پیدا کردن خطاها و پیشنهاد تغییرات به توسعهدهندگان کمک کند.
بااینحال، استفاده از اطلاعات تعاملات کاربران برای آموزش مدلهای هوش مصنوعی نگرانیهایی درباره حریم خصوصی و مالکیت دادهها ایجاد کرده است.
از ۲۴ آوریل ۲۰۲۶، گیتهاب سیاست استفاده از دادههای تعامل کاربران اشتراکهای شخصی Copilot را تغییر داد. بر اساس این سیاست، اطلاعاتی مانند درخواستها، پاسخهای تولیدشده و بخشهایی از کد مرتبط با تعاملات Copilot ممکن است برای آموزش و بهبود مدلهای هوش مصنوعی استفاده شوند؛ مگر اینکه کاربر این امکان را غیرفعال کند.
این سیاست به معنی استفاده خودکار از تمام محتوای هر مخزن خصوصی برای آموزش مدلها نیست. همچنین اطلاعات کاربران اشتراکهای سازمانی Copilot Business و Copilot Enterprise تحت سیاستهای متفاوتی قرار دارند.
آموزش غیرفعال کردن استفاده از اطلاعات GitHub Copilot برای آموزش مدلها
اگر از اشتراک شخصی Copilot استفاده میکنید، میتوانید گزینه مربوط به استفاده از اطلاعاتتان برای آموزش مدلهای هوش مصنوعی را غیرفعال کنید.
- وارد حساب گیتهاب شوید و روی تصویر پروفایل خود کلیک کنید.
- بخش Settings را باز کنید و وارد قسمت Copilot شوید.
- در تنظیمات Copilot بخش Privacy را پیدا کنید.
- گزینه Allow GitHub to use my data for AI model training را روی Disabled قرار دهید.
GitHub → Settings → Copilot → Privacy → Allow GitHub to use my data for AI model training → Disabled
گیتهاب ← تنظیمات ← کوپایلت ← حریم خصوصی ← اجازه استفاده از دادهها برای آموزش مدل هوش مصنوعی ← غیرفعال
پس از تغییر تنظیمات، ممکن است اعمال کامل آن کمی زمان ببرد. این گزینه نیز بسته به نوع اشتراک و سیاستهای حساب کاربری ممکن است نمایش متفاوتی داشته باشد.
چرا برخی پروژههای متنباز با Vibe Coding مخالف هستند؟
اصطلاح Vibe Coding به شیوهای از توسعه نرمافزار اشاره دارد که در آن کاربر بخش قابلتوجهی از تولید کد را به هوش مصنوعی واگذار میکند.
این روش میتواند سرعت ساخت نمونههای اولیه را افزایش دهد، اما اگر کدهای تولیدشده بدون بررسی تخصصی وارد پروژه شوند، احتمال ایجاد باگهای امنیتی، مشکلات نگهداری و افزایش پیچیدگی نرمافزار وجود دارد.
به همین دلیل بعضی پروژههای متنباز برای پذیرش کدهای تولیدشده با هوش مصنوعی محدودیتهایی در نظر گرفتهاند.
البته استفاده از ابزارهای هوش مصنوعی بهخودیخود به معنی پایین بودن کیفیت کد نیست. تفاوت اصلی به میزان بررسی انسانی، آزمایش نرمافزار و مسئولیتپذیری توسعهدهنده مربوط میشود.
معرفی Codeberg؛ جایگزین رایگان گیتهاب برای پروژههای متنباز
Codeberg یکی از شناختهشدهترین جایگزینهای گیتهاب است که با تمرکز بر نرمافزار آزاد، حریم خصوصی و مدیریت غیرانتفاعی فعالیت میکند.
برخلاف گیتهاب که زیرمجموعه مایکروسافت است، Codeberg توسط یک انجمن غیرانتفاعی اداره میشود و توسعه زیرساخت آن به مشارکت جامعه کاربران و حمایتهای مالی وابسته است.
این سرویس از Git برای مدیریت نسخههای مختلف کد استفاده میکند و امکاناتی مانند مخزن نرمافزار، گزارش مشکلات، بررسی تغییرات و همکاری گروهی را ارائه میدهد.
مهمترین ویژگیهای Codeberg عبارتاند از:
- میزبانی رایگان کد: امکان ایجاد مخزن برای پروژههای آزاد و متنباز بدون پرداخت هزینه.
- حریم خصوصی: تمرکز بر کاهش جمعآوری اطلاعات کاربران و خودداری از تبلیغات و ردیابی تجاری.
- مدیریت گروهی پروژه: پشتیبانی از Issues و Pull Requests برای همکاری برنامهنویسان.
- انتشار نسخه نرمافزار: امکان مدیریت تغییرات و انتشار نسخههای جدید.
- سیستم خودکارسازی: پشتیبانی از Forgejo Actions برای اجرای وظایف توسعه در چارچوب امکانات و محدودیتهای سرویس.
- انتقال پروژه از گیتهاب: امکان وارد کردن مخزن Git و بخشی از اطلاعات مرتبط با آن.
در ژوئیه ۲۰۲۶، Codeberg سیاست خود در قبال استفاده از مدلهای زبانی بزرگ را نیز شفافتر کرد. این سرویس اعلام کرد از اطلاعات میزبانیشده برای آموزش مدلهای زبانی استفاده نخواهد کرد و برای پروژههایی که بهصورت گسترده یا خودکار با هوش مصنوعی تولید میشوند محدودیتهایی در نظر میگیرد.
این محدودیتها به معنی ممنوعیت تمام پروژههایی نیستند که در بخشی از توسعه خود از هوش مصنوعی کمک گرفتهاند. تمرکز اصلی بر استفاده گسترده و خودکار از منابع سرویس است.
چگونه پروژه گیتهاب را به Codeberg منتقل کنیم؟
پس از ایجاد حساب کاربری در Codeberg میتوانید مخزن موجود خود را به این سرویس وارد کنید.
در صفحه اصلی حساب، روی علامت مثبت کلیک کنید و گزینه New Migration را انتخاب کنید. سپس سرویس GitHub را انتخاب کنید و اطلاعات مخزن موردنظر را وارد کنید.
Codeberg → + → New Migration → GitHub
کدبرگ ← افزودن ← مهاجرت جدید ← گیتهاب
برای انتقال مخزنهای خصوصی یا اطلاعاتی مانند گزارش مشکلات ممکن است به توکن دسترسی گیتهاب نیاز داشته باشید.
پس از وارد کردن اطلاعات، مشخص کنید کدام بخشها منتقل شوند. در پایان، مخزن جدید را بررسی کنید تا مطمئن شوید شاخهها و تاریخچه تغییرات بهدرستی وارد شدهاند.
انتقال کامل تمام اطلاعات یک پروژه همیشه امکانپذیر نیست. بهویژه تنظیمات GitHub Actions و بعضی یکپارچهسازیها ممکن است به پیکربندی مجدد نیاز داشته باشند.
معرفی Forgejo؛ ساخت سرور گیت شخصی و جایگزین مستقل گیتهاب
Forgejo گزینه دیگری برای توسعهدهندگانی است که میخواهند کنترل بیشتری بر زیرساخت پروژههای خود داشته باشند.
برخلاف Codeberg که یک سرویس آماده میزبانی کد است، Forgejo نرمافزاری محسوب میشود که میتوانید آن را روی سرور شخصی یا سازمانی نصب کنید.
در واقع، Codeberg نیز برای ارائه بسیاری از امکانات میزبانی خود از Forgejo استفاده میکند.
این نرمافزار از مدیریت مخزن Git و بررسی کد گرفته تا گزارش مشکلات، انتشار نسخهها و اجرای فرایندهای خودکار توسعه پشتیبانی میکند.
مزایای راهاندازی Forgejo روی سرور شخصی
مهمترین مزیت Forgejo این است که برای نگهداری اطلاعات پروژه به یک شرکت ارائهدهنده خدمات ابری وابسته نیستید.
به عنوان مثال، اگر یک تیم برنامهنویسی کوچک دارید، میتوانید Forgejo را روی سرور لینوکس نصب کنید و مخزنهای خصوصی پروژه را فقط در شبکه داخلی شرکت در دسترس قرار دهید.
سایر مزایای این نرمافزار عبارتاند از:
- کنترل اطلاعات: فایلها و تاریخچه توسعه پروژه روی سرور تحت مدیریت شما ذخیره میشوند.
- مدیریت کاربران: امکان تعریف دسترسیهای متفاوت برای اعضای تیم.
- پشتیبانی از مخزن خصوصی: نگهداری کدهای اختصاصی بدون انتشار عمومی.
- قابلیت خودکارسازی: استفاده از Forgejo Actions برای اجرای آزمایش و ساخت نرمافزار.
- نصب با داکر: امکان راهاندازی سریعتر از طریق Docker و ابزارهای مشابه.
- متنباز بودن: امکان بررسی و تغییر کد خود نرمافزار.
البته میزبانی شخصی مسئولیت بیشتری نیز دارد. باید بروزرسانیهای امنیتی را نصب کنید، از اطلاعات نسخه پشتیبان بگیرید و وضعیت دسترسی و پایداری سرور را بررسی کنید.
Forgejo گزینه مناسبی برای تیمهایی است که نمیخواهند وابستگی کاملی به گیتهاب داشته باشند، اما امکانات مشابهی برای مدیریت پروژه نیاز دارند.
معرفی SourceHut؛ جایگزین سبک گیتهاب بدون امکانات هوش مصنوعی
SourceHut یکی دیگر از سرویسهای میزبانی کد است که رویکرد متفاوتی نسبت به گیتهاب و Codeberg دارد.
این پلتفرم بر سادگی، سرعت و استفاده از ابزارهای استاندارد توسعه نرمافزار تمرکز کرده است. رابط کاربری SourceHut سبک است و بسیاری از امکانات آن حتی بدون اجرای جاوااسکریپت در مرورگر کار میکنند.
SourceHut بهجای ارائه یک محیط کاملاً مشابه گیتهاب، مجموعهای از سرویسهای مستقل برای مدیریت پروژه فراهم میکند.
این امکانات شامل موارد زیر هستند:
- میزبانی مخزن کد: پشتیبانی از Git و Mercurial برای مدیریت نسخههای نرمافزار.
- مدیریت مشکلات: ثبت و پیگیری باگها و فعالیتهای توسعه.
- همکاری از طریق ایمیل: استفاده از Mailing List برای بررسی تغییرات و مشارکت گروهی.
- ساخت خودکار نرمافزار: اجرای آزمایشها و وظایف توسعه از طریق سرویس Builds.
- حریم خصوصی: نبود تبلیغات و ردیابی تجاری در سرویس.
- عدم استفاده از قابلیتهای مولد هوش مصنوعی: تمرکز بر ابزارهای سنتی و همکاری انسانی در توسعه نرمافزار.
در اوت ۲۰۲۶، SourceHut شرایط استفاده خود را برای محدود کردن پروژههای وابسته به تولید کد با مدلهای زبانی بزرگ تغییر داد. بنابراین توسعهدهندگانی که بخش زیادی از کد خود را با ابزارهای هوش مصنوعی تولید میکنند باید پیش از انتخاب این سرویس، سیاستهای آن را بررسی کنند.
آیا SourceHut رایگان است؟
نرمافزار SourceHut کاملاً متنباز است و امکان میزبانی شخصی آن وجود دارد. بااینحال، استفاده از سرویس میزبانی عمومی SourceHut در همه شرایط رایگان نیست.
طرحهای اشتراک این سرویس از حدود ۴ دلار در ماه آغاز میشوند و طرحهای گرانتر نیز ارائه شدهاند. در دوره آزمایشی عمومی برخی خدمات بدون پرداخت هزینه در دسترس هستند، اما امکاناتی مانند ساخت خودکار نرمافزار ممکن است به اشتراک نیاز داشته باشند.
همچنین افرادی که توانایی پرداخت هزینه را ندارند میتوانند برای دریافت کمک مالی درخواست دهند.
در مجموع، SourceHut برای برنامهنویسانی مناسب است که محیطی سبک و متمرکز بر ابزارهای استاندارد توسعه میخواهند و به امکانات هوش مصنوعی گیتهاب وابستگی ندارند.
مقایسه بهترین جایگزینهای گیتهاب؛ Codeberg یا Forgejo یا SourceHut؟
انتخاب جایگزین مناسب گیتهاب به نوع پروژه، تعداد اعضای تیم و میزان کنترل موردنیاز بر زیرساخت بستگی دارد.
اگر فقط میخواهید مخزن یک پروژه متنباز را در سرویس دیگری نگهداری کنید، Codeberg میتواند گزینه سادهتری باشد. اما اگر به مخزن خصوصی روی سرور شخصی نیاز دارید، Forgejo انعطاف بیشتری ارائه میدهد.
SourceHut نیز برای توسعهدهندگانی مناسب است که به محیط ساده و سبک و ابزارهای مبتنی بر ایمیل علاقه دارند.
|
ویژگی |
Codeberg |
Forgejo |
SourceHut |
|---|---|---|---|
|
متنباز |
بله |
بله |
بله |
|
میزبانی عمومی آماده |
بله |
نیازمند انتخاب میزبان |
بله |
|
میزبانی شخصی |
از طریق Forgejo |
بله |
بله |
|
مخزن خصوصی |
بله، با محدودیتهای سرویس |
بله |
بله |
|
گزارش مشکلات |
بله |
بله |
بله |
|
ساخت خودکار نرمافزار |
بله، با محدودیت منابع |
بله، با راهاندازی Runner |
بله |
|
هزینه |
رایگان برای استفاده مجاز |
نرمافزار رایگان |
وابسته به نوع استفاده |
|
تمرکز بر حریم خصوصی |
زیاد |
قابل کنترل توسط مدیر سرور |
زیاد |
قبل از انتقال پروژه از گیتهاب چه نکاتی را بررسی کنیم؟
انتقال کدهای یک پروژه معمولاً چندان دشوار نیست؛ زیرا Git یک سیستم مدیریت نسخه توزیعشده است و میتوان تاریخچه مخزن را به میزبان دیگری منتقل کرد.
اما بخش مهمی از یک پروژه نرمافزاری فقط فایلهای کد نیست. گزارش مشکلات، درخواستهای تغییر کد، تنظیمات خودکارسازی و ارتباطات اعضای تیم نیز اهمیت دارند.
پیش از مهاجرت بهتر است موارد زیر را بررسی کنید:
- تاریخچه کد: مطمئن شوید همه شاخهها و تگهای مخزن منتقل میشوند.
- گزارش مشکلات: بررسی کنید آیا سرویس مقصد امکان انتقال Issues و توضیحات آنها را دارد.
- درخواستهای تغییر کد: ممکن است انتقال کامل Pull Requestها یا وضعیت بررسی آنها امکانپذیر نباشد.
- فرایندهای خودکار: فایلهای GitHub Actions و تنظیمات Runnerها ممکن است به تغییر نیاز داشته باشند.
- انتشار نرمافزار: محل دریافت فایلهای نسخههای منتشرشده را بررسی کنید.
- آدرسهای قدیمی: برای جلوگیری از سردرگمی کاربران، مخزن قبلی را به حالت آرشیو یا فقطخواندنی نگه دارید و محل جدید پروژه را مشخص کنید.
همچنین بهتر است پیش از حذف مخزن قدیمی، از تمام اطلاعات مهم نسخه پشتیبان تهیه کنید و انتقال را روی یک پروژه آزمایشی امتحان کنید.
با وجود افزایش توجه به جایگزینهای گیتهاب، این سرویس همچنان امکانات گسترده و جامعه کاربری بزرگی دارد و برای بسیاری از پروژهها انتخاب مناسبی است. در مقابل، Codeberg و Forgejo و SourceHut به توسعهدهندگان اجازه میدهند متناسب با نیازهای خود، وابستگی کمتری به یک شرکت داشته باشند.
در نهایت، مهمترین مزیت جایگزینهای متنباز گیتهاب فقط مخالفت با هوش مصنوعی نیست، بلکه امکان انتخاب شیوه میزبانی، مدیریت اطلاعات و کنترل بیشتر بر فرایند توسعه نرمافزار است.
سادهگو



