August 16, 2021

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

Christos Margiolis

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

I’m a 20 year old Computer Engineering student from Greece and I just finished my second year.

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

No.

Q: Why did you want to work with FreeBSD?

I’m interested in operating systems and FreeBSD is the main OS I use and a project I was already contributing to. Also, my project is something I was planning on working on anyway, so I thought it was a good chance to both work on something I’m truly interested in and for an organization I care about.

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

It’s an attempt to improve the OSS sound mixer on FreeBSD. I’m writing a mixer(3) library, completely rewriting mixer(8), and also updating the sound(4) kernel module with new mixer ioctls. The goal is to provide both programmers and end users with better tools for manipulating the sound mixer. As you probably know, FreeBSD isn’t quite known for its audio utilities, but we’ll get there! 🙂 Find out more here.

Q: What are you hoping to learn from this experience?

First of all, how to work with other people in more professional way — up until now I’ve only worked on my own. As far as the technical aspect is concerned, I have a special interest for sound programming since I’m a musician as well, so I really hope I get better at it.

Q: How has working with the FreeBSD Project been so far?

Great. Communication is clear and the environment is friendly and relaxed.


Khaled Emara

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

My name is Khaled Emara. I’m from Egypt. I’m a rising senior in the Faculty of Engineering – Ain Shams University pursuing a Bachelor in Computer Engineering. 

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

Yes, previously with the X.Org Foundation on GSoC 2019.

Q: Why did you want to work with FreeBSD? 

I have been trying to do a project related to Operating Systems for a while. So, when the program began I started looking for Organizations with this category. I found a few interesting projects in FreeBSD then I talked to the mentors about them and I got pulled in. 🙂

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

XFS was a popular File System created by Silicon Graphics, Inc in 1993. It had a few interesting ideas for its time which made it fast and performant. It was made for the SGI’s IRIX OS. But, soon enough IRIX died and XFS got ported to the Linux kernel where it has been living and maintained there ever since. This project aims to make a port of XFS that runs in userland, not the kernel, through the FUSE kernel interface to run on FreeBSD. A File System is Unix-like OSs program that translates blocks from the storage devices to rooted Tree-like structures with folders and files.

Q: What are you hoping to learn from this experience? 

  • To learn about File Systems.
  • To learn about the Rust programming language.
  • To learn more about the Open Source pipeline.
  • To get to know FreeBSD and hopefully contribute to the project after GSoC.
  • To learn about testing File System in Rust.
  • To learn about the FUSE kernel interface.

Q: How has working with the FreeBSD Project been so far? 

It has been great honestly. My mentors are very helpful and I’m involved in the project’s decision making. The project has been coming on nicely, too. I think I have achieved most of what I came here to do with still a lot to cover over the remaining period.


Simran Kathpalia

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

I am a second-year university student pursuing BTech in Electronics and Computer Engineering at Amrita Vishwa Vidyapeetham, India. I am also part of a cybersecurity team at the university where I do reverse engineering while playing CTFs.

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

No, it’s my first time participating in GSoC and also my first time contributing to open source.

Q: Why did you want to work with FreeBSD? 

I wanted to do a project related to security. More specifically, I was interested to learn about fuzzers and how they work. So I looked for projects in this category. I happened to come across FreeBSD’s project on syzkaller. I looked into syzkaller a bit and I was intrigued to learn more. And then I focused on it solely. 

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

The aim of the project is to enhance the existing state of syzkaller support in FreeBSD. Syzkaller is a crucial tool that has found many bugs for FreeBSD in the past. Syzkaller support can be improved in a number of ways. A few of the subtasks I am focusing on in my project, to generate more bugs are –

  • adding FreeBSD system calls and device drivers(manually and then automating it).
  • fuzzing of FreeBSD’s Linux system call compatibility layer.
  • improving fuzzing for subsystems(USB traffic).

Finally, patching syzkaller reported bugs. 

Q: What are you hoping to learn from this experience? 

I hope to learn about different syscalls and device drivers in FreeBSD, get a deeper knowledge of working with syzkaller and be able to debug and patch kernel-related bugs.

Q: How has working with the FreeBSD Project been so far? 

Working with FreeBSD has been great so far. I have already learned a great deal working on this project. My mentor is very helpful and communicative. I have been able to generate some bugs from the syscalls and device drivers, which I have added to syzkaller. Also, since it is my first time contributing to open source, it’s a very pleasant feeling being part of such a large community already working towards the same goal in which I too am able to contribute in little ways.