September 26, 2022
The FreeBSD Project is proud to have participated in the Google Summer of Code program since its inception in 2005. At the completion of the 2022 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.
My name is Jake Freeland and I’m in the process of getting a bachelor’s in computer science at the University of Minnesota. My planned graduation date is December of 2023 and I am considering post-graduate education as a kernel engineer and driver developer.
Q: Have you ever worked with Google Summer of Code before?
I have not.
Q: Why did you want to work with FreeBSD?
I actively use FreeBSD on my home workstations and servers. The documentation is thorough, the OS components are logically engineered, and I believe in its distribution philosophy. This combination prompted me to get involved with the project to contribute and make the desktop experience better.
Q: Please tell us a little about your Google Summer of Code project.
Intel’s igt-gpu-tools is a generic drm driver testing suite for Linux. IGT’s tests and tools help debug flaws in kernel mode setting, memory management, and command submission for modern graphics drivers.
I ported igt-gpu-tools from Linux to FreeBSD over the summer. The task was not as simple as copying over the code. Instead, I spent most of my time implementing missing Linux libraries and functions into the FreeBSD SRC tree. You can view the work here if you’re interested: https://cdaemon.com/posts/gx9tI1NQ.
Q: What have you learned from this experience?
The general intuition that I’ve obtained through working with the FreeBSD kernel is invaluable. I knew a good amount about machine architecture before starting the port, but I was unfamiliar with standard coding conventions, heavy use of C macros, and the complexity of large projects. Participating in Google Summer of Code helped me familiarize myself with kernel and driver development, setting me up for a future career in low-level computer engineering.
Q: How has working with the FreeBSD Project been?
Working with the FreeBSD community has been enlightening. The majority of members that I have personally spoken with are motivated to improve the FreeBSD experience. Assistance was abundant, especially through the freebsd-hackers mailing list and my mentor, Joseph Mingrone. I am grateful to be part of FreeBSD and I am planning on becoming a committer in the future.