August 24, 2023

The FreeBSD Project is proud to have participated in the Google Summer of Code program since its inception in 2005. As we near the completion of the 2023 season, the Foundation asked a few of our GSoC students to share more about themselves and their experience working with the Project.

Q: Tell us a little bit about yourself and where you are in your education journey.

I’m Soobin Rho, and this will be my third year attending Augustana University, which is located in South Dakota. I’ll be graduating in 2025. I study philosophy, math, and computer science.

Born in South Korea, but raised in Dubai, I came to US a few years ago to attend college. My goal is to work in a great, mission-driven company during the day, and spend my free time doing stuff I truly care about, such as open-source projects for the environment and sustainability.

Q: Have you ever worked with Google Summer of Code before? 

No, GSoC 2023 is my first. I read about GSoC first on Hacker News. One of the comments said FreeBSD is one of the participating open-source projects. So, I applied. I chose my project from FreeBSD wiki’s GSoC project ideas list.

Q: Why did you want to work with FreeBSD? 

I tried a lot of operating systems, which I’m not going to name, and alongside with a lot of desktop environments. At the end, however, at least for now, I’ve decided that my favorite coding environment is FreeBSD with vim and tmux without any desktop environment with just the terminal.

Of course, I resort back to other operating systems from time to time whenever I need to do stuff with GUI. Nonetheless, it just feels right. I’m doing all of my dev stuff through FreeBSD. Joining GSoC 2023 was my first time contributing to FreeBSD, but I also intend to stay as a contributor and keep maintaining the mfsBSD integration.

Q: Please tell us a little about your Google Summer of Code project.

Speaking of mfsBSD, which was created in 2007 by Matuska, mfs stands for memory file system. Basically, once you install mfsBSD into a system and boot into it, all of the operating system is now running under a memory file system. What this means is that you can do a lot of stuff now, such as recovery operations and system diagnostics. Especially, my favorite use case for mfsBSD is for one of my laptops with just one drive. I can boot mfsBSD in the drive and then install FreeBSD on the exact drive that I installed mfsBSD at. Since every file in mfsBSD was moved and loaded to the memory file system, the original drive can be even deleted and overwritten with a completely new FreeBSD instance using `bsdinstall` from mfsBSD.

My project integrates mfsBSD into the FreeBSD release tool set, such that mfsBSD images (.img for disc and .iso for opticals) will now be available at the FreeBSD homepage1.

Q: What have you learned from this experience so far? 

I didn’t know anything about MAKE(1) before taking on this project. Reading `/usr/src/Makefile` and `/usr/src/release/Makefile` helped me a lot. Also, it was extremely valuable to read `/usr/src/release/Makefile.vm`, and in fact, a lot of my code is based on these makefiles.

Q: How has working with the FreeBSD Project been?

Fun and exciting! It was fun to have a weekly meeting with my mentors, Joseph Mingrone and Juraj Lutter. It was exciting to see my code producing mfsBSD images I can use myself, as well as for a lot of others whoever needs them.