My First Kernel Conference

As a former Outreachy intern, I was blessed with the opportunity to present my work at the Open Source Summit Europe 2017 held last October 23 to 26. At the conference I was able to meet my mentors, other Outreachy interns and other people passionate about the Linux Kernel and Open-source.

First Time Speaker

This is my first technical conference and I attended as a speaker. I’m a newbie at public speaking and so I had to make preparations for it months before the conference. I participated in a panel discussion entitled “Outreachy Kernel Internship Report” (slides here), with the entire session lasting about 40 minutes. Since it’s a panel discussion, each participant is allotted 5 minutes to present.

This 5-minute talk can be classified as a lightning talk1 and it’s a good opportunity for first-time speakers like me to hone public speaking skills. The short duration allows you to practice many times!

Talk Preparation

I have read a lot of articles on the Internet about giving lightning talks. One of the resources that stand out was this: How To Give a Great Tech Talk2 which covers all formats not only lightning talks.

I also need to consider speech that promotes inclusiveness and so I took advantage of the free offering that is “Inclusive Speaker Orientation”.

If you are curious about the articles, here are some:

Networking Opportunities

The conference granted the opportunity to meet some of the mentors who were instrumental in my involvement in the Kernel community: Julia Lawall, Daniel Baluta, Rik van Riel and Greg Kroah-Hartman. Apart from meeting mentors in person, I had the opportunity to be introduced to other people in the conference as well as see in person key people in the community like Linus Torvalds.

In as much as I’m grateful of the opportunity, I was not able to make the most out of it. Being a first-time attendee meant that I knew only a handful of people and if it happened I attended a different conference then I absolutely don’t know anyone from the crowd! I’m not particularly shy but it got a hold of me at times especially during the Women in Open Source Lunch sponsored by Adobe.

Women in Open Source Lunch Women in Open Source Lunch Group Photo3

There, I was able to mingle with other women attendees. It’s a regret I didn’t get to introduce myself more to people there, I got tongue-tied and didn’t take much initiative to start even a small-talk! With this experience, now I understand why people dread networking gatherings.

I vow to do better on next opportunity.

Favorite Sessions

Here’s the chronological list of my favorite sessions.

Free and Open Source Software Tools for Making Open Source Hardware - Leon Anavi, Konsulko Group

Consider the design of the case simultaneously with the design of the PCB

According to Leon, open source hardware is a viable business model and there are free and open source tools available for designing such hardware.

A fully open source physical product consist of an open source PCB, open source software and open source case. The session gave awareness on how open hardware is licensed as well as available FOSS tools that can be used to design the PCB and the case.

Fast and Precise Retrieval of Forward and Back Porting Information for Linux Device Drivers - Julia Lawall, Inria

Julia, one of my mentors, presented how Prequel can be used to aid in porting of drivers. If you are familiar with Coccinelle, you’ll be at home with this tool.

Prequel is a patch-like query language for commit history search. To ease driver porting, gcc-reduce was used to reduce error messages and prequel was used to search commit histories.

For 86% of these 80 issues, the first commit returned by Prequel gave the needed information

For the full-picture of the process, you may check out the slides4.

I’m glad this tool exist. I would normally use any of these commands to do something similar:

git log --grep='search string'
git log --pretty=oneline --abbrev-commit -S "search_query"

Search the code based on a keyword:

git grep 'keyword' /path/to/be/searched/

See who did the change and why:

git blame -L line1,linex file_path.c

How Not to be a Good Linux Kernel Maintainer - Bartlomiej Zolnierkiewicz, Samsung Electronics Polska Sp. Z o.o.

No starting guide for new maintainers

For budding new maintainers out there, Bartlomiej pointed out several technical and social mistakes that may happen and provided insight on do’s and what NOT to do in those situations.

Also, Bartlomiej notes that the Documentation/process/ is developer-oriented but except for Documentation/process/management-style.rst5

Dirty Clouds Done Dirt Cheap - Matthew Treinish, IBM

Any guesses what this means

A fun session, Matthew detailed his journey project on building an OpenStack cloud on a $1500 budget with the outlook of someone who has no prior knowledge of OpenStack. What made this more interesting is on the reliance of using release tarballs than using packages which resulted to the the majority of issues encountered.

The project enabled enumeration of areas that need to be improved upon such as that of logging and error reporting.

If you want to learn more about this subject, you may check out this video from another conference and for further details, this blog post.

Why Should We Care About Kernelnewbies! - Vaishali Thakkar, Oracle

Newbies often looks for more ideas but don’t know where to find them

Being a Kernelnewbie myself, I can relate with the difficulties discussed on this session. Vaishali listed the following obstacles in a Kernelnewbies journey:

Setting up an environment

In Outreachy, we have this First Patch tutorial. Having gone through that, I agree with Vaishali that although it helps in setting up an environment for Kernel development, it doesn’t explain how kernel development process6 works.

First successful contribution

Maintainers pick up the patches based on their work flow and these patches get sent through a mailing list. Due to the volume, you may not get a response right away and worse, you’ll have to re-send due to the patch getting lost.

Find tasks for quality contribution

TODO files are often outdated. You may need to post in the mailing list to ask for ideas. Personally, I got this problem before but got around it by asking and/or observing discussions and trends.

Quality contribution in the kernel

Sending patches about a relevant task may need discussing with the community first.

Vaishali proposed the project Kernel Bridge to help address these concerns. If you are interested in contributing, you may check out the slides7 and the GitHub8 page.

Overall, that was a fun week!

I would like to thank the Linux Foundation for providing travel assistance.