The Linux Foundation’s Training Scholarship Program has awarded 34 scholarships totaling more than $100,000 in free training to students and professionals during the past five years. In this series, we are featuring recent scholarship recipients with the hope of inspiring others.
Vaishali Thakkar is a scholarship recipient in the Kernel Guru category. She lives in India and recently completed an Outreachy internship on project Coccinelle. The goal of her project was replacing out-of-date API uses and deprecated functions and macros in the Linux kernel with more modern equivalents. She began contributing to the Linux kernel almost a year ago, and her first contribution was running a Coccinelle semantic patch over staging directory files. She says the excitement of having that first patch accepted was amazing, and she hopes some day to have her dream job of “Linux Kernel Engineer.”
How did you become interested in Linux and open source?
I was introduced to Linux from one of my university courses on operating systems. But, I ended up playing with some basic commands and trying a few Linux distros in virtual machines only.
My real interest in Linux began when I met with an accident and my leg was fractured. After the operation, doctors told me that I could not walk for at least 2 to 3 months. I always wanted to know more about Linux and open source, but I couldn’t find time because of many reasons. So, that was the perfect opportunity for me to dive into the Linux kernel and open source related stuff. I installed a Linux distro on my machine, learned Python, and tried to fix my neighbor’s PC, which was having problem with wireless drivers. I guess a lot of the fun was figuring out how to do things by myself and tweaking those things in ways to make them do something else.
What Linux Foundation course do you plan to take with your scholarship?
I am planning to take the Developing Linux Device Drivers (LFD331) course in October.
How do you expect to use the knowledge you gain from the course?
I think the course will help me understand how a device driver can be written from a scratch and what are some important points to understand while developing different device drivers. I expect to use this knowledge to submit higher level patches to the Linux kernel.
What are your career goals? How do you see a Linux Foundation course helping you achieve those goals?
One of my career goals is to get a job as a Linux kernel engineer and eventually rise to the level of kernel subsystem maintainer. I hope to gain a deeper understanding of the kernel drivers through the Linux Foundation course, which will help me in submitting higher quality patches in the kernel and getting my dream job with the “Linux Kernel Engineer” title.
What other hobbies or projects are you involved in? Do you participate in any open source projects at this time?
I have contributed to the Linux kernel since last year. Currently, I am working on correcting some incorrect uses of resource managed (devm*) functions in the Linux kernel and making use of some newly introduced functions where possible. I am also helping newbies to start with Linux kernel development and sending patches in lkml.
Additionally, I also worked on removing/replacing some driver specific macros/functions with standard Linux API macros/functions. This helped me to understand various kernel API functions and their usage. I also worked on network drivers to correct endianness errors. These days, I am working on removing module init/exit boilerplate code with standard helper macros. I have introduced some new helper macros, too. My contributions to the Linux kernel can be found here.
[Update: Since this interview was done, Vaishali has joined Oracle as a Linux Kernel Engineer.]