A few weeks ago I had never touched a mobile core network. I didn't know what an EPC was, what AGW stood for, or why anyone would run a 4G stack on their laptop. Today I've deployed one, fixed a production bug in it, and submitted a PR that's now part of the codebase. Here's how that happened.
## what is Magma?
Magma is a Linux Foundation Networking project — an open-source mobile core network platform that lets you deploy 4G and 5G infrastructure without expensive proprietary hardware. Think of it as the software that sits between your phone and the internet when you're on a cellular network.
I joined as a mentee with basically zero knowledge of telecom. What followed was one of the most intense technical learning experiences I've had.
## what I actually did
### deploying the 4G/5G stack
The first challenge was just getting the thing running. Magma's Access Gateway (AGW) runs inside Docker containers, and the setup involves coordinating a lot of moving parts — orchestration, subscriber databases, the gateway itself. Getting through that process from scratch forced me to understand what each component actually does.
### finding the Ubuntu 24.04 breakage
Once the environment was running, I started auditing the Dockerfiles. The project had accumulated dependencies that silently broke on newer Ubuntu. Specifically:
python3-distutils— removed from Ubuntu 24.04, package installs fail quietlylibssl1.1— not available on 24.04, replaced bylibssl3
These aren't the kind of errors that scream at you. You have to actually look at what the Dockerfile is requesting and check whether it still exists in the target OS.
### the fix: 14 files, one PR
The fix wasn't just swapping package names. It involved:
- Updating
subscriberdbDockerfile to use Ubuntu 24.04 as base - Replacing deprecated packages with their 24.04 equivalents
- Updating the GitHub Actions CI workflow to test against a matrix of ubuntu-20.04 and ubuntu-24.04
- Tracing the breakage across 14 files where assumptions about the OS were baked in
The CI matrix strategy means future contributors will catch OS-specific breakage before it ships. That felt meaningful — not just fixing something, but making it harder to break again.
## what surprised me
The biggest surprise was how much of open-source maintenance is just archaeology. Code accumulates assumptions — about the OS, about what packages exist, about what version of Python is installed. Nobody documents these assumptions because at the time they were obvious. Finding and fixing them requires reading carefully and thinking about what the code expects, not just what it does.
The second surprise was how approachable it all was once I started. Telecom infrastructure sounds intimidating. But it's just software, running in containers, with logs you can read.
## what I'm doing next
Continuing to contribute to Magma while going deeper on the ML side — agentic AI frameworks, reading research papers, and building projects that connect both worlds. Writing about all of it here.
## Mentorship program -Graduated
Finally after all this learnings and the contributions my Linux Magma Mentorship for the spring of 2026 was over. I received the badge of completion of the project as a mentee.The credentials and the Badge is here https://www.credly.com/badges/adad8227-2748-4473-8297-faa8493f1704/public_url Grateful for the help i received during the mentrship ! On to the next one