If GitHub feels like a noisy social network with notifications every five seconds, SourceHut is the complete opposite. No pull requests. No web interface bullshit. Just email and patches, like the Linux kernel has done for decades.
How Email-Based Development Actually Works
git send-email
is a pain in the ass to configure, but once you get it working, the workflow is actually pretty nice. You send patches to a mailing list. People reply with feedback. Maintainers apply what looks good. No web interface to check every five minutes.
The git-send-email.io tutorial provides an interactive guide to understanding this workflow. Drew DeVault's blog post explains why email patches scale better than GitHub's PR model for high-volume projects.
Alpine Linux and Sway use SourceHut because email-based development eliminates the drive-by comments and notification spam that makes GitHub feel like social media.
The catch? Most developers have never used email for anything serious. git send-email
configuration is arcane - I've seen senior devs spend hours fighting SMTP settings. The SourceHut documentation assumes you already know how mailing lists work. Git's official email workflow docs are written for people who lived through the 90s. Brutal learning curve if your team is used to clicking buttons.
SourceHut deliberately avoids web-based workflows - their culture docs explain why they think GitHub's approach is fundamentally broken. Looking at their mailing list archives, the discussions are way more focused than GitHub's notification hell.
The Self-Hosting Solution: Forgejo for Complete Control
Forgejo is what you get when Gitea's community got pissed about the project going commercial. It's basically GitHub that you run on your own servers.
Self-Hosting: Great Until It Breaks at 2 AM
Self-hosting means you control everything - updates, features, integrations, data. No more "GitHub is down" killing your entire team's productivity. No surprise policy changes. No Microsoft deciding your code is perfect AI training data.
Setup is pretty straightforward if you know Docker. Repositories, issues, pull requests, Actions-compatible CI/CD - it all works like GitHub but faster because it's running on your hardware.
The official Forgejo installation guide covers Docker deployment, database configuration, and reverse proxy setup. Community deployment examples show real production configurations.
I know a team that was burning cash on GitHub Enterprise - something like $700-900/month for their 30-person dev team. Their self-hosted Forgejo setup runs them maybe $150-250/month on AWS depending on usage, handles everything GitHub did, plus they can customize the hell out of it. Custom webhooks, internal integrations, zero external dependencies. Forgejo's webhook documentation shows all the integration stuff that GitHub Enterprise nickel-and-dimes you for.
But when things break, you're fucked. SSL certificate expired at 3 AM and took down the dev team? That's your weekend. Database corruption during a power outage? Hope your backups work. You need someone who actually understands PostgreSQL administration, reverse proxy configuration, and Linux system administration. Forgejo's administration docs show what you're signing up for.
The Enterprise Everything Platform: GitLab's DevOps Integration
GitLab tries to be everything in one place - Git hosting, CI/CD, project management, security scanning, container registry, monitoring. If you're juggling five different tools, it might actually simplify your life.
When Everything-in-One Makes Sense
If you're currently paying for GitHub + Jenkins + Jira + DockerHub + some security scanner, GitLab bundles all that shit into one platform. One login, one support contact, one place where everything breaks at the same time.
The merge request workflow has code quality checks, security scanning, and deployment triggers built in. Compliance dashboards that don't require manual copy-pasting between tools. Container registry that actually talks to your CI/CD without webhook gymnastics.
CERN runs GitLab for the Large Hadron Collider software. If it's good enough for smashing particles, it's probably fine for your web app.
But GitLab Ultimate gets expensive fast - pricing scales with your team size and you need the expensive tiers for the good security features. The interface is cluttered as hell. Setting up the advanced features means reading docs that assume you already know enterprise DevOps buzzwords.
GitLab's migration tools handle GitHub imports well, but CI/CD conversion is mostly manual work. Small teams often find GitLab overwhelming. If you just need Git hosting and basic CI/CD, GitHub's simplicity wins.
The Community-Driven Alternative: Codeberg's Nonprofit Approach
Codeberg is the nonprofit alternative - no corporation trying to monetize your code, just a community-funded platform that runs on donations.
The Nonprofit Difference
Codeberg doesn't have shareholders demanding growth or VCs pushing for exit strategies. It's just developers who wanted a platform that doesn't treat their code as a data source for AI training. Their privacy policy actually means something.
Built on Forgejo, so it works like GitHub with different colors. Privacy-focused projects like Organic Maps moved there when GitHub started getting too cozy with AI companies. F-Droid hosts their open source Android app store there too.
The community actually votes on features through their forum. No product manager pushing changes nobody asked for. Their governance documentation shows how decisions actually get made. When they say "for developers, by developers," they actually mean it.
The downside? It's donation-funded and sometimes slow. European servers mean shit performance if you're in the US. Sometimes goes down during peak hours because it runs on community funding, not enterprise infrastructure.
But it feels good supporting a platform that's not trying to extract value from your work. Their sustainability report shows where your donations go. Just Git hosting that respects your privacy and doesn't change the ToS every six months.
These are your main paths away from GitHub's corporate grip: embrace email workflows, take control through self-hosting, integrate everything with enterprise platforms, or support community-driven alternatives. Each approach requires different technical skills and organizational commitment. The next section breaks down which choice fits your specific workflow and team dynamics.