FOSS Outreach Program for Women (OPW) Linux Kernel Internship Report
What is OPW? ● Organized by the GNOME Foundation ● Goal: Get more women into open source ● Internship: – 3 months – $5,500 stipend – Paired with mentor ● Program runs twice a year – May - Aug – Dec - March
Who can apply as interns? ● Women, genderqueer, genderfluid, and genderfree people ● Don't have to be a student ● Must be able to work full-time ● Can work remotely ● Ascend Project alumni – Branching out into including other minorities
Which projects are involved?
How are kernel internships paid? Round 8 Promoter (3 interns) Round 8 Includers (1 intern)
Round 9 applications open! ● This round: – applications opened September 22 – applications due Oct 31 – internships run Dec 9 - March 9 https://wiki.gnome.org/ OutreachProgramForWomen
OPW Kernel Internships Results ● 3 OPW rounds ● 16 alumni ● Top kernel contributors in 3.11, 3.12, 3.13, 3.14 ● 1,157 patches from OPW interns & alumni CC BY flickr Philo Nordlund ● diff stat: +44,148, -205,758
Creating a Pipeline ● 4 alumni hired as Linux kernel developers – Intel, Linaro, Oracle, OnApp ● 1 alumni hired by Citrix – working on a proprietary project CC BY-SA flickr flazingo
How can I help out with OPW? ● Companies and individuals can: – Donate funds towards OPW interns – Talk to OPW coordinators <opw-admins@gnome.org> ● Linux kernel developers can: – Review application patches – Help out on IRC – Volunteer as mentors – Talk to Sarah Sharp <sarah.a.sharp@intel.com> ● Career counseling, job placement
OPW Linux Kernel Alumni Presentations
S t a g i n g d r i v e r c l e a n u p s K r i s t i n a M a r t š e n k o M e n t o r : G r e g K r o a h - H a r t m a n
$ ls drivers/staging/ Kconfig gdm72xx panel staging.c Makefile goldfish phison ste_rmi4 android gs_fpgaboot quickstart tidspbridge bcm iio rtl8188eu unisys ced1401 imx-drm rtl8192e usbip comedi keucr rtl8192u vme cptm1217 line6 rtl8712 vt6655 crystalhd lustre rtl8723au vt6656 cxt1e1 media rtl8821ae winbond dgap mt29f_spinand rts5139 wlags49_h2 dgnc netlogic rts5208 wlags49_h25 dgrp nokia_h4p sbe-2t3e3 wlan-ng et131x nvec sep xgifb frontier octeon serqt_usb2 xillybus ft1000 octeon-usb silicom fwserial olpc_dcon slicoss gdm724x ozwpan speakup
d r i v e r s / m e d i a / d r i v e r s / s t a g i n g / m e d i a /
H i _ _ _ _ _ , I ' m h e l p i n g G r e g d o a b i t o f c l e a n u p i n t h e s t a g i n g t r e e . I n o t i c e d t h a t n o b o d y s e e m s t o h a v e w o r k e d t o w a r d s m o v i n g _ _ _ _ _ o u t o f s t a g i n g i n o v e r a y e a r . A r e t h e r e a n y p l a n s t o c l e a n i t u p a n d m o v e i t o u t s o o n ? B e c a u s e o t h e r w i s e w e ' r e g o i n g t o h a v e t o d e l e t e t h e d r i v e r , a s w e d o n ' t w a n t s t a g i n g t o b e c o m e a p e r m a n e n t p l a c e f o r u n fj n i s h e d c o d e . T h a n k s , K r i s t i n a
“ I n o l o n g e r h a v e a c c e s s t o t h e h a r d w a r e s o I ' m n o t p l a n n i n g o n d o i n g a n y m o r e w o r k o n i t . ” “ I r e c o m m e n d t h a t k e r n e l d r o p i t . I t ' s b e e n a n n i c e r u n b u t i t ' s t i m e t o m o v e o n . ”
“ I w i l l c o n t i n u e w o r k i n g o n t h i s d r i v e r . P l e a s e l e a v e t h i s d r i v e r i n s t a g i n g i f p o s s i b l e . ” “ I t h i n k I c a n d o t h i s k i n d o f c l e a n i n g s t u fg i n t h e n e x t f e w w e e k s , a n d I h a v e n e e d e d h a r d w a r e t o t e s t . ”
“ We a r e w o r k i n g o n n e x t s e t o f p a t c h e s f o r t h i s d r i v e r , i t i s i n fj n a l s t a g e , w i l l b e p o s t i n g i t s o o n . ”
?
$ ls drivers/staging/ Kconfig gdm72xx panel staging.c Makefile goldfish phison ste_rmi4 android gs_fpgaboot quickstart tidspbridge bcm iio rtl8188eu unisys ced1401 imx-drm rtl8192e usbip comedi keucr rtl8192u vme cptm1217 line6 rtl8712 vt6655 crystalhd lustre rtl8723au vt6656 cxt1e1 media rtl8821ae winbond dgap mt29f_spinand rts5139 wlags49_h2 dgnc netlogic rts5208 wlags49_h25 dgrp nokia_h4p sbe-2t3e3 wlan-ng et131x nvec sep xgifb frontier octeon serqt_usb2 xillybus ft1000 octeon-usb silicom fwserial olpc_dcon slicoss gdm724x ozwpan speakup
$ ls drivers/staging/ Kconfig gdm72xx panel staging.c Makefile goldfish phison ste_rmi4 android gs_fpgaboot quickstart tidspbridge bcm iio rtl8188eu unisys ced1401 imx-drm rtl8192e usbip comedi keucr rtl8192u vme cptm1217 line6 rtl8712 vt6655 crystalhd lustre rtl8723au vt6656 cxt1e1 media rtl8821ae winbond dgap mt29f_spinand rts5139 wlags49_h2 dgnc netlogic rts5208 wlags49_h25 dgrp nokia_h4p sbe-2t3e3 wlan-ng et131x nvec sep xgifb frontier octeon serqt_usb2 xillybus ft1000 octeon-usb silicom fwserial olpc_dcon slicoss gdm724x ozwpan speakup
I I O v o l t a g e c u r r e n t t e m p e r a t u r e a c c e l e r a t i o n h u m i d i t y l i g h t p r o x i m i t y . . .
M X S L R A D C t o u c h s c r e e n A D C g e n e r a l - p u r p o s e A D C d i e t e m p e r a t u r e b a t t e r y v o l t a g e . . .
M X S L R A D C t o u c h s c r e e n A D C g e n e r a l - p u r p o s e A D C d i e t e m p e r a t u r e b a t t e r y v o l t a g e . . . d r i v e r s / i n p u t / t o u c h s c r e e n /
M X S L R A D C t o u c h s c r e e n A D C g e n e r a l - p u r p o s e A D C d i e t e m p e r a t u r e b a t t e r y v o l t a g e . . . d r i v e r s / i i o / d r i v e r s / i n p u t / t o u c h s c r e e n /
d r i v e r s / m f d / d r i v e r s / i i o / d r i v e r s / i n p u t / t o u c h s c r e e n /
i n t e r r u p t h a n d l i n g t o u c h s c r e e n s d e v i c e t r e e s D i n p u t M F I I O l o c k i n g h w m o n A D C s u d e v s y s f s c l o c k s d e b u g f s g e m b e d d e d d e v i c e s t r a c i n
d r i v e r s / m f d / d r i v e r s / i i o / d r i v e r s / i n p u t / t o u c h s c r e e n /
F u t u r e p l a n s
Hacking the Linux kernel with Coccinelle Himangi Saraogi, Linux kernel intern, FOSS Outreach Program for Women Round 8 LinuxCon Europe 2014
Introduction ● Computer Science studentm from IIIT- Hyderabad, India currently in my pre-final year. ● Summer Intern for the May-August 2014 round. ● Worked on cleaning up code in the Linux kernel using Coccinelle with Julia Lawall.
How I got Involved ● Linux had been my primary operating system at the university. ● While learning operating systems, I found some exercises to be practiced on the kernel. ● Motivation - Contributing with a great community to impact thousands of users and developers worldwide.
My project Develop/harden coccinelle semantic patches to integrate into the kernel. What Coccinelle can do? ● Static analysis to find patterns in C source code. ● Automatic transformation to fix bugs. ● Generate different information of bugs based on patch notation.
What I did? ● Identify bugs that are prevalent across the kernel. (coccinellery) ● Send patches solving the bug to discuss whether it is an issue of concern. ● Develop coccinelle scripts to fix those bugs. ● Analyze results of the scripts. ● Send patches for the scripts to be accepted into the kernel.
Recommend
More recommend