September 7, 2023
The Foundation has continued our successful partnership with the University of Waterloo Co-Op Program. Since 2017 we’ve had 15 interns, some having returned for more than one internship. We’ve also had two interns become full-fledged committers, and many continue to contribute. We sat down with this year’s Summer Co-Op Student to learn more about them and why they chose to work with FreeBSD.
Name: Naman Sood
Q: Tell us a little bit about yourself and where you are in your education journey.
I’m from India, and I came to Canada in 2019 to attend the University of Waterloo and study computer science. I’m currently halfway through my fourth year, and intend to graduate in Spring 2024.
Q: How many co-ops have you held?
FreeBSD was my fifth co-op term.
Q: Why did you want to work for the FreeBSD Foundation?
I’ve always enjoyed writing low-level code that deals with the nitty-gritty of computer hardware and provides a neat interface to other programs. The FreeBSD Foundation provided a unique opportunity to actually work on a real-world system used by people worldwide that involved exactly this kind of work. In addition to that, the experience of working in an open source ecosystem was an incredible learning experience, in terms of making me feel more comfortable contributing to the software I use every day.
Q: What are you hoping to learn from this internship?
The biggest thing I wanted to take away from this internship was having some experience with hacking on a real, production-ready operating system kernel. The operating systems course at my university was fantastic, but it was more of a guided tour of overall concepts. It skated over a lot of the intricate details that I think make working at a low level fun, and FreeBSD gave me practice and experience working exactly in this sort of an environment.
Q: What are you currently working on?
I’m currently trying to port parts of the VPS subsystem for FreeBSD (http://www.7he.at/freebsd/vps/) from FreeBSD 10 to 14 – specifically, I’m looking to port TCP checkpointing and failover across processes. This would be useful in case, for example, if you had a multi-process web server and one process died, it could hand off its TCP connection to another process. From the client’s perspective, things could continue to work unimpeded even in the face of this failure.
Q: How has the FreeBSD experience been so far?
It’s been great! There have been challenges, both technical and social, that arise naturally as a consequence of being a large, volunteer-driven open source software project. But those challenges are what I came here to face, and I’ve had an extremely informative and enjoyable time with the work that I was able to do.